steipete/mcporter
Call MCPs via TypeScript, masquerading as simple TypeScript API. Or package them as cli.
Platform-specific configuration:
{
"mcpServers": {
"mcporter": {
"command": "npx",
"args": [
"-y",
"mcporter"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
<p align="center"> </p>
<p align="center"> <a href="https://www.npmjs.com/package/mcporter"></a> <a href="https://github.com/steipete/mcporter/actions/workflows/ci.yml"></a> <a href="https://github.com/steipete/mcporter"></a> <a href="LICENSE"></a> </p>
_TypeScript runtime, CLI, and code-generation toolkit for the Model Context Protocol._
MCPorter helps you lean into the "code execution" workflows highlighted in Anthropic's Code Execution with MCP guidance: discover the MCP servers already configured on your system, call them directly, compose richer automations in TypeScript, and mint single-purpose CLIs when you need to share a tool. All of that works out of the box -- no boilerplate, no schema spelunking.
createRuntime() merges your home config (~/.mcporter/mcporter.json[c]) first, then config/mcporter.json, plus Cursor/Claude/Codex/Windsurf/OpenCode/VSÂ Code imports, expands ${ENV} placeholders, and pools connections so you can reuse transports across multiple calls.mcporter generate-cli turns any MCP server definition into a ready-to-run CLI, with optional bundling/compilation and metadata for easy regeneration.mcporter emit-ts emits .d.ts interfaces or ready-to-run clientLoading reviews...