MCPorter 是一个专为 Model Context Protocol (MCP) 设计的 TypeScript 运行时、命令行工具(CLI)及代码生成工具包。它的核心目标是简化 MCP 服务器的发现、调用与自动化流程,让开发者能够像调用普通 TypeScript API 一样无缝使用 MCP 工具,或将其快速打包为独立的命令行程序。
以下是 MCPorter 的核心功能与特性概括:
1. 核心功能
- 零配置发现(Zero-config Discovery): 能够自动整合系统中已有的 MCP 配置(如 Cursor、Claude Desktop、Windsurf 等编辑器的配置),支持环境变量扩展和连接池复用,无需手动编写繁琐的接入代码。
- 自动生成独立 CLI: 通过
generate-cli命令,可将任何 MCP 服务器定义转换为一个独立的可执行 CLI 工具。支持打包、编译及元数据嵌入,方便工具的分发与复用。 - 强类型客户端生成: 使用
emit-ts命令可为 MCP 服务器生成.d.ts类型定义或客户端包装器,使开发者在 TypeScript 项目中调用工具时享有完整的类型检查和自动补全。 - 友好的运行时 API: 提供
createServerProxy()等方法,将 MCP 工具映射为符合直觉的驼峰式(camelCase)异步方法,并自动处理 JSON-Schema 默认值验证。
2. 技术特性与优势
- 多协议支持: 统一处理 HTTP、SSE 和 stdio 传输协议。内置 OAuth 令牌缓存机制,简化了受保护服务器(如 Vercel、Supabase)的认证流程。
- 即时连接(Ad-hoc): 支持直接指向任何 MCP 终端 URL 或 stdio 命令进行临时调用,无需预先修改配置文件。
- 守护进程模式(Daemon Mode): 针对有状态的服务器(如 Chrome DevTools),MCPorter 提供守护进程支持,确保在多次调用之间保持会话(如浏览器标签页)活跃。
- 智能交互: CLI 支持类似 JavaScript 的函数调用语法,并具备自动纠错功能(Typo Auto-correct),当输入工具名有误时会根据编辑距离算法自动匹配或给出建议。
3. 使用场景
MCPorter 极大地优化了 Anthropic 提出的“代码执行”工作流。它不仅适用于开发者在终端手动测试 MCP 工具,更适合作为基础设施集成到 AI Agent、自动化脚本或 CI/CD 流程中。
快速上手:
用户无需安装,直接通过 npx mcporter list 即可查看本地已配置的所有 MCP 服务器及其工具签名;使用 npx mcporter call <server>.<tool> 即可快速执行任务。
总的来说,MCPorter 通过消除样板代码和复杂的 Schema 处理,为 MCP 生态提供了一个高效、类型安全且极具扩展性的操作层。