返回 MCP 目录
public公开dns本地运行

mcp-haystack-google-maps

一个集成Haystack框架与MCP服务器的项目,支持动态加载工具并与Google Maps API交互。

article

README

🚀 MCP 捉稻草演示

本项目是一个与 MCP 服务器集成的 Haystack 实现,着重于 Google 地图 API 的整合。它能助力开发者连接到远程 MCP 服务器,动态加载可用工具,为相关开发工作提供便利。

🚀 快速开始

查看演示笔记本以获取完整的示例,该示例展示了如何连接到 Google 地图 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)

✨ 主要特性

  • 使用 SSE(服务器发送事件)连接到远程 MCP 服务器
  • 动态发现并加载可用工具
  • 与 Haystack 管道无缝集成

📦 安装指南

使用 uv 安装依赖项。

📚 详细文档

该项目实现了 MCPServer,这是一个 Haystack Toolset,用于连接到远程 MCP 服务器并动态加载可用工具。该实现基于 Haystack 中最近新增的 Toolset 抽象(https://github.com/deepset-ai/haystack/pull/9161)。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端