Hermes Agent 接 MCP 后确实可能变乱,尤其是一个 MCP server 一口气暴露几十个工具时。解决办法不是全部接上再慢慢试,而是先做白名单,只开放当前任务真正需要的工具。
官方 MCP 文档把 MCP 描述为外部工具适配层,可以连接 GitHub、数据库、文件系统、浏览器栈、内部 API 等。能力很强,但工具面越大,误调用、权限过高和上下文噪音也越多。
什么时候该用 MCP
当已有工具以 MCP 形式存在,而你不想给 Hermes 写原生工具时,MCP 很合适。比如公司内部有数据库查询 MCP、GitHub 工作流 MCP、文档系统 MCP,用配置接入比改 Hermes 核心更快。
但如果内置工具已经能完成任务,或者你只需要一个很窄的功能,原生工具、脚本或手动命令可能更简单。不要为了“可扩展”把每个系统都接给 Agent。
白名单怎么做
先按任务列工具:读数据、查状态、写入、删除、发布。第一阶段只开放读工具,确认 Agent 能理解数据结构后,再逐步开放写操作。对数据库、工单、部署、文件删除这类高风险能力,最好单独分 server、单独过滤。
如果 MCP server 支持 per-server filtering,就明确写允许工具列表。命名也要清楚,避免多个工具都叫 search、run、update,让模型难以判断。
排查时可以让 Hermes 先说明“准备调用哪个工具、参数是什么、为什么调用”,确认后再放行。MCP 的价值是让 Hermes 接入真实系统,但真实系统也需要真实权限管理。少量、明确、可审计,比全量接入更可靠。