未捆绑的OpenAPI MCP服务器
](https://smithery.ai/server/@auto-browse/unbundle_openapi_mcp)
该项目提供了一个模型上下文协议(MCP)服务器,该服务器具有将OpenAPI规范文件拆分为多个文件或将特定端点提取到新文件中的工具。它允许MCP客户端(如AI助手)以编程方式操纵OpenAPI规范。
先决条件
- Node.js(建议使用LTS版本,例如v18或v20)
- npm(附带Node.js)
用法
通过Smithery安装
通过以下方式自动为Claude Desktop安装Unbundle OpenAPI MCP服务器 史密瑟里:
npx -y @smithery/cli install @auto-browse/unbundle_openapi_mcp --client claude使用此服务器的最简单方法是通过 npx,这确保您始终使用最新版本,而不需要全局安装。
npx @auto-browse/unbundle-openapi-mcp@latest或者,您可以全局安装它(通常不推荐):
npm install -g @auto-browse/unbundle-openapi-mcp
# Then run using: unbundle-openapi-mcp服务器将启动并监听标准输入/输出(stdio)上的MCP请求。
客户端配置
要将此服务器与MCP客户端(如VS Code、Cline、Cursor或Claude Desktop)一起使用,请将其配置添加到相应的设置文件中。推荐的方法使用 npx.
VS代码/临床/光标
将以下内容添加到您的用户 settings.json (可通过以下方式访问 Ctrl+Shift+P > Preferences: Open User Settings (JSON))或a .vscode/mcp.json 工作区根目录中的文件。
// In settings.json:
"mcp.servers": {
"unbundle_openapi": { // You can choose any key name
"command": "npx",
"args": [
"@auto-browse/unbundle-openapi-mcp@latest"
]
}
// ... other servers can be added here
},
// Or in .vscode/mcp.json (omit the top-level "mcp.servers"):
{
"unbundle_openapi": { // You can choose any key name
"command": "npx",
"args": [
"@auto-browse/unbundle-openapi-mcp@latest"
]
}
// ... other servers can be added here
}克劳德桌面
将以下内容添加到您的 claude_desktop_config.json 文件。
{
"mcpServers": {
"unbundle_openapi": {
// You can choose any key name
"command": "npx",
"args": ["@auto-browse/unbundle-openapi-mcp@latest"]
}
// ... other servers can be added here
}
}添加配置后,重新启动客户端应用程序以使更改生效。
提供的MCP工具
split_openapi
说明: 执行 redocly split 命令,根据OpenAPI定义文件的结构将其拆分为多个较小的文件。
论据:
apiPath(string,必填):输入OpenAPI定义文件的绝对路径(例如。,openapi.yaml).outputDir(string,必填):应保存分割输出文件的目录的绝对路径。如果此目录不存在,将创建它。
退货:
- 成功时:一条包含标准输出的文本消息
redocly split命令(通常是确认消息)。 - 失败时:包含命令执行中的标准错误或异常详细信息的错误消息,标记为
isError: true.
示例用法(概念MCP请求):
{
"tool_name": "split_openapi",
"arguments": {
"apiPath": "/path/to/your/openapi.yaml",
"outputDir": "/path/to/output/directory"
}
}extract_openapi_endpoints
说明: 从大型OpenAPI定义文件中提取特定端点,并创建一个新的、较小的OpenAPI文件,该文件仅包含这些端点及其引用的组件。它通过拆分原始文件、修改结构以仅保留指定路径,然后捆绑结果来实现这一点。
论据:
inputApiPath(string,必填):指向大型输入OpenAPI定义文件的绝对路径。endpointsToKeep(字符串数组,必填):要包含在最终输出中的确切端点路径(字符串)的列表(例如。,["/api", "/api/projects/{id}{.format}"]).在原始规范中找不到的路径将被忽略。outputApiPath(string,必填):应保存最终较小的捆绑OpenAPI文件的绝对路径。如果目录不存在,将创建该目录。
退货:
- 成功时:一条文本消息,指示创建的文件的路径和来自
redocly bundle命令。 - 失败时:包含失败步骤(拆分、修改、捆绑)详细信息的错误消息,标记为
isError: true.
示例用法(概念MCP请求):
{
"tool_name": "extract_openapi_endpoints",
"arguments": {
"inputApiPath": "/path/to/large-openapi.yaml",
"endpointsToKeep": ["/users", "/users/{userId}/profile"],
"outputApiPath": "/path/to/extracted-openapi.yaml"
}
}注: 此服务器使用 npx @redocly/cli@latest 内部执行底层 split 和 bundle 命令。可能需要互联网连接 npx 拿来 @redocly/cli 如果它没有被缓存。临时文件是在 extract_openapi_endpoints 处理并自动清理。
发展
如果您想从源代码贡献或运行服务器:
- 克隆: 克隆此存储库。
- 导航:
cd unbundle_openapi_mcp - 安装依赖关系:
npm install - 构建:
npm run build(将TypeScript编译为dist/) - 运行:
npm start(使用中的编译代码启动服务器dist/)
