一个模型上下文协议(MCP)服务器,用于加载并提供多个OpenAPI规范,以支持LLM驱动的IDE集成。此服务器作为您的OpenAPI规范与LLM驱动的开发工具(如Cursor和其他代码编辑器)之间的桥梁。
这个开源的MCP服务器由ReAPI赞助,ReAPI是一个简化API设计和测试的下一代API平台。虽然此服务器提供了本地OpenAPI集成用于开发,但ReAPI提供了两个强大的模块:
访问reapi.com免费试用ReAPI,并体验API开发的未来。
要将MCP OpenAPI服务器与Cursor IDE集成,您有两个配置位置选项:
在项目目录中创建一个.cursor/mcp.json文件。此选项推荐使用,因为它允许您为不同的项目维护不同的一组规范。
{
"mcpServers": {
"@reapi/mcp-openapi": {
"command": "npx",
"args": ["-y", "@reapi/mcp-openapi@latest", "--dir", "./specs"],
"env": {}
}
}
}
提示:使用相对路径如
./specs使配置具有可移植性且易于在团队成员之间共享。注意:我们建议使用
@latest标签,因为我们经常更新服务器以添加新特性和改进。重要:项目特定配置有助于管理LLM上下文限制。当所有规范都放在一个文件夹中时,合并后的元数据可能会超过LLM的上下文窗口,导致错误。按项目组织规范可以保持上下文大小可控。
在您的主目录中创建或编辑~/.cursor/mcp.json,以使服务器在所有项目中可用:
{
"mcpServers": {
"@reapi/mcp-openapi": {
"command": "npx",
"args": ["-y", "@reapi/mcp-openapi@latest", "--dir", "/path/to/your/specs"],
"env": {}
}
}
}
添加配置后:
注意:默认情况下,Cursor需要确认每个MCP工具的执行。如果您希望允许自动执行而无需确认,可以在Cursor设置中启用Yolo模式。
现在服务器已准备好使用。当您向目录添加新的OpenAPI规范时,可以通过以下方式刷新目录:
"请刷新API目录"
"重新加载OpenAPI规范"
将您的OpenAPI 3.x规范放置在目标目录中:
.json、.yaml或.yml扩展名规范ID配置:
x-spec-id:openapi: 3.0.0
info:
title: 我的API
version: 1.0.0
x-spec-id: my-custom-api-id # 自定义规范ID
重要:设置自定义
x-spec-id对于处理具有以下情况的多个规范至关重要:
- 相似或相同的端点路径
- 相同的模式名称
- 重叠的操作ID
规范ID有助于区分这些相似资源并防止命名冲突。例如:
# user-service.yaml info: x-spec-id: user-service paths: /users: get: ... # admin-service.yaml info: x-spec-id: admin-service paths: /users: get: ...现在您可以具体引用这些端点为
user-service/users和admin-service/users
refresh-api-catalog
get-api-catalog
search-api-operations
query(字符串):搜索查询specId(可选字符串):要在其中搜索的具体API规范IDsearch-api-schemas
query(字符串):搜索查询specId(可选字符串):要在其中搜索的具体API规范IDload-api-operation-by-operationId
specId(字符串):API规范IDoperationId(字符串):要加载的操作IDload-api-operation-by-path-and-method
specId(字符串):API规范IDpath(字符串):API端点路径method(字符串):HTTP方法load-api-schema-by-schemaName
specId(字符串):API规范IDschemaName(字符串):要加载的模式名称语义搜索
远程规范同步
代码模板
社区贡献
这里是一些您可以在Cursor IDE中使用的示例提示,以与您的API交互:
探索可用API
"显示目录中所有可用API及其操作"
"列出所有API规范及其端点"
API操作详情
"显示创建宠物API端点的详细信息"
"创建新宠物所需的参数是什么?"
"解释宠物创建端点的响应模式"
模式和模拟数据
"为Pet模式生成模拟数据"
"为创建宠物端点创建有效的请求负载"
"基于模式显示有效宠物对象的示例"
代码生成
"为创建宠物API生成Axios客户端"
"为Pet模式创建TypeScript接口"
"编写一个React钩子,调用创建宠物端点"
API集成协助
"帮助我实现宠物API端点的错误处理"
"为宠物API客户端生成单元测试"
"创建一个服务类,封装所有与宠物相关的API调用"
文档和使用
"显示使用curl的宠物API示例用法"
"为宠物API客户端方法生成JSDoc注释"
"创建一个README部分,解释宠物API集成"
验证和类型
"为Pet模型生成Zod验证模式"
"为所有与宠物相关的API响应创建TypeScript类型"
"帮助我实现宠物端点的请求负载验证"
API搜索和发现
"查找所有与宠物管理相关的端点"
"显示接受文件上传的所有API"
"列出返回分页响应的所有端点"
这些提示展示了如何利用MCP服务器的能力进行API开发。请根据您的具体需求自由调整它们或组合它们以完成更复杂的任务。
欢迎贡献!请随时提交Pull Request。