核心用法
mcporter 是面向 Model Context Protocol (MCP) 的原生 CLI 工具,定位为开发者的「MCP 瑞士军刀」。其核心能力覆盖四大维度:
1. 服务器发现与调用
mcporter list枚举本地/远程 MCP 服务器,--schema暴露工具签名- 支持多种调用模式:selector 语法(
server.tool)、函数式写法、完整 HTTP URL、stdio 直连(--stdio),以及标准 JSON-RPC 载荷(--args) - 参数传递灵活,支持
key=value、JSON 对象及类型注解(如limit:5)
2. 配置与鉴权管理
- 内置 OAuth 流程:
mcporter auth <server>处理令牌获取与刷新,--reset强制重认证 - 配置层管理:
config子命令支持多环境(默认./config/mcporter.json),可导入导出、登录登出隔离
3. 守护进程与长期运行
mcporter daemon提供类 systemd 的生命周期管理,适合服务端部署或本地长连接保持
4. 代码生成与类型安全
generate-cli/emit-ts将 MCP 服务器元数据转为 TypeScript 客户端代码或类型定义inspect-cli反向解析已有 CLI 实现,辅助调试与文档生成
显著优点
- 协议原生:不依赖第三方封装,直接消费 MCP spec,兼容 Claude Desktop 及其他 MCP 客户端生态
- 多传输层支持:HTTP(S)、stdio、ad-hoc 命令一键切换,覆盖本地脚本至生产 API
- 工程化友好:JSON 输出模式、配置即代码、类型生成,无缝嵌入 CI/CD 或自动化工作流
- Node.js 生态:基于 npm 分发,与现有 JS/TS 工具链零摩擦集成
潜在缺点与局限
- Node 运行时依赖:需预装 Node.js/npm,资源敏感场景(如边缘容器)可能受限
- 早期项目:文档与社区生态尚在建设,边缘用例(如自定义传输层插件)可能需源码级调试
- 权限模型:OAuth 令牌默认存储于本地 JSON,多用户共享环境需额外加密或密钥管理服务
- stdio 并发:
--stdio模式每调用fork新进程,高频场景下进程管理开销显著
适合人群
- AI 应用开发者:需本地调试 MCP 工具链或快速原型验证
- 平台工程师:构建内部 MCP 网关、CI 流水线自动化或类型安全 SDK
- 运维/SRE:通过 daemon 模式托管长期运行的 MCP 服务
常规风险
- 配置泄露:
./config/mcporter.json含明文令牌,需纳入.gitignore及密钥扫描 - 任意代码执行:
--stdio执行用户传入命令(如bun run ./server.ts),需严格校验路径与白名单 - 供应链:npm 包的恶意升级风险,建议锁定版本并启用 lockfile