MCP With Hermes
On this page Это руководство показывает, как использовать MCP с Hermes Agent в повседневной работе. Если на странице описания функции объясняется, что такое MCP, то это руководство — о том, как быстро и безопасно получить от него пользу.
Когда следует использовать MCP?¶
Используйте MCP, когда: * инструмент уже существует в виде MCP, и вы не хотите создавать нативный инструмент Hermes * вы хотите, чтобы Hermes работал с локальной или удалённой системой через чистый слой RPC * вам нужен тонкий контроль над видимостью каждого сервера * вы хотите подключить Hermes к внутренним API, базам данных или корпоративным системам без изменения ядра Hermes
Не используйте MCP, когда: * встроенный инструмент Hermes уже хорошо решает задачу * сервер предоставляет огромную опасную поверхность инструментов, и вы не готовы её фильтровать * вам нужна только одна узкая интеграция, и нативный инструмент был бы проще и безопаснее
Ментальная модель¶
Воспринимайте MCP как уровень адаптации: * Hermes остаётся агентом * MCP-серверы предоставляют инструменты * Hermes обнаруживает эти инструменты при запуске или перезагрузке * модель может использовать их как обычные инструменты * вы контролируете, какая часть каждого сервера видна
Последний пункт важен. Хорошее использование MCP — это не просто «подключить всё». Это «подключить то, что нужно, с минимальной полезной поверхностью воздействия».
Шаг 1: установите поддержку MCP¶
Если вы установили Hermes стандартным скриптом, поддержка MCP уже включена (установщик выполняет uv pip install -e ".[all]").
Если вы установили без дополнительных пакетов и хотите добавить MCP отдельно:
[code]
cd ~/.hermes/hermes-agent
uv pip install -e ".[mcp]"
[/code]
Для серверов на основе npm убедитесь, что Node.js и npx доступны.
Для многих MCP-серверов на Python uvx является удобным вариантом по умолчанию.
Шаг 2: сначала добавьте один сервер¶
Начните с одного безопасного сервера.
Пример: доступ к файловой системе только для одного каталога проекта.
[code]
mcp_servers:
project_fs:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/my-project"]
[/code] Затем запустите Hermes: [code] hermes chat
[/code] Теперь задайте что-нибудь конкретное: [code] Inspect this project and summarize the repo layout.
[/code]
Шаг 3: проверьте загрузку MCP¶
Проверить загрузку MCP можно несколькими способами:
* баннер/статус Hermes должен показывать интеграцию MCP при наличии конфигурации
* спросите у Hermes, какие инструменты доступны
* используйте /reload-mcp после изменений конфигурации
* проверьте логи, если сервер не подключился
Практический тестовый запрос: [code] Tell me which MCP-backed tools are available right now.
[/code]
Шаг 4: начинайте фильтрацию немедленно¶
Не откладывайте, если сервер предоставляет много инструментов.
Пример: разрешите только то, что нужно¶
[code]
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "***"
tools:
include: [list_issues, create_issue, search_code]
[/code] Это обычно лучший вариант по умолчанию для чувствительных систем.
WSL2: мост Hermes в WSL к Chrome на Windows¶
Это практическая настройка, когда:
* Hermes запущен внутри WSL2
* браузер, которым вы хотите управлять, — это ваш обычный Chrome на Windows, где вы авторизованы
* /browser connect неудобен или ненадёжен из WSL
В такой настройке Hermes не подключается к Chrome напрямую. Вместо этого:
* Hermes запущен в WSL
* Hermes запускает локальный MCP-сервер через stdio
* этот MCP-сервер запускается через механизм взаимодействия с Windows (cmd.exe или powershell.exe)
* MCP-сервер подключается к вашему активному сеансу Chrome в Windows
Ментальная модель: [code] Hermes (WSL) -> MCP stdio bridge -> Windows Chrome
[/code]
Зачем нужен этот режим¶
- сохраняется ваш реальный профиль браузера Windows, куки и логины
- Hermes остаётся в поддерживаемой среде Unix (WSL2)
- управление браузером предоставляется через MCP-инструменты вместо использования встроенного транспортного механизма Hermes
Рекомендуемый сервер¶
Используйте chrome-devtools-mcp.
Если в вашем Chrome на Windows уже включена удалённая отладка через chrome://inspect/#remote-debugging, добавьте его из WSL следующим образом:
[code]
hermes mcp add chrome-devtools-win --command cmd.exe --args /c "npx -y chrome-devtools-mcp@latest --autoConnect --no-usage-statistics"
[/code] После сохранения сервера: [code] hermes mcp test chrome-devtools-win
[/code] Затем запустите новый сеанс Hermes или выполните: [code] /reload-mcp
[/code]
Типичный запрос¶
После загрузки Hermes может напрямую использовать MCP-инструменты для браузера. Например: [code] 调用 MCP 工具 mcp_chrome_devtools_win_list_pages,列出当前浏览器标签页。
[/code]
Когда /browser connect — неподходящий инструмент¶
Если Hermes работает в WSL, а Chrome — на Windows, /browser connect может не работать, даже если Chrome открыт и доступен для отладки.
Распространённые причины:
* WSL не может подключиться к той же локальной конечной точке, которую Chrome предоставляет инструментам Windows
* новые механизмы отладки Chrome отличаются от классического ws://localhost:9222
* к браузеру проще подключиться через вспомогательный инструмент на стороне Windows, например chrome-devtools-mcp
В таких случаях оставьте /browser connect для сценариев в одной среде и используйте MCP для связи WSL с браузером Windows.
Известные проблемы¶
- Запускайте Hermes из каталога, смонтированного в Windows, например
/mnt/c/Users/<you>или/mnt/c/workspace/..., при использовании исполняемых файлов Windows через MCP через stdio. - Если запустить Hermes из
/rootили/home/..., Windows может выдать предупреждение о текущем каталоге UNC перед запуском MCP-сервера. - Если
chrome-devtools-mcp --autoConnectзависает при перечислении страниц, уменьшите количество фоновых/замороженных вкладок в Chrome и повторите попытку.
Пример: заблокируйте опасные действия¶
[code]
mcp_servers:
stripe:
url: "https://mcp.stripe.com"
headers:
Authorization: "Bearer ***"
tools:
exclude: [delete_customer, refund_payment]
[/code]
Пример: отключите вспомогательные обёртки¶
[code]
mcp_servers:
docs:
url: "https://mcp.docs.example.com"
tools:
prompts: false
resources: false
[/code]
Что именно фильтруется?¶
В Hermes есть две категории функциональности, предоставляемой через MCP: 1. Собственные MCP-инструменты сервера
-
фильтруются с помощью:
tools.includetools.exclude
-
Вспомогательные обёртки, добавляемые Hermes
-
фильтруются с помощью:
tools.resourcestools.prompts
Вспомогательные обёртки, которые вы можете увидеть¶
Ресурсы:
* list_resources
* read_resource
Промпты:
* list_prompts
* get_prompt
Эти обёртки появляются только если: * ваша конфигурация их разрешает, и * сеанс MCP-сервера действительно поддерживает эти возможности
Таким образом, Hermes не будет делать вид, что у сервера есть ресурсы/промпты, если их нет.
Типовые сценарии¶
Сценарий 1: локальный помощник по проекту¶
Используйте MCP для файловой системы или git-сервера, ограниченного репозиторием, когда хотите, чтобы Hermes оперировал в пределах ограниченной рабочей области.
[code]
mcp_servers:
fs:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/project"]
git:
command: "uvx"
args: ["mcp-server-git", "--repository", "/home/user/project"]
[/code] Хорошие запросы: [code] Review the project structure and identify where configuration lives.
[/code] [code] Check the local git state and summarize what changed recently.
[/code]
Сценарий 2: помощник для сортировки задач GitHub¶
[code]
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]
prompts: false
resources: false
[/code] Хорошие запросы: [code] List open issues about MCP, cluster them by theme, and draft a high-quality issue for the most common bug.
[/code] [code] Search the repo for uses of _discover_and_register_server and explain how MCP tools are registered.
[/code]
Сценарий 3: помощник для внутреннего API¶
[code]
mcp_servers:
internal_api:
url: "https://mcp.internal.example.com"
headers:
Authorization: "Bearer ***"
tools:
include: [list_customers, get_customer, list_invoices]
resources: false
prompts: false
[/code] Хорошие запросы: [code] Look up customer ACME Corp and summarize recent invoice activity.
[/code] Это как раз тот случай, когда строгий белый список намного лучше списка исключений.
Сценарий 4: серверы документации и знаний¶
Некоторые MCP-серверы предоставляют промпты или ресурсы, которые больше похожи на общие активы знаний, чем на прямые действия.
[code]
mcp_servers:
docs:
url: "https://mcp.docs.example.com"
tools:
prompts: true
resources: true
[/code] Хорошие запросы: [code] List available MCP resources from the docs server, then read the onboarding guide and summarize it.
[/code] [code] List prompts exposed by the docs server and tell me which ones would help with incident response.
[/code]
Учебный пример: сквозная настройка с фильтрацией¶
Вот практическая последовательность действий.
Этап 1: добавьте GitHub MCP с жёстким белым списком¶
[code]
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "***"
tools:
include: [list_issues, create_issue, search_code]
prompts: false
resources: false
[/code] Запустите Hermes и спросите: [code] Search the codebase for references to MCP and summarize the main integration points.
[/code]
Этап 2: расширяйте только по необходимости¶
Если позже понадобится обновление задач:
[code]
tools:
include: [list_issues, create_issue, update_issue, search_code]
[/code] Затем перезагрузите: [code] /reload-mcp
[/code]
Этап 3: добавьте второй сервер с другой политикой¶
[code]
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]
prompts: false
resources: false
filesystem:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/project"]
[/code] Теперь Hermes может комбинировать их: [code] Inspect the local project files, then create a GitHub issue summarizing the bug you find.
[/code] Вот где MCP становится мощным: многосистемные рабочие процессы без изменения ядра Hermes.
Рекомендации по безопасному использованию¶
Для опасных систем предпочитайте белые списки¶
Для всего, что связано с финансами, клиентами или разрушительными действиями:
* используйте tools.include
* начинайте с минимально возможного набора
Отключайте неиспользуемые утилиты¶
Если вы не хотите, чтобы модель просматривала предоставляемые сервером ресурсы/промпты, отключите их:
[code]
tools:
resources: false
prompts: false
[/code]
Ограничивайте область действия серверов¶
Примеры: * файловый сервер, ограниченный одним каталогом проекта, а не всей домашней директорией * git-сервер, указывающий на один репозиторий * сервер внутреннего API с преимущественно read-доступом по умолчанию
Перезагружайте после изменений конфигурации¶
[code] /reload-mcp
[/code] Делайте это после изменения: * списков include/exclude * флагов enabled * переключателей resources/prompts * заголовков аутентификации / переменных окружения
Устранение неполадок по симптомам¶
«Сервер подключается, но ожидаемые инструменты отсутствуют»¶
Возможные причины:
* отфильтровано через tools.include
* исключено через tools.exclude
* вспомогательные обёртки отключены через resources: false или prompts: false
* сервер на самом деле не поддерживает ресурсы/промпты
«Сервер настроен, но ничего не загружается»¶
Проверьте:
* не осталось ли в конфигурации enabled: false
* существует ли команда/среда выполнения (npx, uvx и т.д.)
* доступна ли HTTP-конечная точка
* правильны ли переменные окружения аутентификации или заголовки
«Почему я вижу меньше инструментов, чем рекламирует MCP-сервер?»¶
Потому что Hermes теперь соблюдает вашу политику на сервер и регистрацию с учётом возможностей. Это ожидаемо и, как правило, желательно.
«Как удалить MCP-сервер без удаления конфигурации?»¶
Используйте: [code] enabled: false
[/code] Это сохраняет конфигурацию, но предотвращает подключение и регистрацию.
Рекомендуемые первые MCP-настройки¶
Хорошие первые серверы для большинства пользователей: * filesystem * git * GitHub * fetch / серверы документации MCP * один узкий внутренний API
Не очень хорошие первые серверы: * огромные бизнес-системы с множеством разрушительных действий и без фильтрации * всё, что вы недостаточно хорошо понимаете, чтобы ограничивать
Связанные материалы¶
- MCP (Model Context Protocol)
- FAQ
- Ментальная модель
- Шаг 1: установите поддержку MCP
- Шаг 2: сначала добавьте один сервер
- Шаг 3: проверьте загрузку MCP
- Шаг 4: начинайте фильтрацию немедленно
- WSL2: мост Hermes в WSL к Chrome на Windows
- Что именно фильтруется?
- Типовые сценарии
- Учебный пример: сквозная настройка с фильтрацией
- Рекомендации по безопасному использованию
- Устранение неполадок по симптомам
- Рекомендуемые первые MCP-настройки
- Связанные материалы