1.8 KiB
1.8 KiB
Resolution
00001KVHR3WSD を完了しました。
実装内容:
- MCP
tools/calltyped request/result/content types を追加しました。 McpStdioClient::call_tool(...)を追加しました。- MCP discovered tool の discovery-only stub を executable
McpStdioToolに置き換えました。 - Execution は configured stdio MCP server を spawn/initialize し、
tools/callを送信して shutdown します。 - Permission denial は ordinary Worker
PreToolCallpath により Tool execution 前に適用されるため、denied call は MCP server に送信されません。 - Results は ordinary Tool result/history path を通ります。Hidden context injection はありません。
- Normal MCP result、MCP
isError: true、JSON-RPC protocol error を区別しました。 - MCP content / structuredContent /
_meta/ rich output は untrusted data として bounded に serialization されます。 - Image/audio data は raw payload を落とし、size metadata のみ残します。
- Resources/read、prompts/get、list_changed、sampling、elicitation は実装していません。
主な commit:
9a245403 mcp: execute stdio tool calls399a9d43 merge: mcp tools call
Review:
- r1 は
approve。 - Reviewer は permission-before-call、ordinary Tool result/history path、
isErrorと protocol error の区別、bounded/untrusted result handling、out-of-scope surface が無いことを確認しました。
最終 validation:
cargo fmt --checkgit diff --check HEAD^1..HEADcargo test -p mcp --test stdio_lifecyclecargo test -p pod feature::mcpcargo check -p mcp -p podnix build .#yoi --no-link
Package impact:
nix path-info -S .#yoi:113196368
Validation log:
/run/user/1000/yoi/yoi-orchestrator/bash-output/bash-lkjYsX.log