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,21 @@
{
"version": 1,
"relations": [
{
"ticket_id": "00001KVHR3WRY",
"kind": "depends_on",
"target": "00001KVHR3WRF",
"note": "Lifecycle client requires explicit local stdio MCP config/trust policy.",
"author": "yoi ticket",
"at": "2026-06-20T05:33:03Z"
},
{
"ticket_id": "00001KVHR3WRY",
"kind": "related",
"target": "00001KTR81P9X",
"note": "MCP lifecycle uses the protocol-backed provider feature substrate.",
"author": "yoi ticket",
"at": "2026-06-20T05:33:03Z"
}
]
}
+49
View File
@@ -0,0 +1,49 @@
---
title: 'MCP: implement stdio JSON-RPC lifecycle client'
state: 'ready'
created_at: '2026-06-20T05:30:04Z'
updated_at: '2026-06-20T05:33:03Z'
assignee: null
readiness: 'implementation_ready'
risk_flags: ['mcp', 'stdio', 'json-rpc', 'process-lifecycle', 'diagnostics']
---
## Background
After MCP local stdio server config exists, Yoi needs a lifecycle client that can start a configured server, speak newline-delimited JSON-RPC over stdio, perform MCP initialize/capability negotiation, and shut down safely.
This Ticket creates the protocol/lifecycle foundation only. It does not expose MCP tools/resources/prompts to the model-visible ToolRegistry.
## Requirements
- Spawn configured local stdio MCP servers from explicit config only.
- Use stdin/stdout newline-delimited JSON-RPC.
- Treat stdout as protocol messages.
- Treat stderr as bounded diagnostics/logging, not automatic protocol failure.
- Implement initialize, capability negotiation, and notifications/initialized.
- Track server name and startup phase in diagnostics.
- Implement graceful shutdown, terminate, and kill fallback.
- Handle process exit/disconnect/startup failure with bounded diagnostics.
- Do not declare sampling or elicitation client capabilities initially.
- Add local mock MCP server tests.
## Acceptance criteria
- Mock local stdio MCP server initializes successfully.
- Initialize failure reports server name and phase.
- stderr is bounded and redacted where needed.
- Shutdown is safe and deterministic.
- Sampling/elicitation are not advertised and fail closed if requested.
- No tools/resources/prompts are registered by this Ticket.
## Non-goals
- tools/list ToolRegistry registration.
- tools/call execution.
- resources/prompts operations.
- Streamable HTTP/OAuth/remote MCP.
## Related work
- Depends on `00001KVHR3WRF`.
- Objective: `00001KTR80WMN`.
+7
View File
@@ -0,0 +1,7 @@
<!-- event: create author: "yoi ticket" at: 2026-06-20T05:30:04Z -->
## 作成
LocalTicketBackend によって作成されました。
---