Forage 是一个面向 AI 智能体的自改进工具发现 MCP 服务器,核心目标是让智能体能够自动发现、安装并学会使用新的 MCP 工具,从而突破会话开始时固定工具集的限制。
用途 AI 编程智能体通常只能使用会话启动时已配置的工具。当需要查询数据库、部署到 Vercel 或搜索 Slack 时,智能体往往只能表示无法完成,需要用户手动安装对应的 MCP 服务器。Forage 旨在闭合这一循环:当智能体遇到能力边界时,它可以“觅食”合适的工具、安装它,并自学如何使用,无需重启,也无需手动配置,使智能体持续变得更强大。
主要能力 Forage 作为网关/代理 MCP 服务器运行,具备以下能力:
- 工具发现:并行搜索官方 MCP Registry、Smithery 和 npm,寻找合适的 MCP 工具。
- 工具安装:通过 npx -y <package> 将工具作为子进程启动,并通过 StdioClientTransport(MCP 客户端)连接。
- 能力包装:通过 listTools 发现子服务器的工具,并以命名空间名称(foraged__<server>__<tool>)在 Forage 服务器上重新注册每个工具。
- 即时生效:发送 tools/list_changed 通知,智能体可立即看到新工具,无需重启。
- 调用转发:当智能体调用被代理的工具时,Forage 将调用转发给子服务器。
- 知识持久化:forage_learn 会写入智能体规则文件,清单(manifest)会在下次会话自动启动工具。状态存储在 ~/.forage/ 目录中。
- 启动恢复:启动时 Forage 读取清单并自动启动所有先前安装的服务器,智能体可从上次中断处继续。
- 人类 CLI:Forage 还包含供人类使用的命令行界面。
使用方式 用户只需手动安装一次 Forage,它是唯一需要配置的 MCP 服务器。安装后,启动新会话,Forage 即准备就绪。智能体在需要新工具时,通过 forage_install 等调用触发发现与安装流程。安装工具时,Forage 会运行 npx -y <package> 作为子进程,连接并发现其工具,然后重新注册并通知智能体。
安全与限制
- 安装需显式批准:Forage 无法在未经用户明确批准的情况下安装工具,每次 forage_install 调用都需要 confirm: true。
- 审计追踪:每次安装/卸载都会带时间戳记录到 ~/.forage/install-log.json。
- 无远程后端:一切在本地运行,注册表搜索是对公共 API 的只读 GET 请求。
- 不存储密钥:子服务器的环境变量在安装时传入,不会被持久化。
适用场景 适用于使用 AI 编程智能体(如 Claude Code)并希望智能体能够自主扩展工具能力的开发者。典型场景包括:智能体需要查询数据库、部署到 Vercel、搜索 Slack 等,而当前会话未配置相应 MCP 服务器时,Forage 可自动发现并安装所需工具。
其他信息 仓库中列出了后续计划,包括:forage update 检查已安装工具的新版本;支持 pip/cargo/brew 包(不仅限于 npm);更智能的搜索排序(按下载量、星标、描述相关性加权);从 .env 文件自动配置环境变量;forage doctor 诊断常见设置问题;提交到官方 MCP Registry、Smithery、mcp.so 和 glama.ai;建立 forage.dev 落地页;在 README 中添加演示 GIF/视频;撰写发布博客;在 r/ClaudeAI、r/LocalLLaMA、Hacker News(Show HN)发布;在 MCP Discord/社区频道分享;撰写用例指南(例如“30 秒为 Claude Code 添加 Postgres”);添加 GitHub Discussions 用于问答和功能请求。
关于具体安装命令、CLI 详细用法、支持的平台范围、收费与价格等信息,资料中暂未提供。