mcporter  by steipete

TypeScript toolkit for Model Context Protocol (MCP) integrations

Created 2 months ago
686 stars

Top 49.7% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

MCPorter is a TypeScript toolkit addressing the complexity of interacting with Model Context Protocol (MCP) servers. It targets developers building AI agents or leveraging code execution workflows, offering a unified runtime, CLI, and code-generation capabilities to simplify tool discovery, invocation, and packaging. The primary benefit is a drastically reduced boilerplate for integrating diverse MCP-based tools.

How It Works

MCPorter provides zero-config discovery of MCP servers configured across various environments (Cursor, Claude, VS Code, etc.). Its core createRuntime() function manages connection pooling and transport reuse. Key functionalities include generating standalone CLIs from MCP definitions (generate-cli), emitting strongly-typed TypeScript clients (emit-ts), and exposing an ergonomic API via createServerProxy(). This API automatically handles JSON schema defaults, argument validation, and provides convenient result parsing helpers. It also supports OAuth and stdio transports, along with ad-hoc connections.

Quick Start & Requirements

  • Primary Install/Run: Execute directly via npx mcporter without prior installation. Project integration uses pnpm add mcporter. Homebrew installation is also available (brew tap steipete/tap && brew install steipete/tap/mcporter).
  • Prerequisites: A Node.js environment is required. Specific versions are not detailed.
  • Documentation: Comprehensive guides are available in the docs/ directory, covering ad-hoc connections, CLI reference, call syntax, configuration, and more.

Highlighted Details

  • Zero-configuration discovery of MCP servers across multiple platforms.
  • One-command generation of standalone CLIs from MCP server definitions.
  • Creation of strongly-typed TypeScript clients for agent integration.
  • Ergonomic API with automatic schema default application and argument validation.
  • Built-in OAuth token caching and seamless handling of ad-hoc MCP endpoints.
  • Intelligent auto-correction for mistyped tool names.
  • TypeScript-style signatures and inline comments displayed via mcporter list.

Maintenance & Community

No specific details regarding maintainers, community channels (e.g., Discord, Slack), or project sponsorships were found in the provided README snippet.

Licensing & Compatibility

  • License: MIT (refer to LICENSE file).
  • Compatibility: The MIT license generally permits commercial use and integration into closed-source projects without significant restrictions.

Limitations & Caveats

The tool's functionality is tightly coupled with the Model Context Protocol ecosystem. While designed for ease of use, advanced features like CLI compilation may introduce runtime dependencies (e.g., Bun). Debugging complex authentication flows might require specific timeout configurations or environment variables. The README does not explicitly state an alpha/beta status, but its focus on specific workflows suggests potential evolution.

Health Check
Last Commit

4 days ago

Responsiveness

Inactive

Pull Requests (30d)
3
Issues (30d)
2
Star History
189 stars in the last 30 days

Explore Similar Projects

Starred by Jason Knight Jason Knight(Director AI Compilers at NVIDIA; Cofounder of OctoML) and Georgios Konstantopoulos Georgios Konstantopoulos(CTO, General Partner at Paradigm).

rust-sdk by modelcontextprotocol

1.2%
3k
Rust SDK for Model Context Protocol
Created 10 months ago
Updated 2 days ago
Feedback? Help us improve.