swagger-mcp

Integrations

  • Integrates with Ollama to allow running local LLMs as an alternative to cloud-based models for processing API interactions.

  • Connects with OpenAI models to process API definitions and interact with Swagger-documented endpoints.

  • Automatically extracts Swagger UI definitions from API endpoints to dynamically generate MCP tools at runtime, enabling AI agents to interact with any Swagger-documented API without manual tool implementation.

fanfarronería-mcp

Descripción general

swagger-mcp es una herramienta diseñada para extraer información de la interfaz de usuario de Swagger extrayendo el archivo swagger.json y generando dinámicamente herramientas mcp bien definidas en tiempo de ejecución. El cliente MCP puede utilizar estas herramientas para una mayor selección de herramientas.

📽️ Vídeo de demostración

Vea el video de demostración que muestra el proyecto en acción:

🙌 Apoyo

Si consideras que este proyecto es valioso, por favor, apóyame en LinkedIn mediante:

  • 👍 Dale me gusta y comparte nuestra publicación de demostración
  • 💬 Deja tus pensamientos y opiniones en los comentarios.
  • 🔗 Conéctate conmigo para futuras actualizaciones

¡Tu apoyo en LinkedIn me ayudará a llegar a más personas y mejorar el proyecto!

Prerrequisitos

Para utilizar swagger-mcp , asegúrese de tener las siguientes dependencias:

  1. Clave API del modelo LLM/LLM local : requiere acceso a los modelos OpenAI, Claude u Ollama.
  2. Cualquier cliente MCP : (se utiliza mark3labs - mcphost )

Instalación y configuración

Siga estos pasos para instalar y ejecutar swagger-mcp :

go install github.com/danishjsheikh/swagger-mcp@latest swagger-mcp

Configuración de ejecución

Para ejecutar swagger-mcp directamente, use:

swagger-mcp --specUrl=https://your_swagger_api_docs.json

Banderas principales:

  • --specUrl : URL JSON de Swagger/OpenAPI (obligatorio)
  • --sseMode : Ejecutar en modo SSE (predeterminado: falso, si es verdadero se ejecuta como servidor SSE, de lo contrario usa stdio)
  • --sseAddr : Dirección de escucha del servidor SSE en formato IP:Puerto o :Puerto (si está vacío, se utilizará IP:Puerto de --sseUrl)
  • --sseUrl : URL base del servidor SSE (si está vacío, se utilizará sseAddr para generar, por ejemplo, http://IP:Port o http://localhost:Port )
  • Si se configuran --sseAddr y --sseUrl, se utilizan tal como están, sin complemento automático.
  • --baseUrl : Anular la URL base para las solicitudes de API
  • --security : tipo de seguridad de API ( basic , apiKey o bearer )
  • --basicAuth : Autenticación básica en formato usuario:contraseña
  • --bearerAuth : Token de portador para el encabezado de autorización
  • --apiKeyAuth : clave(s) API, formato passAs:name=value (por ejemplo header:token=abc,query:user=foo,cookie:sid=xxx )
  • Consulte main.go para ver todas las opciones y banderas admitidas.

Configuración de MCP

Para integrar con mcphost , incluya la siguiente configuración en .mcp.json :

{ "mcpServers": { "swagger_loader": { "command": "swagger-mcp", "args": ["--specUrl=<swagger/doc.json_url>"] } } }

Flujo de demostración

  1. Algunos backend:
    go install github.com/danishjsheikh/go-backend-demo@latest go-backend-demo
  2. Ollama
    ollama run llama3.2
  3. Cliente MCP
    go install github.com/mark3labs/mcphost@latest mcphost -m ollama:llama3.2 --config <.mcp.json_file_path>

Diagrama de flujo

🛠️ ¿Necesitas ayuda?

Estoy trabajando para mejorar las definiciones de herramientas para mejorar:
Mejor manejo de errores para respuestas más precisas
Control de comportamiento de LLM para garantizar que se base únicamente en las respuestas de la API y no utilice su propia memoria
Prevención de alucinaciones y generación aleatoria de datos mediante la aplicación de una recuperación estricta de datos desde las API

Si tienes ideas o sugerencias para mejorar estos aspectos, por favor contribuye:

  • Compartiendo su experiencia con implementaciones similares
  • Sugerir modificaciones a las definiciones de herramientas
  • Proporcionar retroalimentación sobre las limitaciones actuales

¡Sus aportaciones serán invaluables para hacer que esta herramienta sea más confiable y efectiva! 🚀

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

swagger-mcp es una herramienta diseñada para extraer información de la interfaz de usuario de Swagger extrayendo el archivo swagger.json y generando dinámicamente herramientas mcp bien definidas en tiempo de ejecución. El cliente MCP puede utilizar estas herramientas para una mayor selección de herramientas.

  1. Descripción general
    1. 📽️ Vídeo de demostración
      1. 🙌 Apoyo
        1. Prerrequisitos
          1. Instalación y configuración
            1. Configuración de ejecución
              1. Configuración de MCP
                1. Flujo de demostración
                  1. Diagrama de flujo
                    1. 🛠️ ¿Necesitas ayuda?

                      Related MCP Servers

                      • -
                        security
                        A
                        license
                        -
                        quality
                        A Python-based MCP server that integrates OpenAPI-described REST APIs into MCP workflows, enabling dynamic exposure of API endpoints as MCP tools.
                        Last updated -
                        2
                        39
                        Python
                        MIT License
                        • Linux
                        • Apple
                      • -
                        security
                        A
                        license
                        -
                        quality
                        A server that enables interaction with any API that has a Swagger/OpenAPI specification through Model Context Protocol (MCP), automatically generating tools from API endpoints and supporting multiple authentication methods.
                        Last updated -
                        61
                        TypeScript
                        Apache 2.0
                      • -
                        security
                        A
                        license
                        -
                        quality
                        An MCP server that connects to a Swagger specification and helps an AI to build all the required models to generate a MCP server for that service.
                        Last updated -
                        19
                        TypeScript
                        MIT License
                        • Linux
                        • Apple
                      • -
                        security
                        A
                        license
                        -
                        quality
                        MCP server providing token-efficient access to OpenAPI/Swagger specs via MCP Resources for client-side exploration.
                        Last updated -
                        35
                        5
                        TypeScript
                        MIT License

                      View all related MCP servers

                      ID: m0f2x0o51y