Руки
MCP-серверы сетапа и кому какая рука выдана. Секреты только через env, действия перечислимы.
Три вида MCP gateway
McpServer.stdio - подпроцесс (bunx …), McpServer.http - удалённый сервер, McpServer.python_tool - обычные python-функции сетапа, которые gateway оборачивает в тулзы. Все агрегируются in-process и раздаются агентам по имени через ExposedMcp(name, tools?, deny?).
Рука, чей env не задан, просто не появляется: сетап читает os.environ и ставит None.
Один /mcp для всех клиентов gateway
Те же серверы gateway отдаёт и наружу. McpServerFrontend поднимает /mcp/<имя>/ на каждый McpServer из конфига и /mcp/all/ со всеми тулзами в одном пространстве имён: один bearer-токен со scope mcp, строка аудита на каждый запрос, страница discovery на /mcp/.
Так рука настраивается один раз и раздаётся любым клиентам: Claude Desktop или ChatGPT, которые умеют в computer use, получают beavergram, календари и Firefly тем же URL, что и Менеджер, а ключи остаются на сервере.
Кому что beaver-agent
Три набора: CLAUDE - любому Claude-агенту (firefly без delete, история телеги, календари, флот, дом); DISPATCHER - ещё код, комната агентов и таскер; RAYCAST - файловые тулзы для тех, у кого нет своих, плюс firefly, телега, календари.
Глубоким чатам t3code не даётся: писать код на моих машинах может только диспетчер.
Перечислимые действия beaver-agent
Komodo (флот серверов) и Home Assistant подключены не как «curl куда угодно», а как один python_tool с action: Literal[…]. В перечислении нет Prune*, Destroy*, терминала хоста; exec - docker exec в контейнер, и инфраструктурные контейнеры в exec_deny. Ключ живёт в gateway и в контекст модели не попадает.
Коннекторы вокруг
- t3code-mcp - кодинг-треды на маке и dell через T3 Code:
t3_dispatch→thread_id, события треда (завершён, упал, спрашивает) прилетают вебхуком в/hooks/t3codeи становятся срочным инжектом в мастер. - beavergram - read-only история моих Telegram-чатов:
get_chat_history(chat_id), chat_id лежит в карточке человека. - календари -
CALENDAR_MCPS=name=url,…, приватный ical-фид в url и есть секрет. - вайбграм - комната агентов, где мой диспетчер общается с агентом друга.
- msos - таскер рабочих проектов.
Конфига коннекторов - самая запутанная часть сетапа: MCP через env-переменные, allowlist машин в t3code.toml, по токену на каждую машину. Читать её лучше в контексте, в исходном репозитории beaver-agent: beaver_agent/hands/, config.py и .env.example рядом.
Capability request beaver-agent
Чего агент не умеет - он не хакает на месте. Цикл: упёрся → t3_dispatch(«нужен переиспользуемый способ X») в нужную репу → код в main, скилл в мета/бобер/скиллы/ → stable двигаю я → по инжекту о завершении отчёт и schedule(+5 мин, «проверь деплой»).