Forward enabled MCP server configuration through AI session creation and validation paths. - Resolve and materialize effective MCP servers with secret values at runtime for triage, execution, review, merge, evaluation, reflection, mission validation, and dashboard chat/planning lanes. - Add runtime support guards, Claude CLI MCP config generation, and a dashboard validation route for MCP server reachability probes. - Cover MCP forwarding, provider support behavior, settings resolution, validation, and pi extension config generation with targeted tests and docs. Files changed: .changeset/fn-7023-mcp-runtime-forwarding.md | 7 + docs/agents.md | 2 + docs/secrets.md | 1 + docs/settings-reference.md | 6 +- .../src/__tests__/mcp-lane-forwarding.test.ts | 79 +++++++++++ .../src/__tests__/mcp-validate-route.test.ts | 111 ++++++++++++++++ packages/dashboard/src/chat.ts | 3 + packages/dashboard/src/planning.ts | 5 + packages/dashboard/src/routes.ts | 90 ++++++++++++- .../src/__tests__/mcp-lane-forwarding.test.ts | 95 ++++++++++++++ .../engine/src/__tests__/mcp-resolution.test.ts | 104 +++++++++++++++ .../src/__tests__/mcp-runtime-support.test.ts | 44 +++++++ .../src/__tests__/mcp-validation-service.test.ts | 69 ++++++++++ packages/engine/src/__tests__/pi.test.ts | 65 +++++++++ packages/engine/src/agent-reflection.ts | 3 + packages/engine/src/agent-runtime.ts | 36 ++++- packages/engine/src/agent-session-helpers.ts | 2 + packages/engine/src/evaluator.ts | 3 + packages/engine/src/executor.ts | 14 ++ packages/engine/src/index.ts | 3 + packages/engine/src/mcp-resolution.ts | 81 ++++++++++++ packages/engine/src/mcp-runtime-support.ts | 41 ++++++ packages/engine/src/mcp-validation-service.ts | 146 +++++++++++++++++++++ packages/engine/src/merger-ai.ts | 5 + packages/engine/src/merger.ts | 14 ++ packages/engine/src/mission-execution-loop.ts | 3 + packages/engine/src/pi.ts | 44 +++++-- packages/engine/src/reviewer.ts | 3 + packages/engine/src/runtime-resolution.ts | 8 +- packages/engine/src/step-session-executor.ts | 6 +- packages/engine/src/triage.ts | 5 + packages/pi-claude-cli/index.ts | 20 ++- packages/pi-claude-cli/src/mcp-config.ts | 65 ++++++++- 33 files changed, 1150 insertions(+), 33 deletions(-) Fusion-Task-Id: FN-7023 Fusion-Task-Lineage: ea09c6c7-b3c3-4af6-9ca6-0ebbfec17139
pi-claude-cli
A pi extension that routes LLM calls through the Claude Code CLI as a subprocess. Use your Claude Pro/Max subscription as the LLM backend — no API key, no separate billing.
How it works
The extension registers as a custom pi provider exposing all Claude models. Each request spawns a claude -p subprocess using the stream-json wire protocol, with --resume on follow-up turns to reuse the CLI's session state instead of replaying full history. Claude proposes tool calls, pi executes them natively. Custom pi tools are exposed to Claude via a schema-only MCP server.
Requirements
- Claude Code CLI installed and authenticated (
claudeon PATH) - A Claude Pro or Max subscription
- pi or GSD
Installation
Add to ~/.gsd/agent/settings.json:
{
"packages": ["npm:pi-claude-cli"]
}
Then select a Claude model via /model in the interactive UI. All Claude models appear under the pi-claude-cli provider.
Features
- Streams text, thinking, and tool call tokens in real-time
- Maps tool names and arguments bidirectionally between Claude and pi
- Exposes custom pi tools to Claude via MCP (schema-only, no execution)
- Break-early pattern prevents Claude CLI from auto-executing tools
- Session resume via
--resumeeliminates history replay on follow-up turns - Configurable thinking effort with elevated budgets for Opus models
- Cross-platform subprocess management (Windows, macOS, Linux)
- Inactivity timeout and process registry for cleanup
License
MIT