Hermes Agent и API: как агент работает с внешними сервисами

Hermes Agent — это AI-агент, который подключается к внешним сервисам через стандартный протокол MCP (Model Context Protocol), встроенные инструменты и HTTP API. В отличие от обычных чат-ботов, Hermes может напрямую работать с GitHub, базами данных, файловыми системами, браузерами и сотнями SaaS-приложений — без написания кастомного кода для каждой интеграции.

Что такое MCP (Model Context Protocol)?

MCP — это открытый стандарт для подключения AI-агентов к внешним инструментам и источникам данных. Протокол разработан Anthropic в ноябре 2024 года и передан в Linux Foundation в 2025 году. Его часто называют «USB-C для AI» — единый разъём, к которому подключается любое устройство.

MCP решает фундаментальную проблему: раньше каждый AI-фреймворк имел свою систему плагинов. Hermes содержал 40+ встроенных инструментов, но добавление новой интеграции требовало написания Python-кода, регистрации в реестре инструментов и перезапуска агента. С MCP любой сервер инструментов, говорящий на этом протоколе, становится мгновенно доступным.

Hermes поддерживает MCP с версии v0.2.0 как клиент, а с v0.6.0 — и как сервер. Это двунаправленная интеграция: агент может использовать внешние инструменты и одновременно предоставлять свои данные другим клиентам.

Как Hermes подключается к внешним API?

Hermes использует три уровня интеграции с внешними сервисами:

1. MCP-серверы (основной способ)

MCP-серверы настраиваются в файле ~/.hermes/config.yaml в разделе mcp_servers. При запуске Hermes подключается к каждому серверу, выполняет рукопожатие (handshake) и автоматически обнаруживает доступные инструменты. После этого они появляются в списке инструментов агента наравне с встроенными — terminal, read_file, web_search.

Два типа MCP-серверов:

Stdio-серверы запускаются как локальные процессы и общаются через stdin/stdout:

mcp_servers:
  github:
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_your_token"

HTTP-серверы — удалённые эндпоинты, к которым Hermes подключается напрямую:

mcp_servers:
  company_api:
    url: "https://mcp.internal.example.com"
    headers:
      Authorization: "Bearer your_token"

2. Встроенные инструменты

Hermes поставляется с 40+ нативными инструментами, которые не требуют дополнительной настройки: работа с файловой системой, терминал, веб-поиск, браузер, отправка сообщений. Эти инструменты оптимизированы для конкретных задач и работают быстрее, чем MCP-эквиваленты.

3. API-сервер (OpenAI-совместимый)

Hermes можно выставить как HTTP-эндпоинт, совместимый с форматом OpenAI. Любой фронтенд, говорящий на этом формате — Open WebUI, LobeChat, LibreChat, NextChat — может подключиться и использовать Hermes как бэкенд с полным набором инструментов.

Какие внешние сервисы поддерживаются через MCP?

Через MCP Hermes получает доступ к сотням внешних инструментов. Вот самые востребованные:

Сервис Что делает Ключевые инструменты
GitHub Управление репозиториями, PR, issues create_issue, create_pull_request, search_repositories
PostgreSQL Запросы к БД, инспекция схемы query, list_tables, describe_table
Playwright Браузерная автоматизация, скрейпинг navigate, screenshot, click, fill
Composio 250+ SaaS-интеграций Gmail, Slack, Notion, Jira и другие
SQLite Доступ к локальным БД read_query, write_query, list_tables
Filesystem Файловые операции вне workspace read_file, write_file, list_directory
Linear Управление проектами и задачами find_issues, get_issue, create_issue
Sentry Мониторинг ошибок get_issue, list_issues

Composio особенно мощный: через один MCP-сервер Hermes получает доступ к QuickBooks, Stripe, Google Sheets, AWS и множеству других сервисов. Можно собирать финансовые агенты, контентных агентов или DevOps-агентов — всё через единый протокол.

Как настроить MCP-сервер для Hermes?

Пошаговая инструкция:

Шаг 1. Установите Hermes Agent (если ещё не установлен):

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Шаг 2. Откройте конфигурационный файл:

nano ~/.hermes/config.yaml

Шаг 3. Добавьте MCP-сервер. Например, для работы с файловой системой:

mcp_servers:
  filesystem:
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]

Шаг 4. Запустите Hermes:

hermes chat

Шаг 5. Попросите агента использовать подключённый инструмент:

Покажи структуру файлов в /home/user/projects

Hermes автоматически обнаружит инструменты MCP-сервера и использует их как свои собственные.

Установка через каталог

Hermes поставляется с курируемым каталогом MCP-серверов, проверенных командой Nous:

hermes mcp                # интерактивный выбор
hermes mcp catalog        # список для скриптов
hermes mcp install n8n    # установка по имени

Каталог показывает статус каждого сервера: available, enabled, installed (disabled). При установке Hermes запрашивает необходимые ключи API и позволяет выбрать, какие инструменты暴露ировать.

Как фильтровать инструменты MCP?

MCP-серверы могут暴露ировать десятки инструментов. GitHub-сервер alone содержит 20+. Показывать все из них — расточительно: описание каждого инструмента попадает в системный промпт и расходует токены.

Поле tools.include решает эту проблему:

mcp_servers:
  github:
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_your_token"
    tools:
      include:
        - "create_issue"
        - "search_repositories"
        - "get_file_contents"
        - "create_pull_request"

При установке через каталог Hermes показывает чеклист доступных инструментов с возможностью выбора. Отмеченные инструменты попадают в конфигурацию, остальные — игнорируются.

Как Hermes работает с OAuth-сервисами?

Многие облачные MCP-серверы (Linear, Sentry, Atlassian, Figma, Stripe) требуют OAuth 2.1 вместо статического токена. Hermes обрабатывает это автоматически:

mcp_servers:
  linear:
    url: "https://mcp.linear.app/mcp"
    auth: oauth

При первом подключении Hermes:

  • Отображает URL для авторизации
  • Открывает браузер (если возможно)
  • Ожидает OAuth-callback на локальном порту
  • Кеширует токены в ~/.hermes/mcp-tokens/ с правами 0o600
  • Последующие запуски переиспользуют токены автоматически до тех пор, пока они не истекут.

    Удалённые серверы без браузера

    Когда Hermes работает на другом сервере, callback не может достичь вашего браузера. Два варианта:

  • Вставка URL вручную: Hermes выводит «Or paste the redirect URL here…» рядом с ссылкой авторизации. Откройте ссылку в браузере, авторизуйтесь, скопируйте URL из адресной строки и вставьте в терминал.
  • SSH-туннель: ssh -N -L :127.0.0.1: user@host в отдельном терминале, затем дайте OAuth-потоку завершиться normally.
  • Как использовать Hermes как MCP-сервер?

    Hermes может работать в обратном направлении — предоставлять свои данные другим AI-инструментам:

    hermes mcp serve
    

    Это暴露ирует инструменты:

  • browse_conversations — список и пагинация сессий Hermes
  • read_messages — полная история сообщений конкретной сессии
  • search_sessions — полнотекстовый поиск по всем сессиям
  • manage_attachments — доступ к файлам и артефактам
  • Добавьте Hermes в конфигурацию Claude Desktop:

    {
      "mcpServers": {
        "hermes": {
          "command": "hermes",
          "args": ["mcp", "serve"]
        }
      }
    }
    

    Теперь можно спросить в Claude Desktop: «Что мой Hermes-агент нашёл про проблему с базой данных во вторник?» — и получить полный контекст из той сессии.

    Какие практические сценарии использования MCP?

    Агент код-ревью

    Подключите GitHub MCP с фильтром на get_file_contents, create_issue, create_review. Настройте cron-задачу на проверку новых PR каждые 30 минут. Hermes анализирует diff, создаёт навыки из паттернов ревью и со временем становится лучше в обнаружении проблем.

    Мониторинг базы данных

    Подключите PostgreSQL MCP с read-only credentials. Настройте почасовые запросы к логам медленных запросов, bloat таблиц и количеству соединений. Hermes изучает нормальные паттерны вашей БД и создаёт навыки для обнаружения аномалий. Результаты доставляются в Telegram через messaging gateway.

    Финансовый конвейер

    Используйте Composio MCP для подключения QuickBooks, Stripe и Google Sheets. Hermes извлекает транзакции, сверяет счета и генерирует еженедельные финансовые сводки. Самоулучшающийся цикл означает, что агент изучает ваши предпочтения категоризации и ускоряется с каждой неделей.

    Как отлаживать MCP-подключения?

    Частые проблемы и решения:

  • Сервер не запускается — проверьте, что команда (npx, uvx) есть в PATH. Запустите команду вручную, чтобы увидеть ошибки.
  • Инструменты не появляются — выполните hermes mcp list для проверки подключения. Если сервер показывает 0 инструментов, рукопожатие могло не пройти.
  • Ошибки таймаута — некоторые MCP-серверы (особенно через npx) требуют времени на скачивание при первом запуске. Увеличьте таймаут подключения или предустановите пакет.
  • SSE-транспорт не работает — для удалённых серверов убедитесь, что URL доступен и CORS-заголовки настроены корректно.
  • Переменные окружения не передаются — проверьте секцию env в конфиге. Переменные передаются только в процесс сервера, не наследуются из shell.
  • Логи Hermes находятся в ~/.hermes/logs/. События MCP отмечаются префиксом [mcp].

    Безопасность при работе с внешними сервисами

    MCP-серверы запускаются с правами процесса Hermes. База данных с правами на запись может модифицировать данные, если LLM решит это сделать. Рекомендации:

  • Используйте read-only credentials для MCP-серверов, если запись не требуется
  • Применяйте tools.include для ограничения набора доступных инструментов
  • Не暴露ируйте инструменты удаления или деструктивных операций без крайней необходимости
  • Храните токены в ~/.hermes/.env — они не попадают в логи и системные промпты
  • Часто задаваемые вопросы

    Что такое MCP простыми словами?

    MCP (Model Context Protocol) — это стандартный протокол, который позволяет AI-агенту подключаться к внешним инструментам: базам данных, API, файловым системам. Работает как USB-C — один разъём, любое устройство.

    Нужно ли писать код для интеграции Hermes с API?

    Нет. MCP-серверы настраиваются через YAML-конфигурацию. Достаточно указать команду запуска, аргументы и (опционально) ключи API. Hermes автоматически обнаруживает инструменты при запуске.

    Hermes работает только с MCP или есть другие способы интеграции?

    Hermes поддерживает три уровня: MCP-серверы (основной способ), 40+ встроенных инструментов и OpenAI-совместимый API-сервер. Встроенные инструменты не требуют настройки, API-сервер позволяет подключать внешние фронтенды.

    Какие сервисы можно подключить через MCP?

    GitHub, PostgreSQL, SQLite, Linear, Sentry, Figma, Stripe, n8n и сотни других. Через Composio MCP доступны 250+ SaaS-приложений: Gmail, Slack, Notion, Jira, AWS, QuickBooks и другие.

    Безопасно ли давать AI-агенту доступ к внешним API?

    Hermes предоставляет инструменты безопасности: фильтрация инструментов через tools.include, использование read-only credentials, хранение токенов в защищённых файлах. Рекомендуется暴露ировать только необходимые инструменты и использовать минимально необходимые права доступа.


    *Подробнее о настройке интеграций читайте в документации Hermes Agent и руководстве по MCP.*