DEV.co
MCP Servers · openclaw

mcporter

MCPorter is a TypeScript toolkit that lets you call Model Context Protocol (MCP) servers from code or CLI without boilerplate. It auto-discovers servers from Cursor, Claude, and local configs, then exposes them as typed TypeScript APIs or generates single-purpose CLI tools.

Source: GitHub — github.com/openclaw/mcporter
4.8k
GitHub stars
317
Forks
TypeScript
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryopenclaw/mcporter
Owneropenclaw
Primary languageTypeScript
LicenseMIT — OSI-approved
Stars4.8k
Forks317
Open issues3
Latest releasev0.12.3 (2026-07-01)
Last updated2026-07-01
Sourcehttps://github.com/openclaw/mcporter

What mcporter is

MCPorter wraps MCP JSON-RPC transports (stdio, HTTP, SSE) behind a composable TypeScript API with zero-config discovery, automatic schema validation, typed client generation, OAuth caching, and record/replay fixtures for offline testing.

Quickstart

Get the mcporter source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/openclaw/mcporter.gitcd mcporter# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Agentic code execution workflows

Integrate MCP tools directly into TypeScript agents or test suites with strong types and minimal setup, following Anthropic's code execution patterns.

CLI tool generation and sharing

Mint single-purpose CLIs from any MCP server definition in one command, with optional bundling and metadata for easy regeneration across teams.

Multi-server orchestration

Compose richer automations by calling multiple pre-configured MCP servers (Linear, Vercel, etc.) from a single TypeScript runtime with connection pooling and unified error handling.

Implementation considerations

  • Zero-config discovery merges home config (~/.mcporter/), project config (./config/mcporter.json), and Cursor/Claude imports; test config loading paths in your environment before deployment.
  • OAuth caching and token refresh are built-in but require a vault (filesystem by default); review storage location and permissions for headless/multi-user setups.
  • Record/replay mode captures MCP JSON-RPC traffic for offline testing; ensure sensitive data (API keys, auth tokens) is redacted before sharing replays.
  • TypeScript client generation emits `.d.ts` and optional wrapper code; regenerate after any MCP server schema changes or integration tests may fail silently.
  • Transport pooling reduces connections but may hide connection limits or resource exhaustion if many servers are called concurrently; monitor active transports in production.

When to avoid it — and what to weigh

  • Synchronous, low-latency requirements — MCPorter is designed around async/await; no synchronous interface is offered. High-frequency, ultra-low-latency tool calls may see overhead from transport overhead and schema validation.
  • Heavy custom MCP server development — MCPorter is a client/caller library, not a server framework. If you need to build complex MCP servers, use the MCP SDK or server-side libraries directly.
  • Offline-only or air-gapped deployments — MCPorter relies on discovering and connecting to external MCP servers (hosted or local). Zero-config discovery needs access to config files and environment; fully air-gapped use requires manual config.
  • Static type checking without TypeScript — MCPorter's main value is typed client generation in TypeScript. Using from plain JavaScript loses schema introspection and IDE support.

License & commercial use

MIT License. Permissive OSI-approved license allowing commercial use, modification, and redistribution with minimal restrictions (retain notice and license).

MIT permits commercial use without royalties or attribution requirements (beyond license retention). MCPorter itself imposes no commercial restrictions. However, integration with third-party MCP servers (Linear, Vercel, etc.) requires separate agreement with those providers; review their terms before building production workflows.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceHigh
Security considerations

OAuth tokens and credentials are cached in a vault (filesystem by default; location configurable). Ensure vault is stored securely and readable only by intended users. `mcporter record` captures full MCP JSON-RPC traffic; redact sensitive data before sharing for debugging. Stdio transports spawn child processes; verify server binary integrity. HTTP transports should use HTTPS in production. No public security audit or vulnerability disclosures identified from data.

Alternatives to consider

Anthropic MCP SDK / Python reference implementation

Official, language-agnostic MCP runtime; deeper control but more boilerplate. Use if building MCP servers or need Python/other languages.

Agent frameworks (LangChain, Vercel AI SDK, Anthropic SDK)

Broader agent/LLM integration; MCP is one transport. Use if you need full agentic features beyond tool calling.

Manual TypeScript MCP client

Full control, no dependency. Impractical for multi-server discovery and OAuth; consider if MCPorter's opinionation conflicts with your architecture.

Software development agency

Build on mcporter with DEV.co software developers

Get started with `npx mcporter list` to discover pre-configured servers, then call them via CLI or TypeScript API.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

mcporter FAQ

Does MCPorter require me to have Claude or Cursor installed?
No. MCPorter auto-discovers configs from Cursor, Claude, etc., but it can also read local config files or ad-hoc HTTP/stdio endpoints. You can run MCPorter standalone via npm or Homebrew.
Can I use MCPorter in a Node.js backend or serverless function?
Yes. MCPorter is a Node.js library published on npm. Headless (non-interactive) OAuth and vault seeding are supported via `--no-browser` and environment variables; test token refresh in your target deployment.
How do I handle OAuth for MCP servers in production (e.g., AWS Lambda)?
Use `mcporter auth <url>` locally to cache a token, seed the vault with `MCPORTER_OAUTH_VAULT` env var pointing to a JSON file, and set `auth: "refreshable_bearer"` in server config. Token refresh is automatic if the server supports it.
Is there a way to call MCPorter servers from Python or Go?
MCPorter itself is TypeScript-only. However, you can wrap a TypeScript MCPorter service in an HTTP layer, or call stdio-based MCP servers directly using the MCP protocol from any language.

Software development & web development with DEV.co

DEV.co helps companies turn open-source tools like mcporter into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your mcp servers stack.

Integrate MCP servers into your TypeScript workflow

Get started with `npx mcporter list` to discover pre-configured servers, then call them via CLI or TypeScript API.