DEV Community на русском
Подписаться
Как подключить агента Hermes к MCP с помощью Arcade.dev
Подключение агента Hermes от Nous Research к удаленным серверам протокола контекста модели (MCP) может стать сложным из-за проблемы распыления конфигурации и управления учетными данными. Arcade.dev предлагает шлюз MCP, который предоставляет единую точку для тысяч инструментов, оптимизированных для агентов. Этот шлюз централизует управление учетными данными, храня токены в хранилище, отдельно от процесса агента. Для многоуровневых сервисов необходимы соединения MCP и хранение токенов для каждого пользователя, что требует изоляции границ, таких как контейнеры. Источники пользователей Arcade могут предоставить внешнюю идентичность, но не добавляют изоляцию MCP для каждого пользователя в Hermes. Чтобы подключиться, необходимо установить поддержку MCP и настроить Hermes для подключения к шлюзу MCP Arcade с помощью аутентификации OAuth в config.yaml. Очень важно не использовать статические ключи API, а использовать родной поток OAuth для привязки сеанса к пользователю. Перед вызовом инструментов необходимо авторизовать необходимые инструменты или наборы областей поставщика через API tools.authorize Arcade. Arcade хранит эти токены, не позволяя им достичь модели языка, и инструменты можно ограничить с помощью tools.include или tools.exclude для минимизации привилегий. Инструменты, оптимизированные для агентов от Arcade, снижают количество галлюцинаций и стоимость токенов по сравнению с сырыми обертками API. Токены сервисов, расположенные вниз по потоку, централизованно управляются и обновляются в Arcade, повышая безопасность и упрощая администрирование. Авторизация сервисов для Hermes включает использование API tools.authorize Arcade, гарантируя, что указанный адрес электронной почты соответствует идентичности сеанса OAuth шлюза. Хранение токенов во время выполнения означает, что Arcade обрабатывает аутентификацию и обновление токенов, а Hermes получает только результаты. Управление видимостью инструментов с помощью tools.include и tools.exclude в config.yaml имеет важное значение для поддержания принципа минимизации привилегий, фильтруя доступный каталог инструментов.