mcpField
F
forage

forage

本地服务
github.com/isaac-levineAI 与智能体1936 周前更新

关于 forage

Forage 是一个 MCP 服务,可帮助 AI Agent 按任务需要发现、安装和使用其他 MCP 服务。它会立即代理已安装服务的工具,并可将使用说明保存到 Agent 规则文件,供后续会话使用。

主要功能

  1. 01搜索 MCP 服务注册源
  2. 02查看软件包详情
  3. 03经用户批准后安装
  4. 04通过代理提供已安装工具
  5. 05将使用说明保存到规则文件
  6. 06跟踪已安装和运行中的工具

适用场景

  1. 01为特定任务查找所需服务
  2. 02无需重启 Agent 即可添加工具
  3. 03为后续会话保存配置说明
  4. 04查看已安装工具和安装记录

MCP 相关

Forage 充当 MCP 网关:搜索注册源、将获批的服务作为子进程启动,并向 Agent 代理其工具。新工具可用时,它会发送列表变更通知。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"isaac-levine-forage": {
"command": "npx",
"args": [
"-y",
"forage-mcp"
]
}
}
}
启动命令npx -y forage-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmforage-mcp0.1.1

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
querystring是所需功能的自然语言描述(例如:'query postgres database'、'search slack messages'、'manage github issues')
sourcesarray否要搜索的注册表。默认为全部。

详细介绍

🌿 Forage

为 AI Agent 提供自我完善的工具发现能力。

安装一个 MCP 服务,Agent 就能找到其他工具。

npm version npm downloads License: MIT

npm · GitHub · 贡献指南


Forage 是一个 MCP 服务,可让 AI Agent 自动发现、安装并学习使用新工具。当 Agent 遇到难题时,它会自行寻找合适的工具、安装工具,并学会如何使用。无需重启,无需手动配置。Agent 会永久变得更聪明。

为什么选择 Forage?

AI 编码 Agent 的能力受限于会话开始时配置的工具。需要查询数据库?部署到 Vercel?搜索 Slack?Agent 只能道歉,然后由你手动安装合适的 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 Code

claude mcp add forage -- npx -y forage-mcp

Cursor

npx forage-mcp init --client cursor

就这么简单。开启新会话,Forage 即可使用。

工具

工具说明
forage_search在 Official MCP Registry、Smithery 和 npm 中搜索 MCP 服务
forage_evaluate获取软件包详情,包括下载量、README 和安装命令
forage_install将 MCP 服务作为代理子进程安装并启动(需要用户批准)
forage_learn将使用说明写入 CLAUDE.md / AGENTS.md / .cursor/rules/
forage_status列出所有已安装且正在运行的工具
forage_uninstall移除工具并清理规则

工作原理

Forage 是一个网关/代理 MCP 服务:

  1. 只需安装一次 Forage——它是你唯一需要手动配置的 MCP 服务
  2. Forage 发现工具——并行搜索 Official MCP Registry、Smithery 和 npm
  3. Forage 安装工具——将工具作为子进程启动,并封装其功能
  4. 无需重启——发送 list_changed 通知,让 Agent 立即获取新工具
  5. 知识持久保存——forage_learn 会写入 Agent 规则文件,清单会在下次会话中自动启动工具
架构
┌─────────────────────────────────────────────┐
│  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 安装工具时:

  1. Forage 将 npx -y <package> 作为子进程运行
  2. 通过 StdioClientTransport(MCP 客户端)连接到该进程
  3. 通过 listTools 发现子服务的工具
  4. 使用带命名空间的名称(foraged__<server>__<tool>)在 Forage 服务上重新注册每个工具
  5. 发送 tools/list_changed 通知——Agent 会立即看到新工具
  6. Agent 调用代理工具时,Forage 会将调用转发给子服务
持久化

Forage 将状态存储在 ~/.forage/ 中:

文件用途
manifest.json已安装的工具、命令/参数和自动启动配置
install-log.json所有安装和卸载操作的审计记录
cache/缓存的注册表搜索结果

启动时,Forage 会读取清单并自动启动所有之前安装的服务。Agent 会从上次中断处继续工作。

CLI

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

更多详情请参阅 CONTRIBUTING.md。

路线图

功能
  • forage update — 检查已安装工具是否有更新版本
  • 支持 pip/cargo/brew 软件包(而不只是 npm)
  • 优化搜索排序(根据下载量、星标数和描述相关性加权)
  • 从 .env 文件自动配置环境变量
  • forage doctor — 诊断常见设置问题
分发
社区
  • 在 README 中添加演示 GIF / 视频
  • 撰写发布博客文章
  • 发布到 r/ClaudeAI、r/LocalLLaMA、Hacker News(Show HN)
  • 在 MCP Discord / 社区频道分享
  • 撰写用例指南(例如“在 30 秒内为 Claude Code 添加 Postgres”)
  • 添加 GitHub Discussions,用于问答和功能请求

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。