Token导航 LogoToken导航TokenDH.com
MCP Swagger CLI logo
开发工具stdio官方级别未说明来源级核验

MCP Swagger CLI

MCP Server

MCP Swagger CLI是一个命令行工具,用于从Swagger/OpenAPI规范生成可运行的MCP服务器,将API操作映射到MCP工具,模式映射到MCP资源。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
PythonClaude命令行工具Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jnotsknab

提供方

jnotsknab

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install mcp-swagger-cli

详细介绍

MCP Swagger命令行界面

MCP Swagger CLI是一个命令行工具,可根据Swagger/OpenAPI规范生成可运行的MCP服务器。它将API操作映射到MCP工具,将模式映射到MCP资源,并提供一个完整的、随时可用的MCP服务器实现。

特性

  • 解析OpenAPI 3.x和Swagger 2.0 规格
  • 生成MCP工具 来自API操作(GET、POST、PUT、DELETE等)
  • 生成MCP资源 来自API架构
  • 多种运输支持:stdio和SSE/HTTP
  • 自动类型转换 从JSON模式到Python类型
  • 带有进度反馈的CLI 和验证

安装

使用pip

pip install mcp-swagger-cli

使用紫外线(推荐用于速度)

uv pip install mcp-swagger-cli

开发安装

git clone https://github.com/mcp-swagger/mcp-swagger-cli.git
cd mcp-swagger-cli
pip install -e .

用法

基本用法

根据Swagger/OpenAPI规范生成MCP服务器:

mcp-swagger create https://petstore.swagger.io/v2/swagger.json -o ./my_mcp_server

使用自定义选项

mcp-swagger create ./api_spec.yaml \
    --output ./my_server \
    --name my_api \
    --transport stdio \
    --base-url https://api.example.com \
    --api-key-env MY_API_KEY \
    --api-key-header Authorization \
    --api-key-prefix Bearer

验证规范

在生成之前,请验证您的OpenAPI规范:

mcp-swagger validate-spec https://petstore.swagger.io/v2/swagger.json

查看规格信息

显示有关规范的信息,而不生成:

mcp-swagger info https://petstore.swagger.io/v2/swagger.json

命令参考

mcp-swagger create

根据Swagger/OpenAPI规范创建MCP服务器。

Usage: mcp-swagger create  [OPTIONS]

Arguments:
  spec                  URL or file path to Swagger/OpenAPI specification

Options:
  -o, --output PATH           Output directory for generated MCP server
  -n, --name TEXT             Name for the generated MCP server
  -t, --transport TEXT        Transport type (stdio or sse)
  -b, --base-url TEXT         Base URL for API requests
  --validate / --no-validate  Validate specification before generating
  -f, --force                 Overwrite output directory if it exists
  -v, --verbose               Enable verbose output
  --api-key-env TEXT          Environment variable name to read API key from at runtime
  --api-key-header TEXT       HTTP header name for API key (default: Authorization)
  --api-key-prefix TEXT       Prefix for API key in header (e.g., 'Bearer', 'Token', 'Bot', or empty)
  -H, --header TEXT           Custom HTTP header as 'Name: Value' (repeatable)
  -T, --tag TEXT              Filter operations by tag (repeatable)
  --path-filter TEXT          Filter operations by path substring (repeatable)
  --max-operations INT        Warn and abort if filtered operation count exceeds this number
  --help                      Show this message and exit.

过滤大规格

像Stripe或Discord这样的大型API可以生成无法管理的大型服务器。使用 --path-filter--tag 生成范围:

# Filter by path substring (Discord guild endpoints only)
mcp-swagger create ./discord.json -o ./server --path-filter /guilds --path-filter /channels

# Filter by tag
mcp-swagger create ./api.json -o ./server --tag payments --tag customers

# Abort if too many operations
mcp-swagger create ./api.json -o ./server --max-operations 50
注: 一些API(例如Stripe)使用单个 default 标签用于所有操作。使用 --path-filter 而不是 --tag 为了这些。

mcp-swagger validate-spec

验证Swagger/OpenAPI规范。

Usage: mcp-swagger validate-spec  [OPTIONS]

Arguments:
  spec    URL or file path to Swagger/OpenAPI specification

Options:
  -v, --verbose    Show detailed validation results
  --help           Show this message and exit.

mcp-swagger info

显示有关Swagger/OpenAPI规范的信息。

Usage: mcp-swagger info  [OPTIONS]

Arguments:
  spec    URL or file path to Swagger/OpenAPI specification

Options:
  --help    Show this message and exit.

生成的服务器使用情况

生成MCP服务器后,请按照以下步骤使用它:

1.安装服务器

cd my_mcp_server
pip install -e .

2.运行服务器

标准运输 (建议用于Claude Desktop):

my_mcp_server

苏格兰和南方能源公司运输 (用于远程访问):

my_mcp_server --sse 8000

3.使用Claude Desktop进行配置

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "my_mcp_server": {
      "command": "my_mcp_server",
      "args": []
    }
  }
}

运作原理

MCP Swagger CLI解析您的OpenAPI/Swagger规范并生成:

  1. MCP工具 -每个API操作都成为一个MCP工具,具有:

- 工具名称来自 operationId (或生成) - 描述来自 summary/description - 来自路径/查询/标头参数的参数 - 请求身体支持

  1. MCP资源 -每个模式都成为MCP资源:

- schema://api/schemas -所有模式列表 - schema://api/{schema_name} -单个模式定义 - api://operations -所有操作列表

  1. 运输 -支持:

- stdio -标准I/O(本地,默认) - sse -服务器通过HTTP发送事件

例子

示例 示例规范和用法目录。

发展

运行测试

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/ -v

项目结构

mcp-swagger-cli/
├── mcp_swagger_cli/
│   ├── __init__.py
│   ├── cli.py           # CLI commands
│   ├── generator.py     # Server generation logic
│   ├── parser.py        # OpenAPI parsing
│   ├── exceptions.py    # Custom exceptions
│   └── templates/       # Jinja2 templates
├── tests/               # Test suite
├── pyproject.toml       # Project configuration
└── README.md            # This file

需求

  • Python 3.10+
  • typer(CLI框架)
  • httpx(HTTP客户端)
  • prance(OpenAPI解析器)
  • jinja2(模板引擎)

许可证

MIT许可证-请参阅 许可证 了解详情。

贡献

欢迎投稿!请阅读我们的 贡献指南 第一。

相关

目录标签

目录标签

PythonClaude命令行工具API转换工具本地部署OpenAPI解析服务器生成MCP工具

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP