MCP-сервер
MCP-сервер — это основная точка взаимодействия для LLM-агентов. Он предоставляет все настроенные API в виде MCP-инструментов, которые LLM может вызывать.
Конфигурация
mcp:
transport: stdioТранспорты
Доступны три типа транспорта:
| Транспорт | Описание | Когда использовать |
|---|---|---|
stdio | Стандартный ввод/вывод | Локальные LLM-клиенты (VS Code, Cursor, Claude Desktop) |
sse | Server-Sent Events | Удалённые клиенты, HTTP-взаимодействие |
streamable-http | HTTP с потоковой передачей | Веб-клиенты, современные MCP-клиенты |
stdio (по умолчанию)
LLM-клиент запускает swag2mcp как дочерний процесс. Взаимодействие происходит через стандартный ввод и вывод. Сетевой порт не требуется.
mcp:
transport: stdioswag2mcp mcpSSE
Транспорт Server-Sent Events для HTTP-взаимодействия. MCP-сервер прослушивает HTTP-порт, а LLM-клиент подключается удалённо.
mcp:
transport: sse
addr: "127.0.0.1:8080"
path: "/mcp"swag2mcp mcp --transport sse --http-addr 127.0.0.1:8080Streamable HTTP
Современный HTTP-транспорт с поддержкой потоковых ответов. Похож на SSE, но использует другой протокол.
mcp:
transport: streamable-http
addr: "127.0.0.1:8080"
path: "/mcp"swag2mcp mcp --transport streamable-http --http-addr 0.0.0.0:8080Параметры
transport
- Тип:
string - По умолчанию:
"stdio" - Варианты:
stdio,sse,streamable-http - Эффект: Определяет, как MCP-сервер взаимодействует с LLM-клиентом.
addr
- Тип:
string - По умолчанию:
":8080" - Описание: Адрес прослушивания для SSE и Streamable HTTP транспортов. Формат:
host:port. - Примеры:
":8080","127.0.0.1:8080","0.0.0.0:9000"
path
- Тип:
string - По умолчанию:
"/mcp" - Описание: URL-путь для MCP-эндпоинта. LLM-клиент отправляет запросы на
http://<addr><path>. - Примеры:
"/mcp","/api/mcp","/v1/mcp"
auth.token
- Тип:
string - По умолчанию:
""(без аутентификации) - Описание: Bearer-токен для аутентификации HTTP-транспорта. Если установлен, LLM-клиент должен включать
Authorization: Bearer <token>в каждый запрос. - Примечание: Поддерживает разрешение
$(ENV_VAR).
HTTP-аутентификация
Защитите MCP HTTP-эндпоинт с помощью bearer-токена:
mcp:
auth:
token: "my-secret-token"Или через флаг CLI:
swag2mcp mcp --auth-token "my-secret-token"Health Check
MCP-сервер предоставляет эндпоинт health check, который работает без инициализации MCP:
curl http://127.0.0.1:8080/health
# {"status":"ok","version":"v1.2.0"}Флаги запуска
Флаги CLI переопределяют YAML-конфигурацию. Если флаг не установлен, значение из раздела mcp в YAML используется как запасной вариант.
| Флаг | Тип | По умолчанию | Описание |
|---|---|---|---|
--transport | string | "stdio" | Тип транспорта: stdio, sse, streamable-http |
--http-addr | string | ":8080" | Адрес HTTP-сервера (для SSE и Streamable HTTP) |
--http-path | string | "/mcp" | URL-путь для MCP-обработчика |
--auth-token | string | "" | Bearer-токен для аутентификации HTTP-транспорта |
--logfile | string | "" | Путь к файлу лога (логи пишутся в stderr, если не указан) |
--disable-llm-auth | bool | true | Удалить инструмент auth из списка MCP-инструментов |
--dump-dir | string | "" | Директория для сохранения HTTP-запросов (отладка) |
--tags | string | "" | Фильтр спецификаций по тегам (через запятую) |