ticket: split mcp stdio roadmap

This commit is contained in:
2026-06-20 14:34:00 +09:00
parent 356d06ef58
commit 75e8103cdd
28 changed files with 486 additions and 29 deletions
@@ -0,0 +1,13 @@
{
"version": 1,
"relations": [
{
"ticket_id": "00001KVHR3WSD",
"kind": "depends_on",
"target": "00001KVHR3WS6",
"note": "tools/call execution requires registered MCP tools.",
"author": "yoi ticket",
"at": "2026-06-20T05:33:03Z"
}
]
}
+43
View File
@@ -0,0 +1,43 @@
---
title: 'MCP: execute tools/call through ordinary Tool path'
state: 'ready'
created_at: '2026-06-20T05:30:04Z'
updated_at: '2026-06-20T05:33:03Z'
assignee: null
readiness: 'implementation_ready'
risk_flags: ['mcp', 'tools-call', 'permission', 'history', 'bounded-output']
---
## Background
After MCP tools are registered through ToolRegistry, invoking a Yoi MCP-backed tool should call the server's `tools/call` and return a bounded ordinary Tool result. Permission denial must happen before sending a request to the MCP server.
## Requirements
- Route registered MCP tool invocation to MCP `tools/call`.
- Apply existing PreToolCall / Tool permission path before MCP server call.
- If permission is denied, do not send `tools/call` to the server.
- Distinguish normal result, MCP `isError: true`, and JSON-RPC protocol error.
- Serialize MCP result forms boundedly: `content[]`, `structuredContent`, `isError`, `_meta`, and supported rich content summaries.
- Store result through ordinary Tool result/history path.
- Treat all content as untrusted.
## Acceptance criteria
- MCP mock tool returns normal result through ordinary Yoi Tool result.
- MCP `isError: true` is represented distinctly from JSON-RPC protocol failure.
- Permission denied call is not sent to the MCP server.
- Oversize/rich results are bounded/truncated or rejected according to explicit policy.
- Tool history shows ordinary tool call/result, not hidden context injection.
- Tests cover normal result, `isError`, protocol error, permission denial, and output bounds.
## Non-goals
- resources/read or prompts/get.
- list_changed notifications.
- Sampling/elicitation.
## Related work
- Depends on `00001KVHR3WS6`.
- Objective: `00001KTR80WMN`.
+7
View File
@@ -0,0 +1,7 @@
<!-- event: create author: "yoi ticket" at: 2026-06-20T05:30:04Z -->
## 作成
LocalTicketBackend によって作成されました。
---