详细介绍
emcee 是一个基于模型上下文协议(MCP)的工具,旨在为 AI 助手提供与外部 API 服务的连接能力。它支持 OpenAPI 规范,允许用户通过简单的配置和命令,将 AI 客户端(如 Claude Desktop)与各种网络服务集成。emcee 提供了多种身份验证方式、配置管理机制、调试工具以及 JSON-RPC 接口,适用于需要连接外部工具和数据服务的 AI 应用场景。
核心功能
emcee 的核心功能在于通过 OpenAPI 规范将 AI 客户端与外部 API 服务连接,实现工具的自动发现和调用。它支持多种身份验证方式,包括 Bearer 和 Basic 认证,并允许用户通过配置文件自定义日志级别、缓存路径等参数。
emcee 还提供了 JSON-RPC 接口,允许开发者通过标准的 RPC 协议与工具进行交互。此外,它支持调试工具,如 MCP 检查器,帮助开发者验证和调试工具调用过程。
emcee 的另一个重要功能是支持 Docker 安装,使得部署和运行更加便捷。用户可以通过命令行或配置文件灵活控制工具的行为。
安装方法
emcee 可以通过多种方式进行安装,包括直接下载、使用 npm 安装,以及通过 Docker 容器部署。
- 从 GitHub 克隆仓库并安装依赖:
git clone https://github.com/loopwork-ai/emcee
npm install- 使用 Docker 安装:
docker pull loopworkai/emcee:latest- 下载并解压最新版本:
下载地址:https://github.com/loopwork-ai/emcee/releases安装完成后,可以通过以下命令验证安装是否成功:
emcee --version使用方法
emcee 提供了丰富的命令行接口,用户可以通过命令行调用工具、查看工具列表、指定配置文件运行等。
- 列出所有可用工具:
emcee tools/list- 调用特定工具:
emcee tools/call --name tool_name --arguments '{"argument_key": "argument_value"}'- 指定配置文件运行:
emcee --config /path/to/config.yaml tools/list配置文件默认路径为 $HOME/.config/emcee/config.yaml,用户也可以自定义配置文件路径。
使用示例
以下是一些 emcee 的使用示例,帮助用户快速上手。
- 基本用法:启动 MCP 服务器并连接 OpenAPI 规范:
emcee https://example.com/swagger.json- 使用 Bearer 令牌身份验证连接受保护的 API:
emcee --bearer-auth my-token https://api.example.com/openapi.json- 使用 JSON-RPC 接口调用工具:
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "example_tool",
"arguments": {
"input_key": "input_value"
}
},
"id": 1
}
- 使用 MCP 检查器调试工具:
npm install -g @modelcontextprotocol/inspector
emcee-inspector emcee --port 5173
访问 http://localhost:5173 查看调试信息。
配置说明
emcee 支持通过配置文件自定义运行参数,如日志级别、缓存路径等。
log_level: info
cache_dir: $HOME/.cache/emcee
用户可以通过 --config 参数指定配置文件路径。
使用场景
emcee 适用于需要将 AI 客户端与外部 API 服务集成的场景,例如:
- 将 Claude Desktop 连接到企业内部的 API 服务,实现自动化数据查询和处理。
- 通过 OpenAPI 规范快速构建 AI 工具链,提升开发效率。
- 在开发和调试过程中,使用 JSON-RPC 接口与工具进行交互。
- 通过 MCP 检查器验证工具调用的正确性和性能。
注意事项
在使用 emcee 时,需要注意以下几点:
- 确保 API 服务的 OpenAPI 规范文件正确且可访问。
- 身份验证凭据应妥善保管,建议使用 1Password 等工具进行管理。
- emcee 不存储任何 API 数据,所有工具访问都需要用户明确批准。
- 如果需要限制暴露的 API 端点,可以通过过滤 OpenAPI 规范或使用中间件实现。
emcee 是一个功能强大且灵活的工具,能够帮助开发者和 AI 用户快速集成外部服务,提升工作效率。