Skip to main content
Glama

主持人流程图

主持人

emcee是一款工具,可为任何符合OpenAPI规范的 Web 应用程序提供模型上下文协议 (MCP)服务器。您可以使用 emcee 将Claude Desktop其他应用程序连接到外部工具和数据服务,类似于ChatGPT 插件

快速入门

如果您使用的是 macOS 并且安装了Homebrew ,则可以快速启动并运行。

# Install emcee brew install loopwork-ai/tap/emcee

确保您已安装Claude Desktop

要配置 Claude Desktop 以便与 emcee 一起使用:

  1. 打开 Claude 桌面设置 (⌘,)

  2. 选择侧边栏中的“开发者”部分

  3. 点击“编辑配置”打开配置文件

Claude 桌面设置编辑配置按钮

配置文件应该位于 Application Support 目录中。您也可以使用以下命令直接在 VSCode 中打开它:

code ~/Library/Application\ Support/Claude/claude_desktop_config.json

添加以下配置以添加 weather.gov MCP 服务器:

{ "mcpServers": { "weather": { "command": "emcee", "args": [ "https://api.weather.gov/openapi.json" ] } } }

保存文件后,退出并重新打开 Claude。您现在应该会在聊天框的右下角看到🔨57。点击它即可查看 Claude 通过 MCP 可以使用的所有工具列表。

开始新的聊天并询问您所在地的天气。

俄勒冈州波特兰的天气怎么样?

Claude 将参考 MCP 提供的工具,如果其中一个工具被认为适合解答您的问题,Claude 将申请使用。您可以审核此请求,并决定批准或拒绝。

如果您允许,Claude 将与 MCP 进行通信并使用结果来通知其响应。

Claude 对 MCP 工具使用的回应


提示:正在构建代理?想要部署远程 MCP 服务器?请联系emcee@loopwork.com


Related MCP server: OpenAPI Client Generator MCP

为什么要使用 emcee?

MCP 提供了一种将 AI 模型连接到工具和数据源的标准化方法。虽然目前尚处于早期阶段,但目前已有多种可用于连接浏览器、开发者工具和其他系统的服务器

我们认为 emcee 是一种便捷的方式,可以连接到尚未实现 MCP 服务器的服务,尤其适用于您自行构建的服务。您有一个符合 OpenAPI 规范的 Web 应用吗?您可能会惊讶地发现,即使没有仪表板或客户端库,您也能取得如此大的进展。

安装

安装程序脚本

使用安装程序脚本下载并安装适合您平台(Linux x86-64/i386/arm64 和 macOS Intel/Apple Silicon)的预构建版本emcee。

# fish sh (curl -fsSL https://get.emcee.sh | psub) # bash, zsh sh <(curl -fsSL https://get.emcee.sh)

自制

使用Loopwork 的 tap中的Homebrew安装 emcee。

brew install loopwork-ai/tap/emcee

Docker

带有 emcee 的预构建Docker 镜像可供使用。

docker run -it ghcr.io/loopwork-ai/emcee

从源代码构建

需要1.24或更高版本。

git clone https://github.com/loopwork-ai/emcee.git cd emcee go build -o emcee cmd/emcee/main.go

一旦构建完成,您就可以就地运行( ./emcee )或将其移动到PATH中的某个位置,例如/usr/local/bin

用法

Usage: emcee [spec-path-or-url] [flags] Flags: --basic-auth string Basic auth value (either user:pass or base64 encoded, will be prefixed with 'Basic ') --bearer-auth string Bearer token value (will be prefixed with 'Bearer ') -h, --help help for emcee --raw-auth string Raw value for Authorization header --retries int Maximum number of retries for failed requests (default 3) -r, --rps int Maximum requests per second (0 for no limit) -s, --silent Disable all logging --timeout duration HTTP request timeout (default 1m0s) -v, --verbose Enable debug level logging to stderr --version version for emcee

emcee 为 MCP 实现标准输入/输出 (stdio)传输,使用JSON-RPC 2.0作为其传输格式。

当您从命令行运行 emcee 时,它会启动一个程序,该程序监听 stdin、输出到 stdout 并记录到 stderr。

验证

对于需要身份验证的API,emcee支持多种身份验证方法:

身份验证类型

示例用法

结果标题

持有者令牌

--bearer-auth="abc123"

Authorization: Bearer abc123

基本身份验证

--basic-auth="user:pass"

Authorization: Basic dXNlcjpwYXNz

原始值

--raw-auth="Custom xyz789"

Authorization: Custom xyz789

这些身份验证值可以直接提供,也可以作为1Password 秘密参考提供

使用 1Password 参考时:

  • 使用格式op://vault/item/field (例如--bearer-auth="op://Shared/X/credential"

  • 确保 1Password CLI( op )已安装并在您的PATH中可用

  • 在运行 emcee 或启动 Claude Desktop 之前登录 1Password

# Install op brew install 1password-cli # Sign in 1Password CLI op signin
{ "mcpServers": { "twitter": { "command": "emcee", "args": [ "--bearer-auth=op://shared/x/credential", "https://api.twitter.com/2/openapi.json" ] } } }

[!重要的]
emcee 从命令参数提供的 URL 下载 OpenAPI 规范时不使用身份验证凭据。如果您的 OpenAPI 规范需要身份验证才能访问,请先使用您首选的 HTTP 客户端将其下载到本地文件,然后将本地文件路径提供给 emcee。

转型 OpenAPI 规范

您可以使用标准 Unix 实用程序转换 OpenAPI 规范,然后再将其传递给 emcee。这适用于:

例如,您可以使用jq仅包含来自weather.govpoint工具。

cat path/to/openapi.json | \ jq 'if .paths then .paths |= with_entries(select(.key == "/points/{point}")) else . end' | \ emcee

JSON-RPC

您可以通过发送 JSON-RPC 请求直接与提供的 MCP 服务器进行交互。

emcee 仅提供 MCP 工具功能。其他功能(例如资源、提示和采样)尚不受支持。

列表工具

{"jsonrpc": "2.0", "method": "tools/list", "params": {}, "id": 1}
{ "jsonrpc":"2.0", "result": { "tools": [ // ... { "name": "tafs", "description": "Returns Terminal Aerodrome Forecasts for the specified airport station.", "inputSchema": { "type": "object", "properties": { "stationId": { "description": "Observation station ID", "type": "string" } }, "required": ["stationId"] } }, // ... ] }, "id": 1 }

呼叫工具

{"jsonrpc": "2.0", "method": "tools/call", "params": { "name": "taf", "arguments": { "stationId": "KPDX" }}, "id": 1}
{ "jsonrpc":"2.0", "content": [ { "type": "text", "text": /* Weather forecast in GeoJSON format */, "annotations": { "audience": ["assistant"] } } ] "id": 1 }

调试

MCP 检查器是一款用于测试和调试 MCP 服务器的工具。如果 Claude 和/或 emcee 未按预期工作,检查器可以帮助您了解问题所在。

npx @modelcontextprotocol/inspector emcee https://api.weather.gov/openapi.json # 🔍 MCP Inspector is up and running at http://localhost:5173 🚀
open http://localhost:5173

执照

emcee 已获得 Apache 许可证 2.0 版的许可。

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mattt/emcee'

If you have feedback or need assistance with the MCP directory API, please join our Discord server