使用说明

项目简介

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' 中的示例代码,您需要:

  1. Cloudflare 账号: 拥有 Cloudflare 账号和 Workers 服务。
  2. Wrangler CLI: 安装 Cloudflare Workers 的 CLI 工具 Wrangler
  3. KV 命名空间: 在 Cloudflare 控制台中创建一个 KV 命名空间,并在 'wrangler.toml' 文件中配置绑定 (binding) 名称 'OAUTH_KV'。
  4. Durable Object 命名空间: 在 Cloudflare 控制台中创建一个 Durable Object 命名空间,并在 'wrangler.toml' 文件中配置绑定名称 'MCP_OBJECT'。
  5. 部署: 使用 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,但可能需要根据实际应用场景进行更完善的安全配置。

基本使用方法

  1. 启动 MCP 客户端,并根据上述 "服务器配置" 配置连接信息。
  2. 客户端连接成功后,即可按照 MCP 协议与服务器进行交互,例如:
    • 列出服务器提供的资源 (Resources)。
    • 列出服务器注册的工具 (Tools)。
    • 调用服务器提供的工具 (Tools) 执行外部 API 功能。

请参考 MCP 协议文档和 MCP 客户端的使用说明,了解如何更详细地使用 MCP 服务器提供的功能。

信息

分类

网页与API