Skip to main content
Glama

OpenAPI MCP Server

OpenAPI MCP-сервер

Сервер Model Context Protocol (MCP), который выставляет конечные точки OpenAPI как ресурсы MCP. Этот сервер позволяет моделям больших языков обнаруживать и взаимодействовать с API REST, определенными спецификациями OpenAPI, через протокол MCP.

Обзор

Этот сервер MCP поддерживает два метода транспортировки:

  1. Stdio Transport (по умолчанию): для прямой интеграции с системами ИИ, такими как Claude Desktop, которые управляют соединениями MCP через стандартный ввод/вывод.
  2. Потоковый HTTP-транспорт : для подключения к серверу по протоколу HTTP, позволяющий веб-клиентам и другим системам с поддержкой HTTP использовать протокол MCP.

Быстрый старт для пользователей

Вариант 1: Использование с Claude Desktop (Stdio Transport)

Нет необходимости клонировать этот репозиторий. Просто настройте Claude Desktop для использования этого сервера MCP:

  1. Найдите или создайте файл конфигурации Claude Desktop:
    • В macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Добавьте следующую конфигурацию:
{ "mcpServers": { "openapi": { "command": "npx", "args": ["-y", "@ivotoby/openapi-mcp-server"], "env": { "API_BASE_URL": "https://api.example.com", "OPENAPI_SPEC_PATH": "https://api.example.com/openapi.json", "API_HEADERS": "Authorization:Bearer token123,X-API-Key:your-api-key" } } } }
  1. Замените переменные среды вашей фактической конфигурацией API:
    • API_BASE_URL : базовый URL вашего API
    • OPENAPI_SPEC_PATH : URL или путь к вашей спецификации OpenAPI
    • API_HEADERS : пары ключ:значение, разделенные запятыми, для заголовков аутентификации API.

Вариант 2: использование с HTTP-клиентами (HTTP-транспорт)

Чтобы использовать сервер с HTTP-клиентами:

  1. Установка не требуется! Используйте npx для прямого запуска пакета:
npx @ivotoby/openapi-mcp-server \ --api-base-url https://api.example.com \ --openapi-spec https://api.example.com/openapi.json \ --headers "Authorization:Bearer token123" \ --transport http \ --port 3000
  1. Взаимодействие с сервером с помощью HTTP-запросов:
# Initialize a session (first request) curl -X POST http://localhost:3000/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"client":{"name":"curl-client","version":"1.0.0"},"protocol":{"name":"mcp","version":"2025-03-26"}}}' # The response includes a Mcp-Session-Id header that you must use for subsequent requests # and the InitializeResult directly in the POST response body. # Send a request to list tools # This also receives its response directly on this POST request. curl -X POST http://localhost:3000/mcp \ -H "Content-Type: application/json" \ -H "Mcp-Session-Id: your-session-id" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' # Open a streaming connection for other server responses (e.g., tool execution results) # This uses Server-Sent Events (SSE). curl -N http://localhost:3000/mcp -H "Mcp-Session-Id: your-session-id" # Example: Execute a tool (response will arrive on the GET stream) # curl -X POST http://localhost:3000/mcp \ # -H "Content-Type: application/json" \ # -H "Mcp-Session-Id: your-session-id" \ # -d '{"jsonrpc":"2.0","id":2,"method":"tools/execute","params":{"name":"yourToolName", "arguments": {}}}' # Terminate the session when done curl -X DELETE http://localhost:3000/mcp -H "Mcp-Session-Id: your-session-id"

Виды транспорта

Stdio-транспорт (по умолчанию)

Транспорт stdio предназначен для прямой интеграции с системами ИИ, такими как Claude Desktop, которые управляют соединениями MCP через стандартный ввод/вывод. Это самая простая настройка, не требующая настройки сети.

Когда использовать : При интеграции с Claude Desktop или другими системами, поддерживающими связь MCP на основе stdio.

Потоковый HTTP-транспорт

HTTP-транспорт позволяет получить доступ к серверу MCP по HTTP, позволяя веб-приложениям и другим HTTP-совместимым клиентам взаимодействовать с протоколом MCP. Он поддерживает управление сеансами, потоковые ответы и стандартные методы HTTP.

Основные характеристики :

  • Управление сеансом с помощью заголовка Mcp-Session-Id
  • HTTP-ответы для запросов initialize и tools/list отправляются синхронно в POST.
  • Другие сообщения от сервера к клиенту (например, результаты tools/execute , уведомления) передаются по соединению GET с использованием событий, отправленных сервером (SSE).
  • Поддержка методов POST/GET/DELETE

Когда использовать : Когда вам нужно предоставить доступ к серверу MCP веб-клиентам или системам, которые взаимодействуют по протоколу HTTP, а не stdio.

Параметры конфигурации

Сервер можно настроить с помощью переменных среды или аргументов командной строки:

Переменные среды

  • API_BASE_URL — базовый URL для конечных точек API
  • OPENAPI_SPEC_PATH — Путь или URL к спецификации OpenAPI
  • API_HEADERS — пары ключ:значение, разделенные запятыми, для заголовков API.
  • SERVER_NAME — имя сервера MCP (по умолчанию: «mcp-openapi-server»)
  • SERVER_VERSION - Версия сервера (по умолчанию: "1.0.0")
  • TRANSPORT_TYPE — тип используемого транспорта: «stdio» или «http» (по умолчанию: «stdio»).
  • HTTP_PORT — порт для HTTP-транспорта (по умолчанию: 3000)
  • HTTP_HOST — Хост для HTTP-транспорта (по умолчанию: «127.0.0.1»)
  • ENDPOINT_PATH — путь к конечной точке для HTTP-транспорта (по умолчанию: "/mcp")

Аргументы командной строки

npx @ivotoby/openapi-mcp-server \ --api-base-url https://api.example.com \ --openapi-spec https://api.example.com/openapi.json \ --headers "Authorization:Bearer token123,X-API-Key:your-api-key" \ --name "my-mcp-server" \ --version "1.0.0" \ --transport http \ --port 3000 \ --host 127.0.0.1 \ --path /mcp

Соображения безопасности

  • HTTP-транспорт проверяет заголовки Origin для предотвращения атак перепривязки DNS.
  • По умолчанию HTTP-транспорт привязывается только к localhost (127.0.0.1)
  • При предоставлении доступа другим хостам рассмотрите возможность внедрения дополнительной аутентификации.

Отладка

Чтобы просмотреть журналы отладки:

  1. При использовании транспорта stdio с Claude Desktop:
    • Журналы появляются в журналах Claude Desktop
  2. При использовании HTTP-транспорта:
    npx @ivotoby/openapi-mcp-server --transport http 2>debug.log

Для разработчиков

Инструменты разработки

  • npm run build — собирает исходный код TypeScript
  • npm run clean — удаляет артефакты сборки
  • npm run typecheck — запускает проверку типов TypeScript
  • npm run lint — запускает ESLint
  • npm run dev — отслеживает исходные файлы и выполняет пересборку при внесении изменений
  • npm run inspect-watch — запускает инспектор с автоматической перезагрузкой при изменениях

Рабочий процесс разработки

  1. Клонировать репозиторий
  2. Установить зависимости: npm install
  3. Запустите среду разработки: npm run inspect-watch
  4. Внесите изменения в файлы TypeScript в src/
  5. Сервер автоматически перестроится и перезапустится.

Внося вклад

  1. Форк репозитория
  2. Создать ветку функций
  3. Внесите изменения
  4. Запуск тестов и линтинга: npm run typecheck && npm run lint
  5. Отправить запрос на извлечение

Лицензия

Массачусетский технологический институт

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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Сервер, который позволяет большим языковым моделям обнаруживать и взаимодействовать с REST API, определенными спецификациями OpenAPI, через протокол контекста модели.

  1. Обзор
    1. Быстрый старт для пользователей
      1. Вариант 1: Использование с Claude Desktop (Stdio Transport)
      2. Вариант 2: использование с HTTP-клиентами (HTTP-транспорт)
    2. Виды транспорта
      1. Stdio-транспорт (по умолчанию)
      2. Потоковый HTTP-транспорт
    3. Параметры конфигурации
      1. Переменные среды
      2. Аргументы командной строки
    4. Соображения безопасности
      1. Отладка
        1. Для разработчиков
          1. Инструменты разработки
          2. Рабочий процесс разработки
          3. Внося вклад
        2. Лицензия

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            An MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.
            Last updated -
            2
            Python
            MIT License
          • -
            security
            F
            license
            -
            quality
            A server based on Model Context Protocol that parses Swagger/OpenAPI documents and generates TypeScript types and API client code for different frameworks (Axios, Fetch, React Query).
            Last updated -
            143
            1
            TypeScript
          • A
            security
            F
            license
            A
            quality
            A Model Context Protocol server that enables large language models to interact with Apache Superset databases through REST API, supporting database queries, table lookups, field information retrieval, and SQL execution.
            Last updated -
            4
            3
            TypeScript
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that provides standardized interfaces for interacting with Ollama API, offering JSON responses, error handling, and intelligent guidance for LLM-based API calls.
            Last updated -
            Python
            MIT License
            • Linux
            • Apple

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/ivo-toby/mcp-openapi-server'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server