forage について
Forageは、タスクに応じてAIエージェントが追加のMCPサーバーを検索、インストール、利用できるようにするMCPサーバーです。導入したサーバーのツールをすぐにプロキシ経由で公開し、利用手順をエージェントのルールファイルに保存できます。
主な機能
- 01MCPサーバーレジストリの検索
- 02パッケージ詳細の確認
- 03ユーザー承認後のインストール
- 04プロキシ経由で導入済みツールを公開
- 05利用手順をルールファイルに保存
- 06導入済み・実行中ツールの確認
活用シーン
- 01タスクに必要なサーバーの検索
- 02エージェントを再起動せずにツールを追加
- 03次のセッション用に設定手順を保存
- 04導入済みツールとインストール履歴の確認
MCP 対応
ForageはMCPゲートウェイとして動作し、レジストリを検索して、承認済みサーバーを子プロセスとして起動し、そのツールをエージェントに転送します。新しいツールが利用可能になると、リスト変更通知を送信します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | はい | 必要な機能の自然言語による説明(例:'query postgres database'、'search slack messages'、'manage github issues') |
| sources | array | いいえ | 検索するレジストリ。デフォルトはすべてです。 |
詳細
Forage は、AI エージェントが新しいツールを自動的に見つけ、インストールし、使い方を学習できるようにする MCP サーバーです。エージェントが行き詰まると、適切なツールを探し出してインストールし、自ら使い方を学びます。再起動も、手動での設定も不要です。エージェントは使うほど賢くなります。
なぜ Forage なのか?
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 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 サーバーです。
- Forage を一度だけインストールします — 手動で設定する MCP サーバーはこれだけです
- Forage がツールを検索します — Official MCP Registry、Smithery、npm を並行して検索します
- Forage がツールをインストールします — 子プロセスとして起動し、その機能をラップします
- 再起動は不要です —
list_changed通知を送信するため、エージェントは新しいツールをすぐに認識できます - 知識は保持されます —
forage_learnがエージェントのルールファイルに書き込み、マニフェストが次のセッションでツールを自動起動します
アーキテクチャ
┌─────────────────────────────────────────────┐
│ 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 を通じてツールをインストールすると、次のように動作します。
- Forage は
npx -y <package>を子プロセスとして実行します StdioClientTransport(MCP クライアント)を介して接続しますlistToolsを使って子サーバーのツールを検出します- 各ツールを名前空間付きの名前(
foraged__<server>__<tool>)で Forage サーバーに再登録します tools/list_changed通知を送信し、エージェントは新しいツールをすぐに認識します- エージェントがプロキシされたツールを呼び出すと、Forage はその呼び出しを子サーバーに転送します
永続化
Forage は状態を ~/.forage/ に保存します。
| ファイル | 目的 |
|---|---|
manifest.json | インストール済みツール、コマンド/引数、自動起動の設定 |
install-log.json | すべてのインストールとアンインストールの監査ログ |
cache/ | レジストリ検索結果のキャッシュ |
起動時に Forage はマニフェストを読み込み、以前にインストールされたすべてのサーバーを自動起動します。エージェントは中断したところからそのまま再開できます。
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— よくあるセットアップの問題を診断します
配布
- npm に公開します
- Official MCP Registry に申請します
- Smithery に申請します
- mcp.so と glama.ai に申請します
- forage.dev のランディングページ
コミュニティ
- README にデモ GIF/動画を追加します
- リリース告知ブログ記事を執筆します
- r/ClaudeAI、r/LocalLLaMA、Hacker News(Show HN)に投稿します
- MCP Discord/コミュニティチャンネルで共有します
- ユースケースガイドを執筆します(例:「Claude Code に Postgres を 30 秒で追加する」)
- Q&A と機能リクエスト用に GitHub Discussions を追加します
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。