MCP Ambassador について
MCP Ambassadorは、AIエージェントがタスクに合うMCPサーバーを探すための検索手順を生成します。検索クエリと結果の分析方法を返し、自らウェブ検索は行いません。
主な機能
- 01タスクに応じたサーバー探索
- 02構造化された検索クエリ生成
- 03検索結果の分析手順
活用シーン
- 01特定のプロジェクト向けMCPサーバー探し
- 02音楽制作などの分野のツール探し
MCP 対応
`discover_servers`ツールを備えたMCPサーバーで、クライアント自身のウェブ検索機能に渡す指示を生成します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Ambassador
mcp-ambassador は、AI エージェントが関連性の高いほかの MCP サーバーを見つけられるよう支援する、特化型の MCP(Multi-Capability Provider)サーバーです。
目的
mcp-ambassador は自ら検索を実行するのではなく、検索指示の生成ツールとして機能します。AI エージェント(チャットボットやコーディングアシスタントなど)が、ユーザーの現在のタスクや会話の文脈に関連するツールが必要だと判断した場合、mcp-ambassador を呼び出せます。
アンバサダーはリクエスト(例:「FL Studio での作業に使えるツールを探す」)を分析し、具体的な検索クエリなど、構造化された指示を返します。これにより、呼び出し元のエージェントに対し、Brave Search MCP や Google Search MCP などの独自のウェブ検索機能を使って、関連する可能性のある MCP サーバーを探す方法を伝えます。
これにより、プライマリ AI エージェントは既存のツールをより効果的に活用し、ユーザーの差し迫ったニーズに合った新しい MCP を見つけられます。
ワークフロー
- ユーザーとプライマリエージェント: ユーザーがプライマリ AI エージェントを利用します。
- ニーズの特定(エージェント): エージェントは、Python によるデータ分析など、専用の MCP ツールが役立ちそうだが現在利用できないトピックを検出します。
- エージェントがアンバサダーを呼び出す: エージェントは
task_description(例:{"task_description": "Data analysis with Python"})を指定して、mcp-ambassadorのdiscover_serversツールを呼び出します。 - アンバサダーが指示を生成: アンバサダーは、検索クエリ(例:
"MCP server for Data analysis with Python")とエージェント向けの指示を含む Markdown 文字列を返します。 - エージェントが検索を実行: エージェントは利用可能な独自のウェブ検索ツールを使って、提示されたクエリを実行し、結果を分析します。
- エージェントが調査結果を提示: エージェントは調査結果を要約し、候補となる MCP サーバーをユーザーにおすすめします。
インストール
# Clone the repository
git clone https://github.com/WynnD/mcp-ambassador.git
cd mcp-ambassador
# Install dependencies
npm install
(注:npm install mcp-ambassador による簡単なインストールを実現するため、npm への公開を予定しています。)
使い方
サーバーの実行
TypeScript をその場でコンパイルする tsx を使って、サーバーを直接実行できます。
npx tsx src/index.ts
これにより MCP サーバーが起動し、標準入出力(stdio)経由で待ち受けます。
MCP クライアントへの登録
検出できるようにするには、MCP クライアントの設定ファイル(例:mcp.json)に次のエントリーを追加します。
{
"mcpServers": {
"mcp-ambassador": {
"command": "npx",
// Adjust the path to where you cloned the repository
"args": ["tsx", "/path/to/your/mcp-ambassador/src/index.ts"]
}
// ... other servers
}
}
ツール呼び出しの例
AI エージェントは、(仮想の MCP クライアントを使って)次のようにツールを呼び出します。
const result = await mcpClient.callTool('mcp-ambassador', 'discover_servers', {
task_description: 'Working with FL Studio audio projects'
});
console.log(result);
出力例
ツールは次のような Markdown 文字列を返します。
### Action Required: Search for MCP Servers
I have identified a potential need related to "Working with FL Studio audio projects". To find relevant MCP servers, please perform the following actions using your available web search tool (e.g., `brave_web_search`, `google_search`):
1. **Execute Search Query 1:**
```
MCP server for Working with FL Studio audio projects
```
2. **(Optional) Execute Search Query 2 for broader results:**
```
Tools to help with Working with FL Studio audio projects
```
3. **Analyze Results:** Look for results mentioning "MCP", specific tool names, or links to code repositories (like GitHub) that seem relevant to "Working with FL Studio audio projects".
**Note:** If you do not have a web search tool available, please inform the user and suggest installing one (e.g., Brave Search MCP).
開発
- 実装計画: 詳細な設計と今後の計画については、IMPLEMENTATION_PLAN.md を参照してください。
- Lint/フォーマット:(ESLint/Prettier を使用する場合は、セットアップ手順を追加してください)
- テスト:(実装後にテストの実行手順を追加してください)
コントリビューション
(該当する場合は、コントリビューションガイドラインを追加してください)
ライセンス
このプロジェクトは MIT ライセンスのもとで公開されています。詳細については LICENSE ファイルを参照してください(ファイルを追加した場合)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。