article
README
🚀 MCP 服务器
MCP(Message Communication Protocol)服务器基于 FastAPI 实现,主要用于支持与 Claude Desktop 的交互。它可通过 Docker 运行,还支持多平台架构,为开发者提供了便利的使用体验。
🚀 快速开始
MCP 服务器能够帮助开发者轻松实现与 Claude Desktop 的交互。你可以通过以下步骤快速安装并运行它。
✨ 主要特性
- 多架构支持:官方镜像支持三种平台:
linux/amd64、linux/arm64。 - 灵活的工具命名:可通过
MCP_API_PREFIX控制工具名称。 - OpenAPI 支持:能够处理 OpenAPI 规范,提取 API 端点信息并提供搜索功能。
📦 安装指南
使用预构建镜像(Docker Hub)
docker pull buryhuang/mcp-server-any-openapi:latest
本地开发构建
docker build -t mcp-server-any-openapi .
运行容器
docker run \
-e OPENAPI_JSON_DOCS_URL=https://api.example.com/openapi.json \
-e MCP_API_PREFIX=finance \
buryhuang/mcp-server-any-openapi:latest
🔧 技术细节
核心组件
- EndpointSearcher:核心类,处理以下功能:
- OpenAPI 规范解析
- 半检索索引创建
- 端点文档格式化
- 自然语言查询处理
- 服务器实现:
- 异步 FastAPI 服务器
- MCP 协议支持
- 工具注册和调用处理
实现说明
- 基于端点的处理:不同于难以处理大规格文档的基于文档的方法,我们通过以下方式对端点进行索引:
- 使用路径和方法作为唯一标识符
- 参数感知嵌入
- 响应方案上下文
- 优化规范处理:通过以下方式处理 OpenAPI 规范(支持高达 10MB 或约 5,000 个端点):
- 惰性加载组件模式
- 并行解析路径项
- 选择性生成嵌入(省略冗余描述)
📚 详细文档
集成与配置
在 Claude Desktop 中配置 MCP 服务器:
{
"mcpServers": {
"any_openapi": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OPENAPI_JSON_DOCS_URL=https://api.example.com/openapi.json",
"-e",
"MCP_API_PREFIX=finance",
"-e",
"GLOBAL_TOOL_PROMPT='Access to insights apis for ACME Financial Services abc.com .",
"buryhuang/mcp-server-any-openapi:latest"
]
}
}
}
贡献指南
- ** Fork 仓库**
- ** 创建功能分支**(
git checkout -b feature/amazing-feature) - ** 提交更改**(
git commit -m 'Add some amazing feature') - ** 推送到分支**(
git push origin feature/amazing-feature) - ** 提交 Pull Request**
📄 许可证
该项目在 LICENSE 文件中包含其许可条款。
Scan to join WeChat group