Skip to main content
Glama
gujord

OpenAPI to Model Context Protocol (MCP)

by gujord

OpenAPI для моделирования контекстного протокола (MCP)

Лицензия: Массачусетский технологический институт Размер репоПоследний коммитОткрытые вопросыВерсия Python

Прокси-сервер OpenAPI-MCP преобразует спецификации OpenAPI в инструменты MCP, позволяя агентам ИИ получать доступ к внешним API без специальных оболочек!

OpenAPI-MCP

Устранение разрыва между агентами ИИ и внешними API

Прокси-сервер OpenAPI to Model Context Protocol (MCP) устраняет разрыв между агентами ИИ и внешними API, динамически преобразуя спецификации OpenAPI в стандартизированные инструменты , ресурсы и подсказки MCP. Это упрощает интеграцию, устраняя необходимость в пользовательских оболочках API.


Если вы считаете это полезным, пожалуйста, поставьте ему ⭐ на GitHub!


Related MCP server: OpenAPI to MCP

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

  • FastMCP Transport: оптимизирован для stdio , работает «из коробки» с популярными оркестраторами LLM.

  • Интеграция OpenAPI: анализирует и регистрирует операции OpenAPI как вызываемые инструменты.

  • Регистрация ресурсов: автоматически преобразует схемы компонентов OpenAPI в объекты ресурсов с определенными URI.

  • Генерация подсказок: создает контекстные подсказки на основе операций API, помогающие магистрам права использовать API.

  • Поддержка OAuth2: обеспечивает аутентификацию компьютера с помощью потока учетных данных клиента.

  • Поддержка JSON-RPC 2.0: полностью совместимая структура запроса/ответа.

  • Автоматические метаданные: извлекает названия инструментов, сводки и схемы из спецификации OpenAPI.

  • Очищенные имена инструментов: обеспечивают совместимость с ограничениями имен MCP.

  • Гибкий анализ параметров: поддерживает строки запросов (с начальным «?») и несколько вариаций JSON (включая ключи с точками и числовыми значениями).

  • Улучшенная обработка параметров: автоматически преобразует параметры в правильные типы данных.

  • Расширенные метаданные инструмента: включают подробную информацию о параметрах и схемы ответов.

Быстрый старт

Установка

git clone https://github.com/gujord/OpenAPI-MCP.git
cd OpenAPI-MCP
pip install -r requirements.txt

Конфигурация оркестратора LLM

Для Claude Desktop , Cursor и Windsurf используйте приведенный ниже фрагмент и соответствующим образом измените пути:

{
  "mcpServers": {

    "petstore3": {
      "command": "full_path_to_openapi_mcp/venv/bin/python",
      "args": ["full_path_to_openapi_mcp/src/server.py"],
      "env": {
        "SERVER_NAME": "petstore3",
        "OPENAPI_URL": "https://petstore3.swagger.io/api/v3/openapi.json"
      },
      "transport": "stdio"
    }

  }
}

Примените эту конфигурацию к следующим файлам:

  • Курсор: ~/.cursor/mcp.json

  • Виндсерфинг: ~/.codeium/windsurf/mcp_config.json

  • Рабочий стол Клода: ~/Library/Application Support/Claude/claude_desktop_config.json

Замените full_path_to_openapi_mcp на фактический путь установки.

Конфигурация среды

Переменная

Описание

Необходимый

По умолчанию

OPENAPI_URL

URL-адрес спецификации OpenAPI

Да

-

SERVER_NAME

Имя сервера MCP

Нет

openapi_proxy_server

OAUTH_CLIENT_ID

Идентификатор клиента OAuth

Нет

-

OAUTH_CLIENT_SECRET

Секрет клиента OAuth

Нет

-

OAUTH_TOKEN_URL

URL конечной точки токена OAuth

Нет

-

OAUTH_SCOPE

Область действия OAuth

Нет

api

Как это работает

  1. Анализирует спецификацию OpenAPI: загружает спецификацию OpenAPI с помощью httpx и PyYAML при необходимости.

  2. Регистрирует операции: извлекает операции API и генерирует MCP-совместимые инструменты с надлежащими схемами ввода и ответа.

  3. Регистрация ресурсов: автоматически преобразует схемы компонентов OpenAPI в объекты ресурсов с назначенными URI (например, /resource/{name} ).

  4. Генерация подсказок: создает контекстные подсказки на основе операций API, чтобы помочь магистрам уровня магистра понять использование API.

  5. Аутентификация: поддерживает аутентификацию OAuth2 через поток учетных данных клиента.

  6. Обработка параметров: преобразует параметры в требуемые типы данных и поддерживает гибкие форматы строк запросов и JSON.

  7. Соответствие JSON-RPC 2.0: обеспечивает стандартные протоколы связи для взаимодействия инструментов.

sequenceDiagram
    participant LLM as LLM (Claude/GPT)
    participant MCP as OpenAPI-MCP Proxy
    participant API as External API

    Note over LLM, API: Communication Process

    LLM->>MCP: 1. Initialize (initialize)
    MCP-->>LLM: Metadata, tools, resources, and prompts

    LLM->>MCP: 2. Request tools (tools_list)
    MCP-->>LLM: Detailed list of tools, resources, and prompts

    LLM->>MCP: 3. Call tool (tools_call)

    alt With OAuth2
        MCP->>API: Request OAuth2 token
        API-->>MCP: Access Token
    end

    MCP->>API: 4. Execute API call with proper formatting
    API-->>MCP: 5. API response (JSON)

    alt Type Conversion
        MCP->>MCP: 6. Convert parameters to correct data types
    end

    MCP-->>LLM: 7. Formatted response from API

    alt Dry Run Mode
        LLM->>MCP: Call with dry_run=true
        MCP-->>LLM: Display request information without executing call
    end

Ресурсы и подсказки

Помимо инструментов, прокси-сервер теперь автоматически регистрирует:

  • Ресурсы: полученные из схем компонентов OpenAPI, объекты ресурсов регистрируются с определенными URI (например, /resource/{name} ) для структурированной обработки данных.

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

Эти расширенные метаданные улучшают интеграцию, предоставляя полный контекст API.

OpenAPI-MCP

Внося вклад

  • Сделайте форк этого репозитория.

  • Создайте новую ветку.

  • Отправьте запрос на извлечение с четким описанием ваших изменений.

Лицензия

Лицензия Массачусетского технологического института

Если вы считаете это полезным, пожалуйста, поставьте ему ⭐ на GitHub!

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    A dynamic proxy that converts OpenAPI Specification (OAS) endpoints into Message Communication Protocol (MCP) tools, allowing AI agents to use existing REST APIs as if they were native MCP tools without manual implementation.
    Last updated
    16
  • A
    license
    -
    quality
    F
    maintenance
    A standalone proxy that transforms any OpenAPI or Swagger-described REST API into an MCP server by mapping API operations to executable MCP tools. It enables AI clients to interact with existing web services through automated HTTP requests based on their official documentation.
    Last updated
    13
    16
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    A universal MCP server that connects any REST API to AI assistants via OpenAPI or Postman specifications. It enables dynamic tool creation with GraphQL-style field selection and automatic schema inference for efficient data retrieval.
    Last updated
    47
    5
    Inno Setup
  • A
    license
    -
    quality
    B
    maintenance
    Turns any OpenAPI specification into a fully working MCP server with a single command, enabling AI agents to call APIs without writing any glue code.
    Last updated
    27
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

  • Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

View all MCP Connectors

Latest Blog Posts

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/gujord/OpenAPI-MCP'

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