本项目是一个与 MCP 服务器集成的 Haystack 实现,着重于 Google 地图 API 的整合。它能助力开发者连接到远程 MCP 服务器,动态加载可用工具,为相关开发工作提供便利。
查看演示笔记本以获取完整的示例,该示例展示了如何连接到 Google 地图 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
# 创建服务器信息
server_info = SSEServerInfo(
base_url="http://localhost:8000",
)
# 创建 MCP 服务器工具集
mcp_server = MCPServer(server_info=server_info)
# 使用工具集与 ToolInvoker 或 ChatGenerator 组件
invoker = ToolInvoker(tools=mcp_server)
使用 uv 安装依赖项。
该项目实现了 MCPServer,这是一个 Haystack Toolset,用于连接到远程 MCP 服务器并动态加载可用工具。该实现基于 Haystack 中最近新增的 Toolset 抽象(https://github.com/deepset-ai/haystack/pull/9161)。