OpenAPI MCP Server

OpenAPI MCP Server

site icon
2024.12.27 0
JavaScriptAPI 桥接开发工具开发效率
OpenAPI MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,它将 OpenAPI 端点暴露为 MCP 资源。该服务器允许大型语言模型通过 MCP 协议发现并与由 OpenAPI 规范定义的 REST API 进行交互。
View on GitHub

Overview

基本能力

产品定位

OpenAPI MCP Server 是一个桥接工具,使得大型语言模型能够通过 MCP 协议与 REST API 进行交互。

核心功能

  • 将 OpenAPI 端点暴露为 MCP 资源
  • 允许大型语言模型通过 MCP 协议与 REST API 交互
  • 支持通过环境变量或命令行参数进行配置
  • 提供开发工具和调试支持

适用场景

  • 开发者在大型语言模型项目中需要集成 REST API
  • 需要将 OpenAPI 规范的 API 暴露给语言模型使用
  • 开发自动化工具或工作流,需要语言模型与 API 交互

工具列表

  • npm run build - 构建 TypeScript 源代码
  • npm run clean - 清除构建产物
  • npm run typecheck - 运行 TypeScript 类型检查
  • npm run dev - 监视源文件并在更改时重新构建
  • npm run inspect-watch - 运行检查器并在更改时自动重新加载
  • npm run lint - 运行 ESLint

常见问题解答

  • 如何配置 API 基础 URL?通过 API_BASE_URL 环境变量或 --api-base-url 命令行参数
  • 如何指定 OpenAPI 规范路径?通过 OPENAPI_SPEC_PATH 环境变量或 --openapi-spec 命令行参数
  • 如何添加 API 认证头?通过 API_HEADERS 环境变量或 --headers 命令行参数

使用教程

使用依赖

  • Node.js 环境
  • npm 包管理器

安装教程

  1. 在 Claude Desktop 配置文件中添加以下配置(macOS 路径为 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
  "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 配置

调试方式

  1. 在开发模式下运行:
npm run inspect-watch
  1. 查看调试日志:
npm run inspect 2>debug.log

许可证

该项目遵循 MIT 开源许可条款。