返回 MCP 目录
public公开dns本地运行

mcp-openapi-server

一个将OpenAPI端点暴露为MCP资源的服务器,使大语言模型能通过MCP协议发现和交互REST API

article

README

🚀 OpenAPI MCP 服务器

OpenAPI MCP 服务器是一个通过 OpenAPI 端点暴露为 MCP 资源的模型上下文协议(MCP)服务器。它允许大型语言模型借助 MCP 协议,发现并与由 OpenAPI 规范定义的 REST API 进行交互。

🚀 快速开始

您无需克隆此仓库即可使用此 MCP 服务器,只需在 Claude 桌面中进行如下配置:

  1. 找到或创建 Claude 桌面配置文件
    • 在 macOS 系统上,配置文件路径为:~/Library/Application Support/Claude/claude_desktop_config.json
  2. 添加配置以启用 OpenAPI MCP 服务器
{
  "mcpServers": {
    "openapi": {
      "command": "npx",
      "args": ["-y", "@ivotoby/openapi-mcp-server"],
      "env": {
        "API_BASE_URL": "https://api.example.com",
        "OPENAPI_SPEC_PATH": "https://api.example.com/openapi.json",
        "API_HEADERS": "Authorization:Bearer token123,X-API-Key:your-api-key"
      }
    }
  }
}
  1. 替换环境变量为实际 API 配置
    • API_BASE_URL:API 的基础 URL
    • OPENAPI_SPEC_PATH:OpenAPI 规范的 URL 或路径
    • API_HEADERS:用于 API 身份验证的逗号分隔键值对

✨ 主要特性

此项目包含多种开发工具,可简化工作流程,具体如下:

构建

  • npm run build:编译 TypeScript 源代码
  • npm run clean:删除构建 artifacts
  • npm run typecheck:运行 TypeScript 类型检查

开发模式

  • npm run dev:监视源文件并在更改时重建
  • npm run inspect-watch:运行 inspector 并在更改时自动重新加载

代码质量

  • npm run lint:运行 ESLint
  • npm run typecheck:验证 TypeScript 类型

📦 安装指南

服务器可通过环境变量或命令行参数进行配置:

环境变量

  • API_BASE_URL:API 端点的基础 URL
  • OPENAPI_SPEC_PATH:OpenAPI 规范的路径或 URL
  • API_HEADERS:用于 API 头的逗号分隔键值对
  • SERVER_NAME:MCP 服务器的名称(默认: "mcp-openapi-server")
  • SERVER_VERSION:服务器版本(默认: "1.0.0")

命令行参数

npm run inspect -- \
  --api-base-url https://api.example.com \
  --openapi-spec https://api.example.com/openapi.json \
  --headers "Authorization:Bearer token123,X-API-Key:your-api-key" \
  --name "my-mcp-server" \
  --version "1.0.0"

💻 使用示例

开发工作流程

  1. 启动开发环境
npm run inspect-watch
  1. src/ 中的 TypeScript 文件进行更改
  2. 服务器会自动重建并重新启动
  3. 使用 MCP Inspector UI 测试更改

调试

服务器将调试日志输出到标准错误流,查看日志的方法如下:

  1. 在开发模式下:日志会在运行 inspect-watch 的终端中显示。
  2. 直接运行时
npm run inspect 2>debug.log

📚 详细文档

贡献流程

  1. Fork 仓库
  2. 创建功能分支
  3. 进行更改
  4. 运行测试和 linting:
npm run typecheck
npm run lint
  1. 提交拉取请求

📄 许可证

本项目采用 MIT 许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端