isaac-levine/forage
Forage is a self-improving MCP (Model Context Protocol) server designed to give AI agents dynamic access to an ever-growing toolkit without manual intervention. It functions as a meta-tool that automatically searches official MCP registries, Smithery, and npm to discover new MCP servers, evaluates their usefulness, and installs them as proxied subprocesses. This proxy pattern allows newly installed tools to become instantly available to the AI agent via standard MCP list_changed notifications, eliminating the need to restart the agent or reconfigure connections. By persistently storing tool knowledge in a local manifest file (~/.forage/manifest.json), forage ensures that discovered tools and their capabilities are remembered across sessions, enabling a cumulative learning effect where the agent becomes more capable over time. Forage provides a comprehensive set of MCP tools for agents: forage_search to query registries, forage_evaluate to assess a tool's suitability for a given task, forage_install to add a tool and start its server, forage_learn to extract and store usage knowledge from documentation or interaction, forage_status to inspect installed tools, and forage_uninstall to cleanly remove them. A companion CLI (forage init, forage search, forage list) allows developers to manually manage the tool ecosystem outside of an agent context. The system is built to be lightweight, leveraging existing MCP infrastructure and npm for distribution, making it easy to integrate into any MCP-compatible AI agent. Under the hood, forage runs as a Node.js process that acts as both an MCP server and a manager for child MCP servers. When a tool is installed, forage spawns the server in a subprocess and proxies communication between the agent and that server. This architecture keeps the core foray server stable while allowing tools to be added or removed on the fly. The self-improving aspect comes from the forage_learn tool, which can crawl startup scripts, READMEs, or other doc
- Category
- Developer Tools
- Pricing
- Open Source
Problem solved
AI agents using the Model Context Protocol (MCP) are limited by the tools manually configured at startup. Discovering new tools requires a developer to search registries, install packages, update agent configurations, and restart the agent, creating significant friction and downtime. Forage solves this by acting as an automated tool discovery and installation layer: it scans multiple registries, evaluates tools for relevance, installs them as live subprocesses, and persists learned tool knowledge, allowing agents to dynamically acquire new capabilities without restarts or manual intervention.
Use cases
- An AI coding assistant encounters a task that requires a specific API (e.g., Stripe, GitHub, weather). It uses forage_search to find a matching MCP server, evaluates it, and installs it on the fly to complete the task.
- A research agent needs to analyze datasets from various sources. It dynamically installs MCP servers for data fetching, analysis, and visualization as it progresses through different research questions.
- A developer experimenting with MCP tools runs forage's CLI to search and compare multiple servers before integrating them into their agent workflow, then uses forage_learn to extract usage patterns.
- An AI agent self-optimizes over time by periodically checking for new or improved tools in the registries and replacing outdated ones via forage_uninstall and forage_install, evolving its toolset without human assistance.
- A continuous integration pipeline uses forage to test new MCP servers as they are published, ensuring compatibility and building a curated list of endorsed tools for other agents.
Audience
- Developers
- Researchers
- ML Engineers
- Hobbyists
Pros
- Automatic tool discovery from multiple registries (Official MCP Registry, Smithery, npm).
- Instant tool availability without agent restart, thanks to proxy subprocess pattern and list_changed notifications.
- Persistent knowledge across sessions via local manifest, enabling cumulative learning.
- Self-improving capability through forage_learn, which extracts tool usage from documentation.
- Simple CLI for manual management and exploration.
Cons
- Limited to MCP ecosystem; only tools exposed as MCP servers are discoverable.
- Potential security and reliability concerns when auto-installing unknown third-party servers.
- Early-stage project with low community adoption and limited testing.
Official website: https://github.com/isaac-levine/forage
Canonical LambdaBase page: https://www.lambdabase.com/tools/isaac-levine-forage