loading…
Search for a command to run...
loading…
An MCP server for the comprehensive analysis of Swagger 2.0 and OpenAPI 3.x contracts. It allows users to extract detailed information about endpoints, request/
An MCP server for the comprehensive analysis of Swagger 2.0 and OpenAPI 3.x contracts. It allows users to extract detailed information about endpoints, request/response schemas, parameters, and security configurations from API documentation.
MCP Server para análisis completo de contratos Swagger/OpenAPI con exportación a JSON y generación automática de documentación.
El proyecto sigue arquitectura limpia y principios SOLID con estructura modular donde cada herramienta es completamente autónoma:
mcp-qa/
├── tools/ # Herramientas de QA (una por subdirectorio)
│ └── swagger_analyzer/ # Analizador de contratos Swagger/OpenAPI
│ ├── src/ # Código fuente de la herramienta
│ │ ├── domain/ # Capa de dominio
│ │ │ ├── models.py # Entidades del dominio
│ │ │ ├── interfaces.py # Abstracciones (Fetcher, Parser, Analyzer)
│ │ │ └── exporters.py # Interfaces de exportación
│ │ ├── application/ # Capa de aplicación (casos de uso)
│ │ │ ├── swagger_analyzer.py # Analizador de contratos
│ │ │ ├── complete_analysis_use_case.py # Orquestador principal
│ │ │ └── export_use_cases.py # Casos de uso de exportación
│ │ └── infrastructure/ # Capa de infraestructura
│ │ ├── http_fetcher.py # Obtención HTTP
│ │ ├── contract_parser.py # Parser YAML/JSON
│ │ ├── json_exporter.py # Exportador JSON
│ │ └── markdown_generator.py # Generador de Markdown
│ ├── __init__.py
│ ├── config.py # Configuración de la herramienta
│ └── tool.py # Facade de la herramienta
├── output/ # Salidas generadas (por herramienta)
│ └── swagger_analyzer/ # Salidas del analizador Swagger
│ ├── swagger-analysis.json
│ └── API-README.md
└── main.py # Punto de entrada MCP
src/ con arquitectura limpia completaoutput/# Instalar dependencias
pip install -e .
# Análisis completo: texto + JSON + README
analizar_contrato_swagger("http://localhost:8080/v3/api-docs")
# Con URL de Swagger UI para incluir en README
analizar_contrato_swagger(
"http://localhost:8080/v3/api-docs",
swagger_ui_url="http://localhost:8080/swagger-ui/index.html"
)
# Solo texto, sin generar archivos
analizar_contrato_swagger(
"https://petstore.swagger.io/v2/swagger.json",
generar_json=False,
generar_readme=False
)
# Solo JSON
analizar_contrato_swagger(
"http://localhost:8080/v3/api-docs",
generar_readme=False
)
Todos los archivos se guardan automáticamente en output/swagger_analyzer/:
El analizador extrae:
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mcp-qa": {
"command": "npx",
"args": []
}
}
}