mcporter¶
Skill 简介¶
mcporter 是一个强大的命令行工具,旨在帮助开发者高效地管理和调用 MCP(Meta Configuration Protocol)服务器及其工具。通过 mcporter,用户可以轻松地列出、配置、认证并调用 MCP 服务器上的各种服务或工具,无论是通过 HTTP 协议还是标准输入/输出(stdio)。该工具支持多种操作方式,包括即席服务器配置、命令行工具生成以及类型生成等。
在现代开发环境中,开发者经常需要与各种后端服务和工具进行交互。传统的做法可能涉及编写大量重复的代码或使用多个不同的命令行工具,这不仅耗时,还容易出错。mcporter 的出现解决了这一问题,它提供了一个统一的接口来管理和调用 MCP 服务器上的各种资源,从而简化了开发流程,提高了工作效率。
主要功能¶
1. 工具调用
mcporter 支持多种方式调用 MCP 服务器上的工具:
- 选择器语法:通过简洁的选择器语法,用户可以快速调用特定工具并传递参数。例如:
bash mcporter call linear.list_issues team=ENG limit:5 - 函数语法:支持函数式调用方式,适用于更复杂的操作。例如:
bash mcporter call "linear.create_issue(title: \"Bug\")" - 完整 URL 调用:用户可以直接使用完整的 URL 进行调用,适用于需要自定义请求的场景。例如:
bash mcporter call https://api.example.com/mcp.fetch url:https://example.com - 标准输入/输出(stdio):支持通过标准输入/输出进行调用,适用于需要处理流数据的场景。例如:
bash mcporter call --stdio "bun run ./server.ts" scrape url=https://example.com - JSON 负载:支持通过 JSON 格式传递参数,适用于需要传递复杂数据结构的情况。例如:
bash mcporter call <server.tool> --args '{"limit":5}'
2. 认证与配置管理
mcporter 提供了强大的认证和配置管理功能:
- OAuth 认证:支持 OAuth 认证方式,用户可以通过以下命令进行认证:
bash mcporter auth <server | url> [--reset] - 配置管理:提供丰富的配置管理命令,包括列出、获取、添加、移除、导入、登录和登出等。例如:
bash mcporter config list|get|add|remove|import|login|logout
3. 后台守护进程
mcporter 支持后台守护进程模式,用户可以启动、停止、重启或查看守护进程的状态:
mcporter daemon start|status|stop|restart
4. 代码生成
mcporter 提供了代码生成功能,可以根据 MCP 服务器的配置生成相应的命令行工具或 TypeScript 类型定义:
- CLI 生成:通过以下命令生成命令行工具:
bash mcporter generate-cli --server <name> 或 --command <url> - CLI 检查:检查生成的 CLI 配置:
bash mcporter inspect-cli <path> [--json] - TypeScript 类型生成:生成 TypeScript 类型定义:
bash mcporter emit-ts <server> --mode client|types
5. 配置管理
mcporter 的默认配置文件位于 ./config/mcporter.json,用户可以通过 --config 参数自定义配置文件路径。此外,建议使用 --output json 参数以获取机器可读的输出结果。
使用场景¶
-
自动化运维:在大型系统中,运维人员需要频繁地调用各种后端服务。通过
mcporter,运维人员可以快速编写脚本,实现自动化运维,提高工作效率。 -
开发调试:开发者在调试过程中经常需要调用不同的工具和服务。
mcporter提供了简洁的调用方式,使得开发者可以更专注于业务逻辑,而无需关心底层的调用细节。 -
持续集成/持续部署(CI/CD):在 CI/CD 流程中,
mcporter可以作为构建和部署工具的一部分,简化流程中的各种调用操作。 -
跨平台开发:对于跨平台项目,
mcporter提供了统一的接口来调用不同平台上的服务,减少了平台差异带来的复杂性。 -
数据处理与分析:在数据处理和分析场景中,
mcporter可以用于调用各种数据处理工具,简化数据处理流程。
如何使用¶
安装¶
mcporter 是一个基于 Node.js 的工具,因此需要先安装 Node.js。然后可以通过以下命令进行安装:
npm install -g mcporter
配置¶
安装完成后,需要进行基本的配置。可以使用以下命令进行 OAuth 认证:
mcporter auth https://api.example.com --reset
前置条件¶
- Node.js 版本 >= 14.x
- MCP 服务器的访问权限
基本命令¶
- 列出所有服务器:
bash mcporter list - 调用工具:
bash mcporter call linear.list_issues team=ENG limit:5
示例¶
示例 1:调用工具并传递参数¶
假设需要调用 linear.list_issues 工具,并传递 team=ENG 和 limit:5 作为参数,可以使用以下命令:
mcporter call linear.list_issues team=ENG limit:5
示例 2:生成 TypeScript 类型定义¶
如果需要生成某个服务器的 TypeScript 类型定义,可以使用以下命令:
mcporter emit-ts https://api.example.com --mode types
总结¶
mcporter 是一个功能强大的工具,简化了与 MCP 服务器的交互过程。它不仅提供了多种调用方式,还支持丰富的配置管理和代码生成功能,适用于各种开发场景。无论是自动化运维、开发调试,还是 CI/CD 流程,mcporter 都能显著提高工作效率。对于需要频繁与后端服务交互的开发者来说,mcporter 是一个不可或缺的工具。通过合理使用 mcporter,开发者可以更专注于核心业务逻辑,而无需在工具调用和配置管理上花费过多精力。