🌿 饲料
AI代理的自我改进工具发现。
安装一台MCP服务器。你的代理人会找到剩下的。
](https://www.npmjs.com/package/forage-mcp) ](https://www.npmjs.com/package/forage-mcp) 
· · 贡献
______________________________________________________________________
Forage是一个MCP服务器,它允许AI代理自动发现、安装和学习使用新工具。当代理遇到问题时,它会寻找合适的工具,安装它,并自学如何使用它。无需重新启动。无需手动配置。代理人变得永远更聪明。
为什么?
AI编码代理仅限于在会话开始时配置的任何工具。需要查询数据库吗?部署到Vercel?搜索Slack?代理道歉,您手动安装正确的MCP服务器。
Forage关闭了这个循环:
Agent encounters a task it can't do
→ forage_search("query postgres database")
→ forage_install("@modelcontextprotocol/server-postgres")
→ Tools available IMMEDIATELY (no restart)
→ forage_learn() saves instructions to CLAUDE.md
→ Next session: auto-starts, agent already knows how to use it快速开始
克劳德代码
claude mcp add forage -- npx -y forage-mcp光标
npx forage-mcp init --client cursor就是这样。开始一个新的会话,Forage就准备好了。
工具
| 工具 | 说明 |
|---|---|
forage_search | 在全球范围内搜索MCP服务器 MCP官方登记处, 史密瑟里,以及 |
forage_evaluate | 获取软件包的详细信息——下载、README、安装命令 |
forage_install | 安装并启动MCP服务器作为代理子流程(需要用户批准) |
forage_learn | 将使用说明写入CLAUDE.md/AGENTS.md/.cursor/rules/ |
forage_status | 列出所有已安装和正在运行的工具 |
forage_uninstall | 移除工具并清理规则 |
运作原理
饲料是一种 网关/代理 MCP服务器:
- 您只需安装一次Forage --它是您手动配置的唯一MCP服务器
- Forage发现工具 --并行搜索官方MCP注册表、Smithery和npm
- Forage安装工具 --将它们作为子进程启动,包装它们的功能
- 无需重新启动 --发射
list_changed通知,以便代理立即获取新工具 - 知识永存 —
forage_learn写入代理规则文件,清单自动启动工具下一个会话
Architecture
┌─────────────────────────────────────────────┐
│ Claude Code / Cursor / Codex │
│ │
│ "I need to query a Postgres database" │
└──────────────────┬──────────────────────────┘
│ MCP
▼
┌─────────────────────────────────────────────┐
│ Forage MCP Server │
│ │
│ forage_search ─── Official Registry │
│ forage_install Smithery │
│ forage_learn npm │
│ forage_status │
│ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Postgres MCP│ │ GitHub MCP │ ... │
│ │ (subprocess)│ │ (subprocess)│ │
│ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────┘当您通过Forage安装工具时:
- 饲料跑 `npx -y
` 作为一个孩子的过程
- 通过以下方式连接到它
StdioClientTransport(MCP客户端) - 通过以下方式发现子服务器的工具
listTools - 使用命名空间名称在Forage服务器上重新注册每个工具(
foraged____) - 发送
tools/list_changed通知--代理立即看到新工具 - 当代理调用代理工具时,Forage会将调用转发给子服务器
Persistence
饲料储存其状态 ~/.forage/:
| 文件 | 目的 |
|---|---|
manifest.json | 已安装的工具、命令/args、自动启动配置 |
install-log.json | 所有安装和卸载的审计跟踪 |
cache/ | 缓存注册表搜索结果 |
启动时,Forage读取清单并自动启动所有以前安装的服务器。你的经纪人就在它停下来的地方接电话。
命令行界面
Forage还为人类提供了一个CLI:
forage search "postgres database" # Search registries
forage list # List installed tools
forage init # Set up for Claude Code
forage init --client cursor # Set up for Cursor安全
\[!重要\] 未经用户明确批准,Forage无法安装工具。每个forage_install呼叫需要confirm: true.
- 审计跟踪 --每次安装/卸载都会记录时间戳
~/.forage/install-log.json - 无远程后端 --一切都在本地运行。注册表搜索是对公共API的只读GET请求。
- 未存储任何秘密 --子服务器的环境变量在安装时传递,而不是持久化。
发展
git clone https://github.com/isaac-levine/forage.git
cd forage
npm install
npm run build使用Claude Code进行本地测试:
claude mcp add forage-dev -- node /path/to/forage/dist/server.js看 贡献.md 了解更多详情。
路线图
特性
- \[ \]
forage update--检查已安装工具的更新版本 - \[\]支持pip/cargo/brew包(不仅仅是npm)
- \[\]更智能的搜索排名(按下载量、星级、描述相关性加权)
- \[\]自动配置环境变量
.env文件 - \[ \]
forage doctor--诊断常见的设置问题
分布
社区
- \[\]README中的演示GIF/视频
- \[\]撰写发布博客文章
- \[\]发布到r/ClaudeAI,r/LocalLLaMA,黑客新闻(Show HN)
- \[\]分享MCP Discord/社区频道
- \[\]编写用例指南(例如“在30秒内将Postgres添加到Claude代码中”)
- \[\]添加GitHub讨论以进行问答和功能请求
