TypeScript runtime, CLI, and code-generation toolkit for the Model Context Protocol. MCPorter discovers MCP servers already configured on your machine, calls their tools from a stable CLI or TypeScript API, and can generate server-specific CLIs or typed clients when a workflow needs a smaller surface.
npx mcporter list
npx mcporter list linear --schema
npx mcporter call linear.create_comment issueId:ENG-123 body:'Looks good!'
npx mcporter generate-cli linear --bundle dist/linear.js
npx mcporter emit-ts linear --mode client --out src/linear-client.tsHuman progress and prompts go to stderr. Use command-specific machine output
flags for scripts, such as mcporter call --output json.
- Discovers home, project, and imported MCP config from Cursor, Claude, Codex, Windsurf, OpenCode, and VS Code.
- Calls HTTP, SSE, and stdio MCP tools through one CLI/runtime surface.
- Handles OAuth setup and cached token refresh without putting secrets in project files.
- Keeps selected stateful servers warm through the daemon and can expose them
through
mcporter serve. - Generates standalone CLIs with embedded schemas and typed clients for agent or test workflows.
- Records and replays MCP JSON-RPC traffic for offline debugging and redacted repros.
- Docs home
- Install
- Quickstart
- Configuration
- CLI reference
- Ad-hoc connections
- Tool calling
- Call syntax
- Generated CLIs
- Typed clients
- Agent skills
- Daemon
- Record/replay
- Manual testing
- Release
Use pnpm and the repo runner so guardrails apply consistently:
pnpm install
./runner pnpm check
./runner pnpm test
./runner pnpm buildUseful local smokes:
./runner pnpm mcporter:list
./runner pnpm mcporter:call -- --helpLive MCP tests are opt-in:
MCP_LIVE_TESTS=1 ./runner pnpm test:liveKeep OAuth tokens, bearer tokens, .env*, and provider credentials in local
environment, the MCPorter vault, or provider-managed stores. Project config may
reference environment variables, but should not store secret values directly.
MIT. See LICENSE.