OpenAPI MCP Server

OpenAPI MCP Server

OpenAPI MCP Server 是一个代理工具,它通过 Claude Desktop 使自然语言能够与符合 OpenAPI v3.1 标准的 API 进行交互。

概述

OpenAPI MCP 服务器是一个工具,可让您通过 Claude Desktop 与任何符合 OpenAPI (v3.1) 的 API 进行自然语言对话。它创建一个 模型上下文协议 (MCP) 服务器,作为 API 的代理。

smithery 徽章 覆盖率

主要功能

  • 自动将 OpenAPI 端点转换为 Claude 工具
  • 支持文件上传(multipart/form-data)
  • 适用于本地和远程 API 服务

安装和配置

  1. 配置 Claude Desktop

    将以下内容添加到 claude_desktop_config.json 中:

    {
      "mcpServers": {
        "petstore-api": {
          "command": "npx",
          "args": ["openapi-mcp-server", "/abs/path/to/petstore-openapi.json"]
        }
      }
    }
    
  2. 重启 Claude Desktop 并开始与您的 API 交互!

使用示例

向 Claude 提出自然语言问题:

  • "你能获取宠物 ID 123 的详细信息吗?"
  • "更新我的头像为 ~/Downloads/photo.png 并裁剪为 200x200"
  • "从 ~/Pictures/profile.jpg 上传我的新个人资料图片"

文件上传支持

支持接受 multipart/form-data 的 API 的文件上传。您可以提供本地文件路径,代理将处理读取和上传文件。

开发使用

基础操作:

# 安装依赖
pnpm install

# 运行测试
pnpm test

# 构建项目
pnpm build

# 链接到全局 node_modules
npm link

以编程方式使用

import { OpenAPIToMCPConverter } from 'openapi-mcp-server'

// 初始化转换器
const converter = new OpenAPIToMCPConverter(openApiSpec)

// 转换为 MCP 工具格式
const { tools, openApiLookup } = converter.convertToMCPTools()

注意事项

  • 如果遇到规范问题,使用规范清理应用程序
  • 仅支持 OpenAPI v3.1 规范
  • 文件上传仅支持本地文件

更多详细信息和示例请参阅完整文档。