Skip to content

feat: stdio / local MCP servers (governed) #52

Description

@arthurpanhku

Why (roadmap: Next)

Governed MCP v1 (docs/GOVERNED-MCP.md) covers remote Streamable HTTP servers. Local stdio servers complete the story — many MCP tools run locally, and stdio avoids network egress entirely.

Sketch

  • Spawn the server as a child process through runGovernedProcess (sandbox + policy) — never a bare spawn (see the governance rules in CONTRIBUTING).
  • Same JSON-RPC methods as src/mcp/client.ts but over stdin/stdout framing.
  • Same governed mapping: mcp__<server>__<tool>, policy admission via mcp.allow, audit mcp_request per call, annotation-derived access tiers.
  • Config: { id, command, args, enabled } alongside remote servers.

Open questions

  • Sandbox profile for a long-lived child (network-denied by default? policy knob?)
  • Lifecycle: per-run vs per-session process reuse; kill on run end.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions