OpenMCP 是一个项目,它包含两层含义:
- 一个标准:用于将各类 Web API 转换为符合特定规范的 MCP 服务器。
- 一个开源注册表:维护着遵循此标准的服务器列表。
每个 OpenMCP 服务器都能使 MCP 客户端(特别是底层的 LLMs,即大型语言模型)以 Token 高效(节省 Token 消耗)的方式请求特定的 Web API。注册表中的服务器汇集了广泛的服务,赋能客户端 LLMs 代表用户跨多个领域获取数据并执行操作。
项目的关键内容包括:
- 创建服务器
- 将 OpenMCP 服务器添加到 MCP 客户端
- 将 Web API 转换为 OpenMCP 标准
创建服务器
OpenMCP 定义了创建符合标准的服务器的方法。更详细的信息和指南可以在以下链接找到:https://www.open-mcp.org/servers/creating-a-server
将 OpenMCP 服务器添加到 MCP 客户端
OpenMCP 服务器可以添加到兼容的 MCP 客户端中,以便客户端能够调用这些服务。支持远程托管和本地托管两种方式。以下是本地托管的一些详细说明和示例:
本地托管
要求:
- Node.js v18 或更高版本(包含 npx 和 npm 工具)
- 兼容的 MCP 客户端,例如 Claude desktop 或 Cursor。
添加服务器通常通过命令行界面 (CLI) 工具进行。使用 npx @open-mcp/config add 命令来配置。
Claude desktop:
使用以下命令将 OpenMCP 服务器添加到 Claude desktop 的配置中。请将 {服务器ID} 替换为你要添加的服务器的实际 ID,--环境变量名=值 替换为服务器所需的具体配置或认证信息:
bash
npx @open-mcp/config add {服务器ID} \
/Library/Application\ Support/Claude/claude_desktop_config.json \
--环境变量名=值
执行命令后,需要重启 Claude desktop 应用程序以加载新添加的工具(即 OpenMCP 服务器)。
Cursor:
对于 Cursor 客户端,你可以选择将服务器添加到当前项目的配置中,或添加到所有 Cursor 项目的全局配置中。
- 添加到当前项目: 在你的项目根目录运行命令。
- 添加到所有项目: 在你的用户主目录
~运行命令。
命令示例(将 {服务器ID} 替换为实际 ID,--环境变量名=值 替换为实际参数):
bash
npx @open-mcp/config add {服务器ID} \
.cursor/mcp.json \
--环境变量名=值
添加后,你需要前往 Cursor > Settings > Cursor Settings,然后点击 MCP 选项,确保新添加的服务器已启用。
其他客户端:
对于其他兼容 OpenMCP 标准的客户端,添加方法类似,但需要指定客户端的配置文件路径。使用以下命令格式:
bash
npx @open-mcp/config add {服务器ID} \
/你的客户端配置文件路径 \
--环境变量名=值
并根据具体客户端的说明进行后续配置和启用步骤。
替代方案:
如果你不想使用上述 CLI 工具,也可以采取手动安装的方式。首先使用 npm 手动安装相应的 OpenMCP 服务器包,然后在你的客户端配置文件中,添加一个 node 命令,并指定使用该包的 dist/index.js 文件的绝对路径。具体的安装和配置细节,通常可以在各个 OpenMCP 服务器项目的 README 文件中找到。
将 Web API 转换为 OpenMCP
OpenMCP 标准定义了如何将不同技术栈和格式的 Web API 转换为统一的 MCP 服务器接口。这使得客户端可以通过标准化的方式访问各种服务。支持的 API 类型及其常用的描述文件格式包括:
- REST (使用 openapi.yaml 或 openapi.json 进行描述)
- gRPC (使用 service.proto 文件进行描述)
- JSON-RPC (使用 openrpc.json 文件进行描述)
- GraphQL (使用 schema.gql 文件进行描述)
- SOAP (使用 service.wsdl 文件进行描述)
- PostgREST (通常使用 schema.sql 来反映结构)
通过将这些不同类型的 API 映射到 OpenMCP 标准,可以为 LLM 客户端提供一个统一、高效的访问层。
