feat: interactive MCP console (mcpctl console <project>)

Ink-based TUI that shows exactly what an LLM sees through MCP.
Browse tools/resources/prompts, execute them, and see raw JSON-RPC
traffic in a protocol log. Supports gated session flow with
begin_session, raw JSON-RPC input, and session reconnect.

- McpSession class wrapping HTTP transport with typed methods
- 12 React/Ink components (header, protocol-log, menu, tool/resource/prompt views, etc.)
- 21 unit tests for McpSession against a mock MCP server
- Fish + Bash completions with project name argument
- bun compile with --external react-devtools-core

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Michal
2026-02-25 23:56:23 +00:00
parent d4aa677bfc
commit a59d2237b9
23 changed files with 2093 additions and 9 deletions

View File

@@ -3,9 +3,11 @@
"compilerOptions": {
"rootDir": "src",
"outDir": "dist",
"types": ["node"]
"types": ["node"],
"jsx": "react-jsx",
"exactOptionalPropertyTypes": false
},
"include": ["src/**/*.ts"],
"include": ["src/**/*.ts", "src/**/*.tsx"],
"references": [
{ "path": "../shared" },
{ "path": "../db" }