使用说明
谷歌地图ADK-MCP代理
MapsAgent和MapsMCPAgent
项目概述
该项目实现了两个智能代理, MapsAgent,旨在使用各种谷歌地图平台API和“MapsMCPAgent”帮助用户绘制地图、导航和查找地点 模型上下文协议(MCP) 框架与 @modelcontextprotocol/server-google-maps 工具集,允许代理与众多谷歌地图服务动态交互。
该代理的主要目标是为访问谷歌地图功能提供一个自然语言界面,使其更容易检索地理信息,而无需直接调用API。
特性
- 自然语言理解: 解释与地图、位置和路线相关的用户查询。
- 谷歌地图平台集成: 通过MCP工具集使用一套全面的Google Maps API,包括:
- API指南
- 距离矩阵API
- 地图高程API
- 地理编码API
- 地理定位
- 映射JavaScript API(数据提供,而非直接执行)
- 道路API
- API时区
- 放置API(包括新版本)
- 地图静态API/街景静态API(用于图像生成,如果已实现)
- 空气质量API、Solar API、鸟瞰API、Pollen API(如果启用和使用)
- 路线优化API
- 可扩展架构: 建立在
LlmAgent和MCPToolset框架,允许使用更多工具或不同的LLM轻松扩展。 - 云原生: 旨在在谷歌云环境中有效运行,利用环境变量进行安全的API密钥管理。
项目结构
agent.py:包含核心LlmAgent定义、代理说明和配置MCPToolset连接到谷歌地图服务器。customfunctions.py:一个包含Python函数的辅助模块,用于使用googlemaps图书馆。requirements.txt:列出所有Python依赖项。
入门指南
按照以下说明设置和运行 MapsAgent 本地或部署它。
先决条件
- 谷歌云项目: 一个活跃的谷歌云项目(例如。,
mcp-map-agent). - 已启用计费: 确保您的Google Cloud项目已启用计费功能。
- 谷歌地图平台API: 在您的谷歌云项目中启用必要的谷歌地图平台API。至少,您需要:
- API指南
- 地理编码API
- 地点API
- Vertex AI API (用于基础LLM服务)
- 谷歌地图平台API密钥: 有效的API密钥,可访问已启用的谷歌地图平台API。
- 为了安全管理,强烈建议将此密钥限制为仅适用于必要的API,并在适用的情况下限制为特定的IP地址或HTTP引用者。
- 建立Java脚本API的链接引用:https://developers.google.com/maps/documentation/javascript/get-api-key#create-api密钥
- Node.js和npm: 必需的
@modelcontextprotocol/server-google-maps工具集。 - Python 3.8+: Python运行环境
agent.py. gcloudCLI: 已通过您的Google Cloud帐户身份验证,并设置了正确的项目。
安装
-
克隆存储库:
git clone https://github.com/your-username/your-repo-name.git cd your-repo-name(替换
your-username和your-repo-name使用您的实际存储库详细信息。) -
安装Python依赖项:
pip install requirements.txt(你需要
google-cloud-aiplatform和model-context-protocol至少。) -
安装MCP谷歌地图服务器(通过npm): 这
MCPToolset将管理运行此操作,但是npm需要能够找到它。这一步通常由以下人员动态处理npx当工具首次被调用时。pip安装mcp
pip安装谷歌地图
配置
-
设置您的谷歌地图平台API密钥: 这
MapsAgent期望通过环境变量提供API密钥。# For Linux/macOS export GOOGLE_MAPS_API_KEY="YOUR_ACTUAL_GOOGLE_MAPS_API_KEY" # For Windows Command Prompt set GOOGLE_MAPS_API_KEY="YOUR_ACTUAL_GOOGLE_MAPS_API_KEY" # For Windows PowerShell $env:GOOGLE_MAPS_API_KEY="YOUR_ACTUAL_GOOGLE_MAPS_API_KEY"替换
YOUR_ACTUAL_GOOGLE_MAPS_API_KEY使用有效的API密钥。 -
确保
gcloud已通过身份验证: 如果您还没有,请验证您的gcloudCLI并设置您的项目:gcloud auth login gcloud config set project Google-Maps-ADK-Agents gcloud auth application-default login # For local dev with client libraries
用法
与互动 MapsAgent,你通常会跑步 agent.py 并向其提供用户查询。
-
运行代理:
python agent.py -
与客服互动: 曾经
agent.py正在运行,它将监听输入。您可以键入与地图、方向或地点相关的查询。查询示例:
- “从法国巴黎到德国柏林的路线是什么?”
- “在时代广场附近找咖啡店。”
- “珠穆朗玛峰的海拔是多少?”
- “告诉我日本东京的时区。”
- “埃菲尔铁塔的地址是什么?”
- “从班加罗尔前往浦那。提供路线信息、天气信息、空气质量信息、海拔和地理坐标信息、驾驶导航地图详细信息、重要热点和咖啡馆。
- 我目前在Satara,想在shirdi导航。给我指路和计划。
贡献
欢迎投稿!请按照以下步骤操作:
- 分叉存储库。
- 创建新分支(
git checkout -b feature/your-feature-name). - 进行更改并提交(
git commit -m 'Add new feature'). - 推到分支(
git push origin feature/your-feature-name). - 打开拉取请求。
许可证
此项目根据[您选择的许可证,例如MIT许可证]获得许可-请参阅 LICENSE 文件以获取详细信息。
联系
如有疑问或问题,请在GitHub存储库中打开问题或联系[您的姓名/电子邮件/链接]。 链接:https://google.github.io/adk-docs/tools/mcp-tools/