Token导航 LogoToken导航

MCP Server · 运维云端

swagger MCP service

Swagger MCP服务是一个零代码解决方案,能够自动将OpenAPI/Swagger规范转换为MCP工具,使大型语言模型能够无缝交互现有REST API。

stdio官方级别未说明来源级核验工具 0
API转换Python云端部署

快速开始

作者 / 组织
Chrisliao0806
提供方
Chrisliao0806

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

swagger MCP service 属于运维云端类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

Swagger MCP服务

🔄 Automatically Transform Any OpenAPI/Swagger API into MCP (Model Context Protocol) Tools

______________________________________________________________________

🌟 概述

Swagger MCP服务 是一个强大的零代码解决方案,可以自动将任何OpenAPI/Swagger规范转换为MCP(模型上下文协议)工具。这使得大型语言模型(LLM)能够与现有的REST API无缝交互,而无需编写任何自定义集成代码。

主要特点

  • 🚀 零代码集成 -只需提供一个OpenAPI规范URL,系统就会处理所有事情
  • 🔄 动态工具生成 -自动解析API端点并生成MCP工具
  • 🤖 LLM就绪 -通过LangChain与OpenAI GPT模型开箱即用
  • 📋 智能解析 -支持Swagger UI、ReDoc和直接OpenAPI JSON端点
  • ⚙️ 高度可配置的 -通过YAML自定义工具名称、过滤器、系统提示等
  • 🔌 多服务器支持 -同时连接到多个MCP服务器(OpenAPI+第三方)
  • 🆕 自动工具发现 -自动从第三方MCP服务器获取工具描述
  • 🧩 可扩展架构 -服务器、客户端和解析器组件之间的清晰分离
  • 🌐 漂亮的Web界面 -具有实时流式响应的现代聊天用户界面
  • 📊 综合录井 -带有性能指标的彩色控制台日志

______________________________________________________________________

🏗️ 建筑

┌──────────────────────────────────────────────────────────────────────────┐
│                         Swagger MCP Service                               │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                           │
│   ┌─────────────┐        ┌────────────────┐                              │
│   │   Browser   │───────▶│  Web Interface │  (SSE Streaming)             │
│   │   /User     │◀───────│ (web_server.py)│                              │
│   └─────────────┘        └────────┬───────┘                              │
│                                   │                                       │
│   ┌─────────────┐                 │                                       │
│   │     CLI     │────┐            │  FastAPI + LangGraph                  │
│   │  (run.py)   │    │            │                                       │
│   └─────────────┘    │            ▼                                       │
│                      │    ┌──────────────┐     ┌──────────────────────┐  │
│                      └───▶│  MCP Client  │────▶│     LLM (GPT-4)      │  │
│                           │ (client.py)  │◀────│    via LangChain     │  │
│                           └──────┬───────┘     └──────────────────────┘  │
│                                  │                                        │
│                                  │ stdio (multiple connections)           │
│                       ┌──────────┴──────────┐                             │
│                       ▼                     ▼                             │
│               ┌──────────────┐     ┌──────────────────┐                  │
│               │  MCP Server  │     │  3rd Party MCP   │                  │
│               │ (server.py)  │     │ (mcp-server-*)   │                  │
│               └──────┬───────┘     └──────────────────┘                  │
│                      │                                                    │
│                      │ Dynamic Tool Registration                          │
│                      ▼                                                    │
│            ┌─────────────────────┐                                        │
│            │   OpenAPI Parser    │                                        │
│            │ (openapi_parser.py) │                                        │
│            └─────────┬───────────┘                                        │
│                      │                                                    │
│                      │ Parse & Transform                                  │
│                      ▼                                                    │
│           ┌──────────────────────┐                                        │
│           │   OpenAPI/Swagger    │                                        │
│           │    Specification     │                                        │
│           └──────────┬───────────┘                                        │
│                      │                                                    │
└──────────────────────┼────────────────────────────────────────────────────┘
                       │ HTTP Requests
                       ▼
               ┌──────────────┐
    Web Server** | `web_server.py` | 🌐 Beautiful web chat interface with real-time streaming responses |
| **           │  Target API  │
               │   Server     │
               └──────────────┘

组件概述

组件文件描述
运行脚本run.pyCLI的入口点,用于验证、列出工具和运行服务
MCP服务器server.py从OpenAPI规范中动态注册MCP工具并处理API调用
MCP客户端client.py通过LangChain连接到LLM,并提供交互式聊天界面
OpenAPI解析器openapi_parser.py从URL或文件解析OpenAPI/Swagger规范,提取端点
配置config.yamlAPI源、LLM设置和自定义的中心配置

______________________________________________________________________

📦 安装

先决条件

  • Python 3.10或更高版本
  • OpenAI API密钥(用于LLM客户端)

步骤1:克隆存储库

git clone https://github.com/yourusername/swagger_mcp_service.git
cd swagger_mcp_service

步骤2:安装依赖项

pip install -r requirements.txt

步骤3:配置环境变量

创建一个 .env 项目根目录中的文件:

OPENAI_API_KEY=your_openai_api_key_here
OPENAI_MODEL=gpt-4.1-mini  # Optional: override model from config

______________________________________________________________________

⚙️ 配置

所有配置都是通过 generic_mcp/config.yaml。以下是关键部分的细分:

API配置

api:
  # OpenAPI specification source (choose one)
  openapi_url: "http://localhost:8000/openapi.json"  # Direct URL
  # openapi_url: "http://localhost:8000/docs"        # Swagger UI page (auto-detected)
  # openapi_file: "./openapi.json"                   # Local file (takes priority)
  
  # Base URL for API calls (used if not defined in OpenAPI spec)
  base_url: "http://localhost:8000"
  
  # Request timeout in seconds
  timeout: 30

MCP服务器配置(支持多服务器)

mcp_servers:
  # OpenAPI/Swagger type server
  - name: "My API Service"
    type: "openapi"
    enabled: true
    openapi:
      openapi_url: "http://localhost:8000/openapi.json"
      base_url: "http://localhost:8000"
    tool_generation:
      include_all: true
      snake_case_names: true

  # Third-party MCP server (auto tool discovery!)
  - name: "Fetch"
    type: "external"
    enabled: true
    command: "uvx"
    args: ["mcp-server-fetch"]
    # 🆕 No need to write description/tools_description!
    # They are automatically fetched from the MCP server

第三方MCP服务器

您可以连接到任何第三方MCP服务器。 工具描述会自动发现!

mcp_servers:
  # Example: mcp-server-fetch
  - name: "Fetch"
    type: "external"
    enabled: true
    command: "uvx"
    args: ["mcp-server-fetch"]

  # Example: Filesystem server
  - name: "Filesystem"
    type: "external"
    enabled: true
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]

  # Example: GitHub server with environment variables
  - name: "GitHub"
    type: "external"
    enabled: true
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "${GITHUB_TOKEN}"

  # Optional: Override auto-discovered descriptions
  - name: "Custom Server"
    type: "external"
    enabled: true
    command: "my-mcp-server"
    args: []
    description: "Custom description (optional)"
    tools_description: |  # Optional - overrides auto-discovery
      - **tool_name**: Custom tool description

工具生成选项

tool_generation:
  include_all: true                    # Include all endpoints
  exclude_endpoints: []                # Exclude specific endpoints
  snake_case_names: true               # Convert names to snake_case
  simplified_names: true               # Simplify tool names
  # tool_prefix: "myapi_"              # Optional prefix for all tools

LLM配置

llm:
  provider: "openai"
  model: "gpt-4.1-mini"
  temperature: 0

系统提示定制

system_prompt:
  template: |
    You are an AI assistant with access to the following API tools...
    
    Available Variables:
    - {api_name}: API title from OpenAPI spec
    - {api_description}: API description
    - {tools_summary}: Auto-generated tool documentation

______________________________________________________________________

🚀 用法

快速开始

选项1:Web界面(推荐)🌐
  1. 启动您的目标API服务器 (或使用附带的示例):
cd api_swagger_example
uvicorn api_server:app --reload
  1. 配置OpenAPI源代码 在 generic_mcp/config.yaml:
api:
  openapi_url: "http://localhost:8000/openapi.json"
  base_url: "http://localhost:8000"
  1. 启动web服务器:
cd generic_mcp
python web_server.py
Web服务器
# Launch web interface with default config
python web_server.py

# Use custom configuration file
python web_server.py /path/to/my-config.yaml

# Set custom port (default: 8080)
export MCP_WEB_PORT=3000
python web_server.py

# Override LLM model
export OPENAI_MODEL=gpt-4o
python web_server.py
CLI客户端
网络界面

网络界面提供了一个美丽、现代的聊天体验,包括:

  • 💬 实时流媒体 -观看响应逐个生成令牌
  • 🔧 工具调用可视化 -查看何时以及如何调用API工具
  • 🎨 深色主题 -视觉舒适,与克劳德的界面相似
  • 📝 Markdown支持 -格式丰富,代码突出显示
  • 📊 会话管理 -多种对话环境
CLI接口
  1. 打开浏览器 访问:http://localhost:8080
选项2:命令行界面
  1. 运行交互式客户端:
cd generic_mcp
python run.py

命令行选项

# Run interactive client (default)
python run.py

# Use custom configuration file
python run.py --config /path/to/my-config.yaml

# Validate configuration and OpenAPI spec
python run.py --validate

# List all available tools
python run.py --list-tools

# Run server only (for debugging)
python run.py --server-only

交互示例

============================================================
🤖 Procurement System API
============================================================
   Enterprise procurement management system...

👤 You: Show me recent purchase history

🤖 Assisweb_server.py            # 🌐 Web chat interface (FastAPI + SSE)
│   ├── run.py                   # CLI entry point
│   ├── server.py                # MCP server implementation
│   ├── client.py                # MCP client with LangChain
│   ├── openapi_parser.py        # OpenAPI specification parser
│   ├── config.yaml              # Configuration file
│   └── templates/
│       └── index.html           # Web UI templat-----------|
| PH001 | Laptop (Dell)   | 10       | NT$ 42,000 | Digital Co |
| PH002 | Laptop (Lenovo) | 5        | NT$ 52,000 | Tech Corp  |

------------------------------------------------------------

👤 You: Check inventory for Dell laptops

🤖 Assistant:
Dell Latitude 5540 Inventory Status:
- Available: 3 units
- Reserved: 2 units
- Location: Main Warehouse

______________________________________________________________________

📁 项目结构

swagger_mcp_service/
├── README.md                    # This file
├── requirements.txt             # Python dependencies
├── LICENSE                      # MIT License
│
├── generic_mcp/                 # Core MCP service
│   ├── __init__.py
│   ├── run.py                   # CLI entry point
│   ├── server.py                # MCP server implementation
│   ├── client.py                # MCP client with LangChain
│   ├── openapi_parser.py        # OpenAPI specification parser
│   └── config.yaml              # Configuration file
│
└── api_swagger_example/         # Example API server
    └── api_server.py            # FastAPI demo server

4.Web界面流媒体

web服务器使用服务器发送事件(SSE)进行实时流式传输:

  1. 令牌流 -LLM响应逐字符流
  2. 工具事件 - on_tool_start 和 on_tool_end 事件显示API调用
  3. 会话管理 -具有唯一ID的多个对话上下文
  4. 彩色日志 -带有时间戳和日志级别的后端日志
  5. 错误处理 -在UI中显示优美的错误消息

______________________________________________________________________

🔧 运作原理

1.OpenAPI解析

这 OpenAPIParser 类别:

  • 从URL(包括Swagger UI页面)或本地文件加载OpenAPI规范
  • 自动检测并从文档页面中提取OpenAPI JSON
  • 支持OpenAPI 3.x和Swagger 2.0格式

2.动态刀具生成

对于每个API端点,系统生成一个MCP工具:

OpenAPI Endpoint                    →  MCP Tool
───────────────────────────────────────────────────
operationId / path+method           →  tool name (function name)
summary / description               →  tool description (docstring)
path parameters                     →  required parameters (in="path")
query parameters                    →  query parameters (in="query") 
request body properties             →  body parameters

3.运行时执行

当调用工具时:

  1. 参数分类(路径、查询、正文)
  2. URL中的路径参数被替换
  3. 向目标API发出HTTP请求
  4. 响应以JSON格式返回给LLM

______________________________________________________________________

🧪 API服务器示例

这 api_swagger_example/ 该目录包含一个完整的FastAPI演示服务器,模拟企业采购系统。它包括:

  • 📋 购买历史 -查询过去的采购记录
  • 📦 库存管理 -检查库存并索取物品
  • 🏢 供应商管理 -查询供应商信息
  • 🛒 产品目录 -浏览产品和价格
  • 📝 采购申请 -创建和管理采购请求
  • 📄 采购订单 -生成采购订单

运行示例

cd api_swagger_example
uvicorn api_server:app --reload --host 0.0.0.0 --port 8000

访问Swagger用户界面:http://localhost:8000/docs

______________________________________________________________________

🔌 与其他系统集成

与外部API一起使用

只需更新 config.yaml 指向任何符合OpenAPI的API:

mcp_servers:
  - name: "External API"
    type: "openapi"
    enabled: true
    openapi:
      openapi_url: "https://api.example.com/openapi.json"
      base_url: "https://api.example.com"

组合多个MCP服务器

您可以将OpenAPI服务器与第三方MCP服务器结合使用:

mcp_servers:
  # Your internal API
  - name: "Internal API"
    type: "openapi"
    enabled: true
    openapi:
      openapi_url: "http://localhost:8000/openapi.json"
  
  # Web content fetching
  - name: "Fetch"
    type: "external"
    enabled: true
    command: "uvx"
    args: ["mcp-server-fetch"]
  
  # File system access
  - name: "Filesystem"
    type: "external"
    enabled: true
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-filesystem", "./data"]

连接到企业系统

该服务可以与以下内容集成:

  • SAP系统(带OpenAPI网关)
  • Salesforce API
  • 具有OpenAPI规范的AWS服务
  • 任何带有Swagger/OpenAPI文档的REST API
  • 来自社区的第三方MCP服务器

______________________________________________________________________

🛡️ 错误处理

该系统提供稳健的错误处理:

  • 连接错误:当无法访问API服务器时清除消息
  • HTTP错误:带有状态代码的详细错误响应
  • 解析错误:无法解析OpenAPI规范时的有用建议
  • 验证模式:飞行前检查 --validate 旗帜

______________________________________________________________________

📝 定制示例

筛选特定端点

tool_generation:
  include_all: false
  include_endpoints:
    - "get_purchase_history"
    - "create_purchase_order"

排除端点

tool_generation:
  include_all: true
  exclude_endpoints:
    - "delete_all_data"
    - "/admin/*"

添加工具前缀

tool_generation:
  tool_prefix: "procurement_"
  # Results in: procurement_get_inventory, procurement_create_order, etc.

______________________________________________________________________

🤝 贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

______________________________________________________________________

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

______________________________________________________________________

🙏 致谢

______________________________________________________________________

Made with ❤️ for seamless API-to-LLM integration

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

API转换Python本地部署零代码集成LLM交互动态工具生成多服务器支持

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

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

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

同类对比

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

MCP World · 本页

0stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

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

常见问题

5 条

swagger MCP service 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

swagger MCP service 怎么在 Claude Desktop、Cursor 里配置?

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

swagger MCP service 收费吗?

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

swagger MCP service 需要 API Key 吗?

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

swagger MCP service 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP