MCPorter 技能 🧳
SkillSecurityUse the mcporter CLI to list, configure, authenticate, and call MCP servers/tools (HTTP or stdio), including ephemeral servers, config editing, and CLI/type generation.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the MCPorter 技能 🧳 skill
What this skill tells your AI
The instructions your AI receives, as published by l-lesteryu/openclaw-hot-skills-zh in skills/mcporter-zh/SKILL.md and read by ahel’s review.
MCPorter 是 TypeScript 运行时、CLI 和代码生成工具包,专为 Model Context Protocol (MCP) 设计。帮助您发现系统中已配置的 MCP 服务器,直接调用它们,在 TypeScript 中组合更丰富的自动化,并在需要共享工具时创建单一用途的 CLI。
核心能力
-
零配置发现:
createRuntime()自动合并您的主目录配置(~/.mcporter/mcporter.json[c])、项目配置(config/mcporter.json),以及 Cursor/Claude/Codex/Windsurf/OpenCode/VS Code 的导入,扩展${ENV}占位符,并池化连接以便在多个调用中重用传输。 -
一键 CLI 生成:
mcporter generate-cli将任何 MCP 服务器定义转换为可运行的 CLI,支持可选的打包/编译和用于轻松重新生成的元数据。 -
类型化工具客户端:
mcporter emit-ts生成.d.ts接口或可运行的客户端包装器,使代理/测试可以用强 TypeScript 类型调用 MCP 服务器,无需手写管道代码。 -
友好的组合式 API:
createServerProxy()将工具公开为符合人体工程学的 camelCase 方法,自动应用 JSON-schema 默认值,验证必需参数,并返回带有.text()、.markdown()、.json()、.images()和.content()助手的CallResult。 -
OAuth 和 stdio 人体工程学:内置 OAuth 缓存、日志跟踪和 stdio 包装器,让您可以从同一接口使用 HTTP、SSE 和 stdio 传输。
-
临时连接:将 CLI 指向任何 MCP 端点(HTTP 或 stdio),无需触碰配置,稍后如果需要可以持久化。期望浏览器登录的托管 MCP(Supabase、Vercel 等)会被自动检测——只需运行
mcporter auth <url>,CLI 会即时将定义提升为 OAuth。
快速开始
MCPorter 自动发现您已在 Cursor、Claude Code/Desktop、Codex 或本地覆盖中配置的 MCP 服务器。您可以立即使用 npx 尝试——无需安装。
调用语法选项
# 冒号分隔的标志(shell 友好)
npx mcporter call linear.create_comment issueId:ENG-123 body:'看起来不错!'
# 函数调用风格(匹配 `mcporter list` 的签名)
npx mcporter call 'linear.create_comment(issueId: "ENG-123", body: "看起来不错!")'
常用命令
列出 MCP 服务器
# 列出所有已配置的服务器
npx mcporter list
# 列出特定服务器的详细信息(包含 schema)
npx mcporter list context7 --schema
# 列出远程 MCP 服务器的所有工具
npx mcporter list https://mcp.linear.app/mcp --all-parameters
# 列出临时 stdio 服务器
npx mcporter list --stdio "bun run ./local-server.ts" --env TOKEN=xyz
调用工具
# 使用冒号语法调用工具
npx mcporter call linear.create_comment issueId:ENG-123 body:'评论内容'
# 使用函数调用语法
npx mcporter call 'linear.create_comment(issueId: "ENG-123", body: "评论内容")'
# 调用远程服务器
npx mcporter call https://mcp.linear.app/mcp linear.create_comment issueId:ENG-123 body:'评论'
配置管理
# 添加新服务器到配置
npx mcporter config add myserver --http-url https://example.com/mcp
# 编辑配置
npx mcporter config edit
# 查看配置
npx mcporter config show
认证
# 对需要 OAuth 的服务器进行认证
npx mcporter auth https://mcp.linear.app/mcp
# 查看认证状态
npx mcporter auth status
代码生成
# 生成 TypeScript 类型定义
npx mcporter emit-ts linear --output ./types
# 生成 CLI
npx mcporter generate-cli linear --output ./my-linear-cli
使用场景
- MCP 服务器发现:自动发现和列出系统中配置的所有 MCP 服务器
- 工具调用:直接从命令行调用任何 MCP 工具
- 自动化脚本:在脚本中使用 MCP 工具进行自动化操作
- 类型安全开发:生成 TypeScript 类型定义,确保类型安全
- CLI 创建:为常用的 MCP 服务器创建专用的命令行工具
- 配置管理:管理和编辑 MCP 服务器配置
- OAuth 认证:处理需要 OAuth 认证的托管 MCP 服务
高级功能
临时服务器
可以连接到任何 MCP 端点而无需修改配置:
# HTTP 服务器
npx mcporter list https://example.com/mcp
# Stdio 服务器
npx mcporter list --stdio "node ./server.js" --env API_KEY=xyz
# 持久化临时服务器
npx mcporter list https://example.com/mcp --persist --name myserver
JSON 输出
大多数命令支持 --json 标志以获得结构化输出:
# JSON 格式列出服务器
npx mcporter list --json
# 使用 jq 过滤
npx mcporter list --json | jq '.[] | select(.name == "linear")'
详细输出
使用 --verbose 查看详细的配置源信息:
npx mcporter list --verbose
安装
虽然可以使用 npx 直接运行,但也可以全局安装:
# 使用 npm
npm install -g mcporter
# 使用 pnpm
pnpm add -g mcporter
# 使用 bun
bun install -g mcporter
配置文件位置
MCPorter 会按以下顺序查找配置文件:
~/.mcporter/mcporter.json或~/.mcporter/mcporter.jsonc(主目录配置)config/mcporter.json(项目配置)- 自动导入 Cursor、Claude、Codex、Windsurf、OpenCode、VS Code 的配置
环境变量
支持在配置中使用环境变量占位符:
{
"servers": {
"myserver": {
"url": "https://api.example.com/mcp",
"headers": {
"Authorization": "Bearer ${API_KEY}"
}
}
}
}
提示
- 使用
--help标志查看任何命令的详细帮助 - 使用
--json和--jq进行灵活的数据提取和处理 - 使用
--verbose查看配置来源和调试信息 - 使用
mcporter auth处理需要 OAuth 的服务器 - 使用
--persist将临时服务器保存到配置
常见问题
Q: 如何查看某个服务器的所有可用工具?
npx mcporter list <server-name> --schema
Q: 如何调用需要认证的服务器?
npx mcporter auth <server-url>
npx mcporter call <server-name>.<tool-name> <args>
Q: 如何在脚本中使用?
# 使用 --json 获取结构化输出
result=$(npx mcporter call mytool param1:value1 --json)
echo "$result" | jq '.data'
文档
许可证
MIT License
Signals
- GitHub stars
- 54
- Forks
- 8
- Last commit
- Apr 2026
Advanced
- Catalog kind
- skill
- Gateway key
mcporter-l-lesteryu- Source
- github.com/l-lesteryu/openclaw-hot-skills-zh