2.3 KiB
2.3 KiB
| title | state | created_at | updated_at | assignee | readiness | risk_flags | queued_by | queued_at | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MCP: register server tools into ToolRegistry | closed | 2026-06-20T05:30:04Z | 2026-06-20T08:46:32Z | null | implementation_ready |
|
workspace-panel | 2026-06-20T05:58:58Z |
Background
Once a configured MCP stdio server can initialize, Yoi should expose provider-discovered MCP tools as ordinary model-visible Yoi tools through the existing ToolRegistry path. Server-provided tool metadata and schemas are untrusted data.
This Ticket only registers tools discovered through tools/list at provider initialization / safe refresh boundaries. It does not implement tools/call execution and does not allow model-visible tool schema mutation during an active run.
Requirements
- Call MCP
tools/listafter initialize where supported. - Handle pagination / bounded listing.
- Normalize MCP tool names into stable namespaced Yoi tool names that include server namespace.
- Validate/normalize tool descriptions and input schemas as untrusted metadata.
- Reject invalid schemas, duplicate names, and collisions fail-closed with diagnostics.
- Register provider-discovered tool contributions through
pod::feature/ normal ToolRegistry path; no private MCP bypass. - Keep model-visible tool schema run-stable;
list_changedhandling is a later safe-boundary refresh/diagnostic problem, not mid-run mutation. - Do not register resources/prompts in this Ticket.
Acceptance criteria
- Provider-discovered MCP mock server tool appears as model-visible Yoi tool with stable namespaced name.
- Invalid schema is rejected with bounded diagnostic.
- Duplicate/colliding names are rejected fail-closed.
- Server metadata cannot weaken Yoi instructions/scope/permissions.
- No
tools/callrequest is sent during registration. - Active-run model-visible schema is not mutated by this registration path.
- Tests cover valid registration, pagination/bounds, invalid schema, duplicate/collision, untrusted metadata normalization, and run-stable schema behavior.
Non-goals
- MCP tool execution.
- Resources/prompts operations.
- list_changed notifications.
Related work
- Depends on
00001KVHR3WRY. - Objective:
00001KTR80WMN.