Skip to main content
Glama

swagger-mcp

Обзор

swagger-mcp — это инструмент, разработанный для скрапинга пользовательского интерфейса Swagger путем извлечения файла swagger.json и динамической генерации четко определенных инструментов mcp во время выполнения. Эти инструменты могут использоваться клиентом MCP для дальнейшего выбора инструментов.

Related MCP server: MCP Swagger Server

📽️ Демонстрационное видео

Посмотрите демонстрационное видео, демонстрирующее проект в действии:
Смотреть демо

🙌 Поддержка

Если вы считаете этот проект ценным, пожалуйста, поддержите меня на LinkedIn :

  • 👍 Лайкните и поделитесь нашим демо-постом

  • 💬 Оставляйте свои мысли и отзывы в комментариях

  • 🔗 Свяжитесь со мной для получения будущих обновлений

Ваша поддержка на LinkedIn поможет мне охватить больше людей и улучшить проект!

Предпосылки

Чтобы использовать swagger-mcp , убедитесь, что у вас есть следующие зависимости:

  1. Ключ API модели LLM / Локальный LLM : требуется доступ к моделям OpenAI, Claude или Ollama.

  2. Любой клиент MCP : (Используется mark3labs - mcphost )

Установка и настройка

Чтобы установить и запустить swagger-mcp , выполните следующие действия:

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

Запустить конфигурацию

Чтобы запустить swagger-mcp напрямую, используйте:

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

Основные флаги:

  • --specUrl : URL-адрес Swagger/OpenAPI JSON (обязательно)

  • --sseMode : запуск в режиме SSE (по умолчанию: false, если true, запускается как сервер SSE, в противном случае используется stdio)

  • --sseAddr : адрес прослушивания сервера SSE в формате IP:Port или :Port (если пусто, будет использоваться IP:Port из --sseUrl)

  • --sseUrl : базовый URL-адрес сервера SSE (если пусто, для генерации будет использоваться sseAddr, например http://IP:Port или http://localhost:Port )

  • Если заданы оба параметра --sseAddr и --sseUrl, они используются «как есть» без автодополнения.

  • --baseUrl : Переопределить базовый URL для запросов API

  • --security : тип безопасности API ( basic , apiKey или bearer )

  • --basicAuth : Базовая аутентификация в формате пользователь:пароль

  • --bearerAuth : токен носителя для заголовка авторизации

  • --apiKeyAuth : ключ(и) API, формат passAs:name=value (например header:token=abc,query:user=foo,cookie:sid=xxx )

  • Все поддерживаемые флаги и параметры см. в main.go.

Конфигурация МКП

Для интеграции с mcphost включите следующую конфигурацию в .mcp.json :

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

Демонстрационный поток

  1. Некоторые аспекты бэкэнда:

    go install github.com/danishjsheikh/go-backend-demo@latest 
    go-backend-demo
  2. Оллама

    ollama run llama3.2
  3. Клиент МСР

    go install github.com/mark3labs/mcphost@latest
    mcphost -m ollama:llama3.2 --config <.mcp.json_file_path>

Диаграмма потока

Диаграмма потока

🛠️ Нужна помощь

Я работаю над улучшением определений инструментов для улучшения:
Лучшая обработка ошибок для более точных ответов
Управление поведением LLM , гарантирующее, что оно полагается только на ответы API и не использует собственную память
Предотвращение галлюцинаций и случайной генерации данных путем обеспечения строгого извлечения данных из API

Если у вас есть идеи или предложения по улучшению этих аспектов, пожалуйста, внесите свой вклад следующим образом:

  • Поделитесь своим опытом с похожими реализациями

  • Предложение изменений в определениях инструментов

  • Предоставление отзывов о текущих ограничениях

Ваш вклад будет бесценным, если вы сделаете этот инструмент более надежным и эффективным! 🚀

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Automatically converts REST APIs with Swagger/OpenAPI documentation into MCP tools, making any documented API accessible to MCP-compatible clients. Supports authentication, SSL handling, and flexible configuration for seamless API integration.
    6 npm
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Dynamically generates MCP tools from Swagger/OpenAPI specifications by extracting swagger.json files at runtime. Enables natural language interaction with any REST API that has Swagger documentation.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A dynamic MCP server that automatically discovers and generates tools from any REST API using OpenAPI/Swagger specifications, enabling instant endpoint access with zero manual configuration.
    MIT