ticket: close mcp tool registration
This commit is contained in:
parent
7abe13f23d
commit
381db88e33
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
title: 'MCP: register server tools into ToolRegistry'
|
title: 'MCP: register server tools into ToolRegistry'
|
||||||
state: 'done'
|
state: 'closed'
|
||||||
created_at: '2026-06-20T05:30:04Z'
|
created_at: '2026-06-20T05:30:04Z'
|
||||||
updated_at: '2026-06-20T08:46:10Z'
|
updated_at: '2026-06-20T08:46:32Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
readiness: 'implementation_ready'
|
readiness: 'implementation_ready'
|
||||||
risk_flags: ['mcp', 'tools-list', 'tool-registry', 'schema', 'untrusted-metadata']
|
risk_flags: ['mcp', 'tools-list', 'tool-registry', 'schema', 'untrusted-metadata']
|
||||||
|
|
|
||||||
39
.yoi/tickets/00001KVHR3WS6/resolution.md
Normal file
39
.yoi/tickets/00001KVHR3WS6/resolution.md
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
## Resolution
|
||||||
|
|
||||||
|
`00001KVHR3WS6` を完了しました。
|
||||||
|
|
||||||
|
実装内容:
|
||||||
|
- MCP `tools/list` protocol 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/call` execution を実装していません。Registered discovery-only stub は explicit not-implemented error を返し、MCP `tools/call` は送信しません。
|
||||||
|
- Resources/prompts/list_changed は実装していません。
|
||||||
|
|
||||||
|
主な commit:
|
||||||
|
- `66fa9d55 mcp: register stdio server tools`
|
||||||
|
- `0080c5b3 mcp: reject colliding tool names`
|
||||||
|
- `a1f904b8 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 --check`
|
||||||
|
- `git diff --check HEAD^1..HEAD`
|
||||||
|
- `cargo test -p mcp list_tools --test stdio_lifecycle`
|
||||||
|
- `cargo test -p pod feature::mcp --lib`
|
||||||
|
- `cargo test -p mcp`
|
||||||
|
- `cargo check -p pod -p mcp`
|
||||||
|
- `nix 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`
|
||||||
|
|
@ -346,3 +346,58 @@ Final state:
|
||||||
Implementation was merged into Orchestrator branch at `a1f904b8`, r2 review approved, and final Orchestrator validation passed: `cargo fmt --check`, `git diff --check HEAD^1..HEAD`, focused `mcp` and `pod feature::mcp` tests, `cargo check -p pod -p mcp`, and `nix build .#yoi --no-link`.
|
Implementation was merged into Orchestrator branch at `a1f904b8`, r2 review approved, and final Orchestrator validation passed: `cargo fmt --check`, `git diff --check HEAD^1..HEAD`, focused `mcp` and `pod feature::mcp` tests, `cargo check -p pod -p mcp`, and `nix build .#yoi --no-link`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- event: state_changed author: hare at: 2026-06-20T08:46:32Z from: done to: closed reason: closed field: state -->
|
||||||
|
|
||||||
|
## State changed
|
||||||
|
|
||||||
|
Ticket を closed にしました。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: close author: hare at: 2026-06-20T08:46:32Z status: closed -->
|
||||||
|
|
||||||
|
## 完了
|
||||||
|
|
||||||
|
## Resolution
|
||||||
|
|
||||||
|
`00001KVHR3WS6` を完了しました。
|
||||||
|
|
||||||
|
実装内容:
|
||||||
|
- MCP `tools/list` protocol 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/call` execution を実装していません。Registered discovery-only stub は explicit not-implemented error を返し、MCP `tools/call` は送信しません。
|
||||||
|
- Resources/prompts/list_changed は実装していません。
|
||||||
|
|
||||||
|
主な commit:
|
||||||
|
- `66fa9d55 mcp: register stdio server tools`
|
||||||
|
- `0080c5b3 mcp: reject colliding tool names`
|
||||||
|
- `a1f904b8 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 --check`
|
||||||
|
- `git diff --check HEAD^1..HEAD`
|
||||||
|
- `cargo test -p mcp list_tools --test stdio_lifecycle`
|
||||||
|
- `cargo test -p pod feature::mcp --lib`
|
||||||
|
- `cargo test -p mcp`
|
||||||
|
- `cargo check -p pod -p mcp`
|
||||||
|
- `nix 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`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user