Chunk 1: MCP host plumbing - McpClientManager lazy-spawn singleton
- Added spike-mcp-host.ts POC: validates StdioClientTransport + server-filesystem stdio server (14 tools, listTools + callTool both pass) - Implemented McpClientManager singleton with lazy-spawn, 15-min idle TTL, per-server request queue (max 10), auto-reconnect with exponential backoff, permanently_failed state after 3 failures, and dispose() for SIGTERM/SIGINT cleanup - Added types.ts with McpServerConfig, McpToolDefinition, McpServerState, McpCallResult, McpHealthResult - Installed @modelcontextprotocol/server-filesystem, vitest, @vitest/coverage-v8 - All 10 Vitest tests pass (cold-start, warm reuse, idle disposal, reconnect, permanently_failed, queue throttle, dispose, health check) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
| Repository | Gadoes/dispumike |
|---|---|
| Author | Gadoes <62180984+Gadoes@users.noreply.github.com> |
| Authored | |
| Parents | 735c9261 |
| Stats | 4 files changed , +3213 , -247 |
| Part of | MCP Host Plumbing & Agent Loop Integration |
Capture this commit into my fork
Download a Markdown prompt that tells Claude how to port this
exact commit into your working tree. Run it via
claude -p < capture-commit-8af29ffc.md
from inside the repo you want the change in.