Справочник по конфигурации MCP

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

Концептуальные рекомендации см.: - MCP (Протокол контекста модели) - Использовать MCP с Hermes

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

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

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

Ключ Тип Применяется к Значение
команда строка студия Исполняемый файл для запуска
аргументы список студия Аргументы в пользу подпроцесса
окр картографирование студия Среда передана в подпроцесс
url строка HTTP Удаленная конечная точка MCP
заголовки картографирование HTTP Заголовки для запросов к удаленному серверу
включено бул оба Полностью пропустить сервер, если false
тайм-аут номер оба Тайм-аут вызова инструмента
connect_timeout номер оба Тайм-аут начального соединения
инструменты картографирование оба Политика фильтрации и утилит
авторизация строка HTTP Метод аутентификации. Установите значение oauth, чтобы включить OAuth 2.1 с PKCE
выборка картографирование оба Политика запросов LLM, инициируемых сервером (см. руководство MCP)

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

Ключ Тип Значение
включить строка или список Белый список инструментов MCP, встроенных в сервер
исключить строка или список Собственные серверные инструменты MCP в черный список
ресурсы булообразный Включить/отключить list_resources + read_resource
подсказки булообразный Включить/отключить list_prompts + get_prompt

Фильтрация семантики

включить

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

tools:
  include: [create_issue, list_issues]

исключить

Если установлено «exclude», а «include» — нет, регистрируется каждый серверный инструмент MCP, кроме этих имен.

tools:
  exclude: [delete_customer]

Приоритет

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

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

Результат: - create_issue по-прежнему разрешено - delete_issue игнорируется, поскольку include имеет приоритет.

Политика служебных инструментов

Hermes может зарегистрировать эти оболочки утилит для каждого сервера MCP:

Ресурсы: - list_resources - read_resource

Подсказки: - list_prompts - get_prompt

Отключить ресурсы

tools:
  resources: false

Отключить подсказки

tools:
  prompts: false

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

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

Итак, это нормально: - вы включаете подсказки - но утилиты подсказки не появляются - потому что сервер не поддерживает подсказки

включено: ложь

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

Черный список полос

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>

Примеры: - mcp_github_create_issue - mcp_filesystem_read_file - mcp_my_api_query_data

Служебные инструменты используют тот же шаблон префиксов: - mcp_<сервер>_list_resources - mcp_<сервер>_read_resource - mcp_<сервер>_list_prompts - mcp_<сервер>_get_prompt

Очистка имен

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

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

mcp_my_api_list_items_v2

Помните об этом при написании фильтров «включить» или «исключить» — используйте оригинальное имя инструмента MCP (с дефисами и точками), а не очищенную версию.

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

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

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

Поведение: - Hermes использует поток OAuth 2.1 PKCE MCP SDK (обнаружение метаданных, динамическая регистрация клиентов, обмен токенами и обновление). - При первом подключении открывается окно браузера для авторизации - Токены сохраняются в ~/.hermes/mcp-tokens/<server>.json и повторно используются в разных сеансах. - Обновление токена происходит автоматически; повторная авторизация происходит только в случае сбоя обновления - Применяется только к транспорту HTTP/StreamableHTTP (серверы на основе URL).