Token导航 LogoToken导航

MCP Server · 开发工具

Openapi Spec MCP Server

一个提供动态获取、探索和从OpenAPI规范生成代码的工具的MCP服务器,适用于API开发与集成场景。

stdio官方级别未说明来源级核验工具 8vims-openapi-mcp
API开发代码生成TypeScriptClaudeClaude Desktop

快速开始

作者 / 组织
vimalprakashts
提供方
vimalprakashts
运行时
Node.js

工具数量

8

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Openapi Spec MCP Server 属于开发工具类 MCP Server,公开资料标注 8 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

npx vims-openapi-mcp --url https://api.example.com/openapi.json

客户端配置示例

{
  "mcpServers": {
    "openapi-spec-mcp-server": {
      "command": "npx",
      "args": [
        "vims-openapi-mcp",
        "--url",
        "https://api.example.com/openapi.json"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 8 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Vims OpenAPI MCP服务器

一个模型上下文协议(MCP)服务器,提供与OpenAPI规范交互的工具。此服务器允许Claude和其他MCP客户端从OpenAPI规范中动态获取、探索和生成代码,而无需将整个规范加载到上下文中。

特性

  • 动态规格加载:从任何URL获取OpenAPI规范
  • 智能高速缓存:LRU内存缓存+带压缩的持久磁盘缓存
  • 综合工具:

- 列出和搜索端点 - 获取详细的端点信息 - 探索模式定义 - 生成多种语言的代码片段 - 根据架构验证请求 - 获取API元数据和统计信息

  • 多语言支持:使用JavaScript、TypeScript、Python、cURL和Axios生成代码
  • 请求验证:根据OpenAPI模式验证请求参数和主体
  • 模糊搜索:在多个字段中使用模糊匹配搜索端点

安装

# Clone the repository
git clone https://github.com/vimalprakashts/openapi-spec-mcp-server.git
cd openapi-spec-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

用法

命令行

# Run with npx (recommended)
npx vims-openapi-mcp --url https://api.example.com/openapi.json

# Run with custom cache settings
npx vims-openapi-mcp --url https://api.example.com/openapi.json --cache-ttl 7200 --cache-dir ./my-cache

# Run with all options
npx vims-openapi-mcp \
  --url https://api.example.com/openapi.json \
  --cache-ttl 3600 \
  --cache-dir .cache \
  --log-level info \
  --max-cache-size 100 \
  --request-timeout 30000 \
  --retry-attempts 3 \
  --retry-delay 1000

环境变量

export OPENAPI_URL=https://api.example.com/openapi.json
export CACHE_TTL=3600
export CACHE_DIR=.cache
export LOG_LEVEL=info
export MAX_CACHE_SIZE=100
export REQUEST_TIMEOUT=30000
export RETRY_ATTEMPTS=3
export RETRY_DELAY=1000

node dist/index.js

配置文件

创建 openapi-mcp.config.json 项目根目录中的文件:

{
  "openApiUrl": "https://api.example.com/openapi.json",
  "cacheTtl": 3600,
  "cacheDir": ".cache",
  "logLevel": "info",
  "maxCacheSize": 100,
  "requestTimeout": 30000,
  "retryAttempts": 3,
  "retryDelay": 1000
}

可用的MCP工具

1. list_endpoints

列出所有具有可选筛选功能的API端点。

参数:

  • tag (字符串,可选):按标签筛选
  • method (字符串,可选):按HTTP方法筛选
  • deprecated (布尔值,可选):包括/排除已弃用的端点
  • limit (数字,可选):最大结果(默认值:100)
  • offset (数字,可选):跳过结果(默认值:0)

例子:

{
  "tool": "list_endpoints",
  "arguments": {
    "method": "GET",
    "limit": 20
  }
}

2. get_endpoint_details

获取特定端点的详细信息。

参数:

  • path (字符串,必需):API终结点路径
  • method (string,必填):HTTP方法

例子:

{
  "tool": "get_endpoint_details",
  "arguments": {
    "path": "/users/{id}",
    "method": "GET"
  }
}

3. search_endpoints

使用模糊匹配搜索端点。

参数:

  • query (字符串,必填):搜索查询
  • searchIn (数组,可选):要搜索的字段
  • limit (数字,可选):最大结果(默认值:20)

例子:

{
  "tool": "search_endpoints",
  "arguments": {
    "query": "user",
    "searchIn": ["path", "summary"]
  }
}

4. get_schemas

从OpenAPI规范中获取模式定义。

参数:

  • schemaName (字符串,可选):特定架构名称
  • listAll (boolean,可选):列出所有模式名称

例子:

{
  "tool": "get_schemas",
  "arguments": {
    "schemaName": "User"
  }
}

5. generate_code

生成API终结点的代码段。

参数:

  • path (字符串,必需):API终结点路径
  • method (string,必填):HTTP方法
  • language (字符串,必填):编程语言(javascript、typescript、python、curl、axios)
  • includeAuth (布尔值,可选):包括身份验证
  • baseUrl (字符串,可选):覆盖基本URL

例子:

{
  "tool": "generate_code",
  "arguments": {
    "path": "/users/{id}",
    "method": "GET",
    "language": "python",
    "includeAuth": true
  }
}

6. validate_request

根据OpenAPI模式验证请求。

参数:

  • path (字符串,必需):API终结点路径
  • method (string,必填):HTTP方法
  • params (对象,可选):查询和路径参数
  • headers (object,可选):请求标头
  • body (任意,可选):请求正文

例子:

{
  "tool": "validate_request",
  "arguments": {
    "path": "/users",
    "method": "POST",
    "body": {
      "name": "John Doe",
      "email": "john@example.com"
    }
  }
}

7. get_api_info

获取有关API的一般信息。

参数: 无

例子:

{
  "tool": "get_api_info",
  "arguments": {}
}

8. refresh_spec

从服务器刷新OpenAPI规范。

参数:

  • url (字符串,可选):要从中获取的URL(如果未提供,则使用配置的URL)

例子:

{
  "tool": "refresh_spec",
  "arguments": {
    "url": "https://api.example.com/openapi.json"
  }
}

与Claude Code CLI集成

有关将此MCP服务器与Claude Code CLI一起使用的详细说明,请参阅 CLAUDE_CODE_USAGE.md.

快速设置:

# Add the server (after publishing to npm)
claude mcp add openapi-prod -- npx vims-openapi-mcp --url https://api.example.com/openapi.json

# Or use local build
claude mcp add openapi-dev -- node /path/to/dist/index.js --url http://localhost:8080/swagger/doc.json

与Claude Desktop集成

将此服务器添加到您的Claude Desktop配置中:

macOS

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "openapi": {
      "command": "npx",
      "args": ["vims-openapi-mcp", "--url", "https://api.example.com/openapi.json"]
    }
  }
}

视窗

编辑 %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "openapi": {
      "command": "npx",
      "args": ["vims-openapi-mcp", "--url", "https://api.example.com/openapi.json"]
    }
  }
}

发展

# Install dependencies
npm install

# Run in development mode with hot reload
npm run dev

# Build for production
npm run build

# Run tests
npm test

# Clean build artifacts
npm run clean

建筑

核心组件

  1. MCP服务器核心 (src/core/mcp-server.ts)

- 处理MCP协议通信 - 管理工具注册和执行 - 协调规范加载和缓存

  1. OpenAPI客户端 (src/core/openapi-client.ts)

- 从URL获取规格 - 处理重试和错误恢复 - 解析$ref引用 - 验证OpenAPI格式

  1. 缓存管理器 (src/core/cache-manager.ts)

- 用于热数据的LRU内存缓存 - 压缩磁盘缓存以实现持久性 - ETag/上次修改对条件请求的支持 - 自动缓存失效

  1. 工具 (src/tools/)

- 模块化工具实施 - 一致性基础工具类 - 模式验证和错误处理

缓存策略

  • 内存缓存:快速访问常用规格
  • 磁盘缓存:使用gzip压缩的持久存储
  • HTTP缓存:尊重ETags和上次修改的标头
  • 基于TTL的到期:可配置缓存寿命

支持的版本

  • Swagger 2.0(为兼容而自动转换)
  • OpenAPI 3.0.x
  • OpenAPI 3.1.x

错误处理

服务器实现了全面的错误处理:

  • 指数回退重试的网络错误
  • 当规格部分无效时,性能会下降
  • 网络不可用时缓存回退
  • 调试的详细错误消息

性能优化

  • 规范部分的延迟加载
  • 使用Fuse.js进行高效模糊搜索
  • 请求重复数据删除
  • HTTP请求的连接池
  • 压缩缓存存储

安全考虑

  • URL验证和净化
  • 请求超时限制
  • 安全的JSON/YAML解析
  • 不执行任意代码
  • 安全处理身份验证令牌

贡献

欢迎投稿!拜托:

  1. 复刻仓库
  2. 创建要素分支
  3. 添加新功能的测试
  4. 确保所有测试通过
  5. 提交拉取请求

许可证

麻省理工学院

支持

有关问题、疑问或建议,请在GitHub上打开问题。

工具与能力

工具数量

8

资源数量

0

提示词数量

0

能力标签

API开发TypeScript本地部署代码生成OpenAPI接口管理开发工具

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 8 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Openapi Spec MCP Server

MCP World · 本页

8stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Openapi Spec MCP Server 怎么安装?

公开资料给出的安装命令是 npx vims-openapi-mcp --url https://api.example.com/openapi.json,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Openapi Spec MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Openapi Spec MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Openapi Spec MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Openapi Spec MCP Server 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP