sidebar_position: 8 title: "MCP Config Reference" description: "Reference for Hermes Agent MCP configuration keys, filtering semantics, and utility-tool policy" lang: ru


Справочник по конфигурации 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

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

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

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

Ключ Тип Значение
include строка или список Белый список инструментов MCP, встроенных в сервер
exclude строка или список Собственные серверные инструменты MCP в черный список
resources булообразный Включить/выключить list_resources + read_resource
prompts булообразный Включить/выключить 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]

Результат: - 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 действительно предоставляет соответствующую возможность.

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

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

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

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_<server>_list_resources - mcp_<server>_read_resource - mcp_<server>_list_prompts - mcp_<server>_get_prompt

Очистка имен

Дефисы (-) и точки (.) в именах серверов и инструментах перед регистрацией заменяются символами подчеркивания. Это гарантирует, что имена инструментов являются действительными идентификаторами для 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

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