使用说明
项目简介
emcee 是一个工具,可以将任何具有 OpenAPI 规范的 Web 应用程序转换为 Model Context Protocol (MCP) 服务器。通过 emcee,您可以轻松地将 Claude Desktop 等 LLM 客户端连接到外部工具和数据服务,类似于 ChatGPT 插件的功能。它尤其适用于您自己构建的服务,无需复杂的仪表板或客户端库,只需一个 OpenAPI 规范即可快速集成。
主要功能点
- OpenAPI to MCP Server: 将现有的 OpenAPI 规范快速转换为 MCP 服务器。
- 工具 (Tools) 暴露: 自动将 OpenAPI 规范中定义的操作 (Operations) 转换为 MCP 工具,供 LLM 客户端调用。
- 多种安装方式: 支持 Homebrew, 安装脚本, Docker 镜像以及从源代码构建等多种安装方式。
- 多种认证方式: 支持 Bearer Token, Basic Auth 和 Raw Value 等多种 HTTP 认证方式,并能集成 1Password 秘钥管理。
- 可扩展性: 支持通过 Unix 工具链 (如 jq, yq, OpenAPI Overlays, Redocly) 转换和定制 OpenAPI 规范。
- JSON-RPC 接口: 提供标准的 JSON-RPC 接口,方便直接与 MCP 服务器进行交互和调试。
- Stdio 传输: 实现了 MCP 标准的 Standard Input/Output (stdio) 传输协议。
安装步骤
emcee 提供了多种安装方式:
-
Homebrew (macOS)
brew install loopwork-ai/tap/emcee -
安装脚本 (macOS, Linux x86-64/i386/arm64)
# fish sh (curl -fsSL https://get.emcee.sh | psub) # bash, zsh sh <(curl -fsSL https://get.emcee.sh) -
Docker
docker run -it ghcr.io/loopwork-ai/emcee -
从源代码构建
- 前提条件:安装 Go 1.24 或更高版本。
git clone https://github.com/ajaroyster/emcee.git cd emcee go build -o emcee cmd/emcee/main.go构建完成后,emcee 可执行文件位于项目根目录。您可以将其移动到 '/usr/local/bin' 等目录以便全局访问。
服务器配置
要将 emcee 配置为 Claude Desktop 的 MCP 服务器,您需要编辑 Claude Desktop 的配置文件 'claude_desktop_config.json'。
- 打开 Claude Desktop 设置 (Cmd + ,)。
- 选择侧边栏的 "Developer" (开发者) 部分。
- 点击 "Edit Config" (编辑配置) 按钮打开配置文件。
在 'mcpServers' 字段中添加一个新的服务器配置项。以下是使用 'weather.gov' OpenAPI 规范的示例配置:
{ "mcpServers": { "weather": { "command": "emcee", "args": [ "https://api.weather.gov/openapi.json" ] } } }
- 'weather': 服务器名称,您可以自定义。
- 'command': 启动 MCP 服务器的命令,这里是 'emcee' (确保 emcee 可执行文件在您的 PATH 环境变量中,或者使用绝对路径)。
- 'args': 传递给 'emcee' 命令的参数,这里是 OpenAPI 规范的 URL 'https://api.weather.gov/openapi.json'。
保存配置文件后,关闭并重新打开 Claude Desktop。您应该能在聊天框右下角看到一个锤子图标 <kbd>🔨</kbd>,点击它可以查看通过 MCP 提供的工具列表。
基本使用方法
配置完成后,您就可以在 Claude Desktop 中使用 emcee 提供的工具了。
- 启动 Claude Desktop 并开始新的聊天。
- 询问 Claude 关于工具能力范围内的问题,例如: "What's the weather in Portland, OR?" (波特兰,俄勒冈州的天气怎么样?)
- Claude 会分析您的问题,并尝试使用 emcee 提供的工具来回答。如果需要使用工具,Claude 会弹窗请求您的授权。
- 授权后,Claude 将调用 emcee 服务器上的工具,并将结果用于生成回复。
高级用法
-
认证: 如果您的 OpenAPI 规范需要认证,可以使用 '--bearer-auth', '--basic-auth', 或 '--raw-auth' 参数来传递认证信息。例如:
{ "mcpServers": { "twitter": { "command": "emcee", "args": [ "--bearer-auth=YOUR_BEARER_TOKEN", "https://api.twitter.com/2/openapi.json" ] } } }您还可以使用 1Password 秘钥引用来安全地管理认证信息。
-
OpenAPI 规范转换: 您可以使用 'jq', 'yq' 等工具在将 OpenAPI 规范传递给 emcee 之前对其进行转换,例如筛选特定的 endpoints 或修改描述。
-
直接使用 JSON-RPC: 您可以使用 JSON-RPC 请求直接与 emcee 服务器进行交互,例如列出工具或调用工具,方便调试和测试。
调试
可以使用 MCP Inspector 工具来测试和调试 emcee 服务器。
npx @modelcontextprotocol/inspector emcee https://api.weather.gov/openapi.json
然后在浏览器中打开 'http://localhost:5173' 来查看和调试 MCP 通信过程。
信息
分类
网页与API