ticket: split mcp stdio roadmap
This commit is contained in:
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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`.
|
||||
@@ -0,0 +1,7 @@
|
||||
<!-- event: create author: "yoi ticket" at: 2026-06-20T05:30:04Z -->
|
||||
|
||||
## 作成
|
||||
|
||||
LocalTicketBackend によって作成されました。
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user