使用说明
项目简介
openapi-to-mcp 是一个实验性项目,旨在探索如何将现有的 OpenAPI (Swagger) 规范转换为 Model Context Protocol (MCP) 服务器。该项目尝试为每个 OpenAPI 规范动态创建一个远程 MCP 服务器,使得基于 LLM 的应用可以通过标准化的 MCP 协议访问和利用各种 OpenAPI 定义的外部服务和数据。
主要功能点
- OpenAPI 转换: 设想能够解析 OpenAPI 规范(包括 Swagger 2.0 和 OpenAPI 3.x),并自动生成符合 MCP 协议的服务接口。
- 动态 MCP 服务器: 目标是为每个 OpenAPI 实例创建一个独立的、可远程访问的 MCP 服务器。
- 工具注册: 通过 OpenAPI 定义的操作,自动注册 MCP 工具 (Tools),使 LLM 能够调用外部 API 功能。
- 资源管理: 设想能够将 OpenAPI 定义的数据模型或端点暴露为 MCP 资源 (Resources),供 LLM 客户端访问。
- Cloudflare Workers 部署: 实验性代码使用了 Cloudflare Workers 和 Durable Objects,展示了在serverless 环境下部署 MCP 服务器的可能性。
- OAuth 认证: 示例代码集成了 OAuth Provider,为 MCP 服务器添加了初步的认证和授权机制。
安装步骤
由于这是一个实验性项目,没有正式的安装步骤。目前仓库主要提供的是概念验证代码和实验性 Demo。
如果您希望尝试运行 'experiments/dynamic-remote-mcp-server' 中的示例代码,您需要:
- Cloudflare 账号: 拥有 Cloudflare 账号和 Workers 服务。
- Wrangler CLI: 安装 Cloudflare Workers 的 CLI 工具 Wrangler。
- KV 命名空间: 在 Cloudflare 控制台中创建一个 KV 命名空间,并在 'wrangler.toml' 文件中配置绑定 (binding) 名称 'OAUTH_KV'。
- Durable Object 命名空间: 在 Cloudflare 控制台中创建一个 Durable Object 命名空间,并在 'wrangler.toml' 文件中配置绑定名称 'MCP_OBJECT'。
- 部署: 使用 Wrangler CLI 将代码部署到 Cloudflare Workers。具体部署命令请参考 Cloudflare Workers 文档。
服务器配置
MCP 客户端需要配置连接到 MCP 服务器的信息。对于 'experiments/dynamic-remote-mcp-server' 示例,假设您已成功将其部署到 Cloudflare Workers,以下是一个可能的 MCP 客户端配置示例 (JSON 格式):
{ "serverName": "openapi-to-mcp-demo", "command": "wss://your-worker-subdomain.workers.dev/sse", "args": [], "description": "连接到基于 OpenAPI 构建的动态 MCP 服务器示例" }
配置参数说明:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 重要: MCP 服务器的启动命令,对于 Cloudflare Workers 部署的示例,这里通常是 WebSocket Secure (wss) 协议的 URL,指向您的 Worker 子域名下的 '/sse' 路径。请将 'wss://your-worker-subdomain.workers.dev/sse' 替换为您实际部署的 Cloudflare Worker 的 URL。
- 'args': 启动参数,对于此示例,通常不需要额外的启动参数,保持空数组即可。
- 'description': MCP 服务器的描述,可以自定义,方便客户端用户识别。
注意:
- 上述配置是基于 'experiments/dynamic-remote-mcp-server' 示例推测的,实际部署和配置可能需要根据具体代码和需求进行调整。
- 该仓库目前处于实验阶段,可能不包含完整的 MCP 服务器功能,例如 Prompt 模板管理等可能未实现。
- 安全性方面,示例代码集成了 OAuth,但可能需要根据实际应用场景进行更完善的安全配置。
基本使用方法
- 启动 MCP 客户端,并根据上述 "服务器配置" 配置连接信息。
- 客户端连接成功后,即可按照 MCP 协议与服务器进行交互,例如:
- 列出服务器提供的资源 (Resources)。
- 列出服务器注册的工具 (Tools)。
- 调用服务器提供的工具 (Tools) 执行外部 API 功能。
请参考 MCP 协议文档和 MCP 客户端的使用说明,了解如何更详细地使用 MCP 服务器提供的功能。
信息
分类
网页与API