mcpField
M
MCP Haystack Demo

MCP Haystack Demo

ローカル
github.com/oryx1729メディア・デザイン079 週間前に更新

MCP Haystack Demo について

MCP Haystack Demoは、リモートMCPサーバーのツールを使うHaystackワークフロー向けの統合です。SSE接続でツールを動的に読み込み、Google Mapsの例も備えています。

主な機能

  1. 01SSEによるリモートMCPサーバー接続
  2. 02ツールの動的な検出と読み込み
  3. 03Haystackワークフローとの統合
  4. 04Google Mapsのサンプル

活用シーン

  1. 01リモートMCPツールのHaystackワークフローへの追加
  2. 02サンプルでのGoogle Maps MCPツールの試用

MCP 対応

SSEでリモートMCPサーバーに接続し、そのツールをHaystackのToolsetとして読み込みます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"haystack-google-maps": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GOOGLE_MAPS_API_KEY",
"supercorp/supergateway"
],
"env": {
"GOOGLE_MAPS_API_KEY": "<GOOGLE_MAPS_API_KEY>"
}
}
}
}
起動コマンドdocker run -i --rm -e GOOGLE_MAPS_API_KEY supercorp/supergateway
設定が必要な環境変数
GOOGLE_MAPS_API_KEYシークレット

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocisupercorp/supergateway

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Haystack デモ

Google Maps API との連携を中心に、MCP サーバーに接続する Haystack インテグレーションです。

概要

このプロジェクトでは、リモート MCP サーバーに接続し、利用可能なツールを動的に読み込む Haystack の Toolset である MCPServer を実装しています。この実装は、Haystack に最近追加された Toolset 抽象化(https://github.com/deepset-ai/haystack/pull/9161)に基づいています。

機能

  • SSE(Server-Sent Events)を使用してリモート MCP サーバーに接続します
  • 利用可能なツールを動的に検出して読み込みます
  • Haystack パイプラインとシームレスに連携します

インストール

uv を使って依存関係をインストールしてください。

クイックスタート

Google Maps MCP サーバーへの接続例を一通り確認するには、デモノートブックをご覧ください。

Google Maps MCP サーバーの起動
docker run -it --rm -p 8000:8000 -e GOOGLE_MAPS_API_KEY=$GOOGLE_MAPS_API_KEY supercorp/supergateway \
    --stdio "npx -y @modelcontextprotocol/server-google-maps" \
    --port 8000
サーバーへの接続
from haystack.tools import MCPServer, SSEServerInfo
from haystack.components.tools import ToolInvoker

# Create server info
server_info = SSEServerInfo(
    base_url="http://localhost:8000",
)

# Create the MCP server toolset
mcp_server = MCPServer(server_info=server_info)

# Use the toolset with a ToolInvoker or ChatGenerator component
invoker = ToolInvoker(tools=mcp_server)

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。