地图智能代理

该项目实现了两个智能代理,`MapsAgent`和`MapsMCPAgent`,通过自然语言接口访问Google Maps平台的各种API功能,包括路线规划、地点搜索、地理编码等。

  • by Madhu-712
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Madhu-712/Google-Maps-ADK--MCP-Agents

使用说明

谷歌地图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.
  • gcloud CLI: 已通过您的Google Cloud帐户身份验证,并设置了正确的项目。

安装

  1. 克隆存储库:

    git clone https://github.com/your-username/your-repo-name.git
    cd your-repo-name
    

    (替换 your-username 和 your-repo-name 使用您的实际存储库详细信息。)

  2. 安装Python依赖项:

    pip install requirements.txt
    

    (你需要 google-cloud-aiplatform 和 model-context-protocol 至少。)

  3. 安装MCP谷歌地图服务器(通过npm): 这 MCPToolset 将管理运行此操作,但是 npm 需要能够找到它。这一步通常由以下人员动态处理 npx 当工具首次被调用时。

    pip安装mcp

    pip安装谷歌地图

配置

  1. 设置您的谷歌地图平台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密钥。

  2. 确保 gcloud 已通过身份验证: 如果您还没有,请验证您的 gcloud CLI并设置您的项目:

    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 并向其提供用户查询。

  1. 运行代理:

    python agent.py
    
  2. 与客服互动: 曾经 agent.py 正在运行,它将监听输入。您可以键入与地图、方向或地点相关的查询。

    查询示例:

    • “从法国巴黎到德国柏林的路线是什么?”
    • “在时代广场附近找咖啡店。”
    • “珠穆朗玛峰的海拔是多少?”
    • “告诉我日本东京的时区。”
    • “埃菲尔铁塔的地址是什么?”
    • “从班加罗尔前往浦那。提供路线信息、天气信息、空气质量信息、海拔和地理坐标信息、驾驶导航地图详细信息、重要热点和咖啡馆。
    • 我目前在Satara,想在shirdi导航。给我指路和计划。

贡献

欢迎投稿!请按照以下步骤操作:

  1. 分叉存储库。
  2. 创建新分支(git checkout -b feature/your-feature-name).
  3. 进行更改并提交(git commit -m 'Add new feature').
  4. 推到分支(git push origin feature/your-feature-name).
  5. 打开拉取请求。

许可证

此项目根据[您选择的许可证,例如MIT许可证]获得许可-请参阅 LICENSE 文件以获取详细信息。

联系

如有疑问或问题,请在GitHub存储库中打开问题或联系[您的姓名/电子邮件/链接]。 链接:https://google.github.io/adk-docs/tools/mcp-tools/