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