2.1 KiB
2.1 KiB
Resolution
00001KVHR3WS6 を完了しました。
実装内容:
- MCP
tools/listprotocol result/tool types と bounded pagination helper をcrates/mcpに追加しました。 - MCP stdio discovery feature module を
crates/podに追加しました。 - Configured stdio server を initialize し、bounded
tools/listを呼び、server-provided tool metadata を untrusted data として検証・正規化して ToolRegistry contribution path に登録します。 - Tool names は server namespace を含む stable namespaced name(例:
Mcp_<server>_<tool>)に正規化されます。 - Invalid schema、duplicate/colliding normalized names は bounded diagnostics で fail-closed になります。Collision 時は該当 normalized identity は model-visible tool になりません。
- Server metadata / annotations / instructions は Yoi instructions, scope, permissions, system/developer instructions を弱める authority として扱いません。
- Registration は existing protocol-provider / ToolRegistry contribution path を通ります。
- This Ticket は
tools/callexecution を実装していません。Registered discovery-only stub は explicit not-implemented error を返し、MCPtools/callは送信しません。 - Resources/prompts/list_changed は実装していません。
主な commit:
66fa9d55 mcp: register stdio server tools0080c5b3 mcp: reject colliding tool namesa1f904b8 merge: mcp tool registration
Review:
- r1 は duplicate/colliding normalized MCP tool names が diagnostic-only で fail-closed でないため
request_changes。 - Coder が collision handling を修正し、該当 identity が model-visible にならない test を追加。
- r2 は
approve。
最終 validation:
cargo fmt --checkgit diff --check HEAD^1..HEADcargo test -p mcp list_tools --test stdio_lifecyclecargo test -p pod feature::mcp --libcargo test -p mcpcargo check -p pod -p mcpnix build .#yoi --no-link
Package impact:
nix path-info -S .#yoi:113089912
Validation log:
/run/user/1000/yoi/yoi-orchestrator/bash-output/bash-SnBew4.log