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 на серверах)