Справочник MCP Config

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

Для изучения концепций см.:

Форма корневой конфигурации

mcp_servers:
  <server_name>:
    command: "..."      # stdio servers
    args: []
    env: {}

    # OR
    url: "..."          # HTTP servers
    headers: {}

    enabled: true
    timeout: 120
    connect_timeout: 60
    tools:
      include: []
      exclude: []
      resources: true
      prompts: true

Ключи сервера

Ключ Тип Применяется к Значение
command string stdio Исполняемый файл для запуска
args list stdio Аргументы для подпроцесса
env mapping stdio Переменные окружения для подпроцесса
url string HTTP Удалённая MCP-конечная точка
headers mapping HTTP Заголовки для запросов к удалённому серверу
enabled bool both Полностью пропустить сервер, если false
timeout number both Тайм-аут вызова инструмента
connect_timeout number both Тайм-аут начального подключения
tools mapping both Политика фильтрации и вспомогательных инструментов
auth string HTTP Метод аутентификации. Установите oauth для включения OAuth 2.1 с PKCE
sampling mapping both Политика инициированных сервером LLM-запросов (см. руководство по MCP)

Ключи политики tools

Ключ Тип Значение
include string or list Белый список собственных MCP-инструментов сервера
exclude string or list Чёрный список собственных MCP-инструментов сервера
resources bool-like Включить/отключить list_resources + read_resource
prompts bool-like Включить/отключить list_prompts + get_prompt

Семантика фильтрации

include

Если задан include, регистрируются только указанные собственные MCP-инструменты сервера.

tools:
  include: [create_issue, list_issues]

exclude

Если задан exclude, а include — нет, регистрируются все собственные MCP-инструменты сервера, кроме указанных.

tools:
  exclude: [delete_customer]

Приоритет

Если заданы оба, приоритет у include.

tools:
  include: [create_issue]
  exclude: [create_issue, delete_issue]

Результат:

Политика вспомогательных инструментов

Hermes может регистрировать следующие вспомогательные обёртки для каждого MCP-сервера:

Ресурсы:

Промпты:

Отключение ресурсов

tools:
  resources: false

Отключение промптов

tools:
  prompts: false

Регистрация с учётом возможностей

Даже если указано resources: true или prompts: true, Hermes регистрирует эти вспомогательные инструменты, только если MCP-сессия действительно предоставляет соответствующую возможность.

Поэтому это нормально:

enabled: false

mcp_servers:
  legacy:
    url: "https://mcp.legacy.internal"
    enabled: false

Поведение:

Поведение при пустом результате

Если фильтрация удаляет все собственные инструменты сервера и не регистрируются вспомогательные инструменты, Hermes не создаёт пустой набор MCP-инструментов для этого сервера.

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

Безопасный белый список GitHub

mcp_servers:
  github:
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "***"
    tools:
      include: [list_issues, create_issue, update_issue, search_code]
      resources: false
      prompts: false

Чёрный список Stripe

mcp_servers:
  stripe:
    url: "https://mcp.stripe.com"
    headers:
      Authorization: "Bearer ***"
    tools:
      exclude: [delete_customer, refund_payment]

Сервер документации только с ресурсами

mcp_servers:
  docs:
    url: "https://mcp.docs.example.com"
    tools:
      include: []
      resources: true
      prompts: false

Перезагрузка конфигурации

После изменения MCP-конфигурации перезагрузите серверы командой:

/reload-mcp

Именование инструментов

Собственные MCP-инструменты сервера становятся:

mcp_<server>_<tool>

Примеры:

Вспомогательные инструменты следуют тому же шаблону префиксов:

Очистка имён

Дефисы (-) и точки (.) в именах серверов и инструментов заменяются на подчёркивания перед регистрацией. Это гарантирует, что имена инструментов являются допустимыми идентификаторами для API вызова функций LLM.

Например, сервер с именем my-api, предоставляющий инструмент list-items.v2, становится:

mcp_my_api_list_items_v2

Учитывайте это при написании фильтров include / exclude — используйте оригинальное имя MCP-инструмента (с дефисами/точками), а не очищенную версию.

Аутентификация OAuth 2.1

Для HTTP-серверов, требующих OAuth, установите auth: oauth в записи сервера:

mcp_servers:
  protected_api:
    url: "https://mcp.example.com/mcp"
    auth: oauth

Поведение: