MCP-DOC-MID
MCP-DOC-MID: MCP-сервер для OpenAPI и генерации интеграций
Корпоративный сервер для экосистемы Model Context Protocol (MCP) на Node.js (ES Modules), специализирующийся на изучении, разворачивании ссылок ($ref) и предоставлении LLM возможности запрашивать спецификации OpenAPI/Swagger и генерировать интеграции кода, готовые к продакшену.
Использует @apidevtools/swagger-parser для разрешения в памяти всех указателей и схем компонентов при запуске сервера и предоставляет каталог из 8 инструментов MCP, предназначенных для поиска, инспекции, валидации и генерации HTTP-клиентов на нескольких языках (TypeScript, Python, JavaScript, cURL, C#).
📚 Подробная документация
Для специализированных руководств и полных схем обратитесь к:
🏛️ Руководство по архитектуре системы (
docs/ARCHITECTURE.md): Диаграммы потоков, Session Binding, наблюдаемость, атомарное персистентное хранение и Circuit Breaker.🛠️ Справочник инструментов MCP (
docs/TOOLS_REFERENCE.md): Исчерпывающее описание параметров, JSON-схем и примеров ответов для каждого инструмента.📂 Руководство по файлам Swagger / OpenAPI (
docs/SWAGGER_GUIDE.md): Инструкции по добавлению, проверке и организации файлов.ymlи.json.📋 Спецификация структуры Doters API Internal (
docs/MIDDLEWARE_API_SPEC.md): Анализ 110 endpoints, 221 DTOs, обёрток ответов и 25 доменовmiddleware-api.json.
Related MCP server: mcp-swagger
🏛️ Основные характеристики
Автоматическое чтение и разворачивание ссылок (
swaggers/):Рекурсивное сканирование файлов
.yml,.yamlи.json.Полное разрешение ссылок
$refв компонентах, параметрах и моделях.
Генерация интеграций кода для LLM:
generate_integration_code: генерирует сниппеты и строго типизированные клиенты для любого endpoint.Поддержка TypeScript (
fetch/axios), JavaScript, Python (httpx/requests), cURL и C#.
Проверка и извлечение параметров безопасности:
validate_payload: предварительная проверка соответствия JSON-полезной нагрузки типам и обязательным полям.get_security_schemes: извлечение схем аутентификации (Bearer-токенов, API-ключей, OAuth2).
Двойной транспорт:
STDIO: стандартная интеграция с Claude Desktop, Antigravity, Cursor и расширениями MCP.
SSE / HTTP: сервер Express, поддерживающий
/sse,/messages,/metrics,/healthи/dashboard.
Наблюдаемость и безопасность:
Логи направляются только в
process.stderrчерез Pino.Метрики Prometheus (
prom-client) в/metrics.Привязка сеанса и защита от Session Hijacking в
/messages.
🛣️ Процесс интеграции за 3 шага (Zero-Code)
Чтобы интеграция новых API была 100% масштабируемой, без трения и без изменения ни одной строки кода, сервер реализует Автообнаружение и загрузку по соглашению:
flowchart LR
A["1. Copiar Archivo\n(swaggers/mi-api.json o .yml)"] --> B["2. Auto-Discovery & Caching\n(Hash SHA-256 + Dereference)"]
B --> C["3. Auto-Diagnóstico\n(npm run self-test)"]
C --> D["✅ Disponible en las 8 Tools MCP\n(search_docs, get_endpoint_doc, etc.)"]1️⃣ Шаг 1: Разместите файл в swaggers/
Просто сохраните ваш файл .json, .yml или .yaml в директорию [swaggers/](file:// /c:/Users/Manuel/Documents/vivaaerobus/Doters/MCP/mcp-docu-mid/swaggers).
📁 Рекомендуемая масштабируемая структура (по доменам или микросервисам):
Сканер рекурсивный, поэтому вы можете организовывать файлы в тематические подпапки по мере роста количества API:
swaggers/
├── middleware-api.json # API Core Middleware
├── partners/
│ ├── avasa-car-rental.json # Swagger de Avasa
│ └── iamsa-bus.json # Swagger de IAMSA
├── payments/
│ └── openpay-gateway.yml # OpenAPI de Pasarelas de Pago
└── flights/
└── viva-booking.yaml # OpenAPI de Reservaciones Viva[!TIP] Автоматический идентификатор (
specId):
Система автоматически генерируетspecIdиз базового имени файла:
avasa-car-rental.json→specId: "avasa-car-rental"
openpay-gateway.yml→specId: "openpay-gateway"
2️⃣ Шаг 2: Проверка целостности с помощью npm run self-test
Вам не нужно поднимать MCP-клиенты или вслепую перезапускать серверы. Выполните в терминале:
npm run self-testЧто делает эта команда за время, меньшее 15 мс?
Обнаруживает новый файл и вычисляет его SHA-256 хэш.
Автоматически разрешает и разворачивает все указатели
$ref.Исправляет битые или отсутствующие ссылки, чтобы сервер никогда не выходил из строя.
Генерирует быстродействующий снапшот в
.cache/swaggers/.Выводит сводку в реальном времени:
{
"status": "healthy",
"checks": {
"swaggers": {
"status": "pass",
"specsCount": 4,
"endpointsCount": 285,
"schemasCount": 412
}
}
}3️⃣ Шаг 3: Готово для запросов агентов и LLM
Немедленно, без дополнительной настройки, 8 8 инструментов MCP осваивают новые endpoints и схемы:
Глобальный поиск:
search_docs({ query: "renta autos" })будет искать по всем swaggers одновременно.Фильтрованный поиск:
search_docs({ query: "renta", specName: "avasa-car-rental" })запросит только эту спецификацию.Генерация кода:
generate_integration_code({ path: "/v1/cars/book", language: "typescript" })сгенерирует типизированный клиент.Валидация payload:
validate_payload({ schemaName: "CarBookingDto", payload: { ... } })выполнит проверку по новой модели.
🏆 Рекомендуемые практики для максимального качества в LLM
Чтобы языковые модели генерировали превосходный код и точные ответы при чтении ваших новых swaggers:
Укажите базовый URL (
servers):servers: - url: https://api.vivaaerobus.com/v1 description: Ambiente de ProducciónВставляйте примеры в схемы (
example/examples): Примеры позволяют инструментуgenerate_integration_codeи LLM автоматически создавать реалистичные тестовые данные.Используйте понятные теги (
tags): Группировка по тегам (например,[ "CarRental", "Payments", "Security" ]) позволяет агентам быстро фильтровать наборы endpoints черезsearch_docs({ selector: "Payments" }).Указывайте security-схемы (
components.securitySchemes): ОпишитеbearerFormat: JWT,ApiKeyилиOAuth2, чтобы инструментget_security_schemesвыдавал требуемые заголовки.
🛠️ Доступные инструменты MCP
Инструмент | Описание | Основные параметры |
Выводит список всех загруженных API с их версиями, серверами и количеством маршрутов. | Нет | |
Ищет endpoints, модели и описания по ключевым словам. |
| |
Получает полную и развёрнутую спецификацию endpoint'а. |
| |
Получает модель данных / развёртую схему. |
| |
Генерирует клиентский код, готовый к продакшену (TS, Py, JS, cURL, C#). |
| |
Извлекает схемы аутентификации и требуемые заголовки. |
| |
Проверяет JSON-полезную нагрузку на соответствие схеме endpoint перед вызовом. |
| |
Синтезирует ответы на бизнес- или архитектурные вопросы, связанные с API. |
|
⚙️ Переменные окружения (.env)
Variable | Description | Default Value |
| Режим транспорта ( |
|
| Порт для прослушивания в режиме SSE/HTTP |
|
| Уровень логов ( |
|
| Секретный ключ для API-аутентификации |
|
| Включать/выключать аутентификацию ( |
|
| Разрешённые для CORS источники |
|
| Пользователь для входа в веб-панель |
|
| Пароль для доступа к веб-панели |
|
| Временное окно для ограничения частоты запросов, мс |
|
| Максимум запросов за период |
|
| Сохранение статистики на диск |
|
| Путь к файлу сохранения статистических данных |
|
| Папка со спецификациями OpenAPI |
|
🚀 Быстрый старт
# 1. Instalar dependencias
npm install
# 2. Autodiagnóstico en runtime (<5ms)
npm run self-test
# 3. Iniciar en modo STDIO (predeterminado)
npm start
# 4. Iniciar en modo SSE / HTTP (servidor web)
TRANSPORT_MODE=sse PORT=3000 npm start🧪 Автоматизированные тесты и бенчмарки
В проекте есть комплексный набор тестов: 116 тестов проходят (100%) и покрытие более 93% по инструкциям:
# 1. Ejecutar suite completa de pruebas unitarias y de integración
npm test
# 2. Reporte de cobertura detallado con Vitest y V8 (>93% Stmts)
npm run test:coverage
# 3. Pruebas de carga de alta concurrencia (100 agentes concurrentes)
npm run test:load
# 4. Benchmark de latencia y throughput (<5ms)
npm run benchmark
# 5. Pipeline de integración continua (CI)
npm run test:ci🐳 Деплой с Docker
# Construir imagen Docker multi-stage
docker build -t mcp-doc-mid:latest .
# Ejecutar contenedor en modo SSE
docker run -p 3000:3000 -e TRANSPORT_MODE=sse mcp-doc-mid:latestMaintenance
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
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to explore and query OpenAPI specifications, allowing natural language interaction with API endpoints, parameters, request bodies, and response schemas from any OpenAPI 3.x spec.12MIT
- AlicenseAqualityDmaintenanceExposes Swagger/OpenAPI API documentation to AI models, enabling exploration, search, and interaction with endpoints, schemas, and execution of API calls.14102MIT
- FlicenseNot gradedqualityCmaintenanceBrings OpenAPI/Swagger documentation into AI assistants, enabling endpoint discovery, deep inspection, cURL generation, and TypeScript type generation.
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to understand and interact with OpenAPI specifications, providing deep insight into API structures for faster and more accurate API integration.61MIT
Related MCP Connectors
Point Gecko at an OpenAPI spec; get first-call-correct, auth-hidden agent tools.
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/manuelperezg/mcp-docu-mid'
If you have feedback or need assistance with the MCP directory API, please join our Discord server