关于 MCP Haystack Demo
MCP Haystack Demo 将远程 MCP 服务接入 Haystack 工作流,供需要调用外部工具的开发者使用。它通过 SSE 连接并动态发现工具,并提供 Google Maps 示例。
主要功能
- 01通过 SSE 连接远程 MCP 服务
- 02动态发现并加载工具
- 03集成 Haystack 工作流
- 04提供 Google Maps 示例
适用场景
- 01将远程 MCP 工具加入 Haystack 工作流
- 02在示例中尝试 Google Maps MCP 工具
MCP 相关
它通过 SSE 连接远程 MCP 服务,并将其工具加载为 Haystack Toolset。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Haystack 演示
Haystack 集成,可连接到 MCP 服务,重点展示 Google Maps API 集成。
概览
此项目实现了 MCPServer,这是一个 Haystack Toolset,可连接到远程 MCP 服务并动态加载可用工具。该实现基于 Haystack 最近新增的 Toolset 抽象(https://github.com/deepset-ai/haystack/pull/9161)。
功能
- 使用 SSE(Server-Sent Events)连接到远程 MCP 服务
- 动态发现并加载可用工具
- 与 Haystack 流水线无缝集成
安装
使用 uv 安装依赖项。
快速开始
查看演示 Notebook,了解连接到 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)
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。