Forage — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Forage (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<div align="center">
Self-improving tool discovery for AI agents.
Install one MCP server. Your agent finds the rest.
npm · GitHub · Contributing
</div>
Forage is an MCP server that lets AI agents discover, install, and learn to use new tools — automatically. When an agent hits a wall, it forages for the right tool, installs it, and teaches itself how to use it. No restarts. No manual config. The agent gets permanently smarter.
<!-- TODO: Add demo GIF here --> <!-- Forage demo -->
AI coding agents are limited to whatever tools they're configured with at session start. Need to query a database? Deploy to Vercel? Search Slack? The agent apologizes and you manually install the right MCP server.
Forage closes that loop:
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 itClaude Code
claude mcp add forage -- npx -y forage-mcpCursor
npx forage-mcp init --client cursorThat's it. Start a new session and Forage is ready.
| Tool | Description |
|---|---|
forage_search | Search for MCP servers across the Official MCP Registry, Smithery, and npm |
forage_evaluate | Get details on a package — downloads, README, install command |
forage_install | Install and start an MCP server as a proxied subprocess (requires user approval) |
forage_learn | Write usage instructions to CLAUDE.md / AGENTS.md / .cursor/rules/ |
forage_status | List all installed and running tools |
forage_uninstall | Remove a tool and clean up rules |
Forage is a gateway/proxy MCP server:
list_changed notifications so the agent picks up new tools instantlyforage_learn writes to agent rule files, manifest auto-starts tools next session<details> <summary><strong>Architecture</strong></summary>
┌─────────────────────────────────────────────┐
│ 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)│ │
│ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────┘When you install a tool through Forage:
npx -y <package> as a child processStdioClientTransport (MCP client)listToolsforaged__<server>__<tool>)tools/list_changed notification — the agent sees new tools immediately</details>
<details> <summary><strong>Persistence</strong></summary>
Forage stores its state in ~/.forage/:
| File | Purpose |
|---|---|
manifest.json | Installed tools, command/args, auto-start configuration |
install-log.json | Audit trail of all installs and uninstalls |
cache/ | Cached registry search results |
On startup, Forage reads the manifest and auto-starts all previously installed servers. Your agent picks up right where it left off.
</details>
Forage also includes a CLI for humans:
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[!IMPORTANT] Forage cannot install tools without explicit user approval. Everyforage_installcall requiresconfirm: true.
~/.forage/install-log.jsongit clone https://github.com/isaac-levine/forage.git
cd forage
npm install
npm run buildTest locally with Claude Code:
claude mcp add forage-dev -- node /path/to/forage/dist/server.jsSee CONTRIBUTING.md for more details.
forage update — check for newer versions of installed tools.env filesforage doctor — diagnose common setup issues~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.