OpenAPI MCP-сервер
Сервер Model Context Protocol (MCP), который выставляет конечные точки OpenAPI как ресурсы MCP. Этот сервер позволяет моделям больших языков обнаруживать и взаимодействовать с API REST, определенными спецификациями OpenAPI, через протокол MCP.
Обзор
Этот сервер MCP поддерживает два метода транспортировки:
- Stdio Transport (по умолчанию): для прямой интеграции с системами ИИ, такими как Claude Desktop, которые управляют соединениями MCP через стандартный ввод/вывод.
- Потоковый HTTP-транспорт : для подключения к серверу по протоколу HTTP, позволяющий веб-клиентам и другим системам с поддержкой HTTP использовать протокол MCP.
Быстрый старт для пользователей
Вариант 1: Использование с Claude Desktop (Stdio Transport)
Нет необходимости клонировать этот репозиторий. Просто настройте Claude Desktop для использования этого сервера MCP:
- Найдите или создайте файл конфигурации Claude Desktop:
- В macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- В macOS:
- Добавьте следующую конфигурацию:
- Замените переменные среды вашей фактической конфигурацией API:
API_BASE_URL
: базовый URL вашего APIOPENAPI_SPEC_PATH
: URL или путь к вашей спецификации OpenAPIAPI_HEADERS
: пары ключ:значение, разделенные запятыми, для заголовков аутентификации API.
Вариант 2: использование с HTTP-клиентами (HTTP-транспорт)
Чтобы использовать сервер с HTTP-клиентами:
- Установка не требуется! Используйте npx для прямого запуска пакета:
- Взаимодействие с сервером с помощью HTTP-запросов:
Виды транспорта
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 для конечных точек APIOPENAPI_SPEC_PATH
— Путь или URL к спецификации OpenAPIAPI_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")
Аргументы командной строки
Соображения безопасности
- HTTP-транспорт проверяет заголовки Origin для предотвращения атак перепривязки DNS.
- По умолчанию HTTP-транспорт привязывается только к localhost (127.0.0.1)
- При предоставлении доступа другим хостам рассмотрите возможность внедрения дополнительной аутентификации.
Отладка
Чтобы просмотреть журналы отладки:
- При использовании транспорта stdio с Claude Desktop:
- Журналы появляются в журналах Claude Desktop
- При использовании HTTP-транспорта:
Для разработчиков
Инструменты разработки
npm run build
— собирает исходный код TypeScriptnpm run clean
— удаляет артефакты сборкиnpm run typecheck
— запускает проверку типов TypeScriptnpm run lint
— запускает ESLintnpm run dev
— отслеживает исходные файлы и выполняет пересборку при внесении измененийnpm run inspect-watch
— запускает инспектор с автоматической перезагрузкой при изменениях
Рабочий процесс разработки
- Клонировать репозиторий
- Установить зависимости:
npm install
- Запустите среду разработки:
npm run inspect-watch
- Внесите изменения в файлы TypeScript в
src/
- Сервер автоматически перестроится и перезапустится.
Внося вклад
- Форк репозитория
- Создать ветку функций
- Внесите изменения
- Запуск тестов и линтинга:
npm run typecheck && npm run lint
- Отправить запрос на извлечение
Лицензия
Массачусетский технологический институт
This server cannot be installed
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, через протокол контекста модели.
- Обзор
- Быстрый старт для пользователей
- Виды транспорта
- Параметры конфигурации
- Соображения безопасности
- Отладка
- Для разработчиков
- Лицензия
Related Resources
Related MCP Servers
- -securityAlicense-qualityAn MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.Last updated -2PythonMIT License
- -securityFlicense-qualityA 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 -1431TypeScript
- AsecurityFlicenseAqualityA 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 -43TypeScript
- -securityAlicense-qualityA 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 -PythonMIT License