代理型GIS:将CARTO工作流程转化为MCP工具
用于演示的工作坊材料 代理型GIS(地理信息系统)功能 使用MCP(模型上下文协议)工具和CARTO AI智能体来分析纽约市2025年交通拥堵法规的影响。
研讨会概览
这个实操工作坊将展示如何利用CARTO的地理空间工具,帮助Agent分析现实世界中的城市政策影响。参与者将学习如何:
- 创建并部署地理空间分析工作流作为MCP工具
- 将CARTO MCP服务器与外部AI代理集成
- 创建CARTO AI代理,并为它们提供MCP工作流工具
用例
2025年1月,纽约市推出了一项拥堵定价法规,旨在减少交通拥堵及其对交通事故和空气污染的影响。本次研讨会将引导您构建一个分析框架,通过比较三个关键指标来衡量该法规的实际影响:
- 交通流量法规实施前后的车辆总数
- 交通事故碰撞频率和严重程度
- 空气质量受影响区域的污染测量
该分析对比了纽约市任意用户定义感兴趣区域在法规实施前六个月(2024年6月至12月)与实施后六个月(2025年1月至6月)的数据。
研讨会结构
1. 引言(5分钟)
- 见见我们的教练
- 研讨会的目标和成果
- 纽约市拥堵收费案例研究概述
- 看看这些幻灯片!
2. 作为MCP工具的工作流(25分钟)
学习如何在CARTO中创建地理空间分析工作流,并将其作为MCP工具公开,以便任何AI代理都可以使用。
你将构建的内容:
- 扩展分析工作流程带状态轮询的全面异步分析
- 紧凑型分析工作流程更快的同步版本,快速得出结果
- 区域生成器工作流程将坐标对转换为WKT区域描述
关键概念:
- 在CARTO中创建工作流
- 将工作流配置为MCP工具
- 处理异步操作
- 性能优化策略
3. CARTO AI 代理(30分钟)
了解CARTO AI代理如何提供基于地图的界面进行地理空间分析。
你将学到的内容:
- 设置CARTO AI代理
- 为代理提供MCP工具的访问权限
- 定义您代理的逻辑
- 测试和优化代理
- 可视化分析结果
先决条件
- 具有访问工作流和构建器权限的CARTO账户
- 对地理空间概念(坐标、多边形、WKT格式)的基本理解
- 熟悉AI代理和MCP(有帮助但非必需)
- 一个安装在您电脑上的AI代理命令行界面(CLI)。推荐使用Claude Code或Gemini CLI
入门指南
步骤1:设置您的CARTO环境
- 登录到您的CARTO账户
- 导航至“工作流”部分
- 确保您能通过CARTO数据仓库访问所需的纽约市数据集:
- 交通流量数据 carto-demo-data.demo_tables.nyc_traffic_counts。 - 交通事故/碰撞数据在 carto-demo-data.demo_tables.nyc_collisions。 - 空气质量测量 carto-demo-data.demo_tables.nyc_air_quality。
步骤2:创建工作流
通过拖放文件来创建您的工作流程 /workflows 在您的CARTO账户中,此仓库的“工作流”部分。
扩展分析工作流(异步)
此工作流程执行全面的逐步分析,并异步运行。
主要特点:
- 使用MCP工具实现带作业跟踪的异步执行
async_workflow_job_get_status_v1_0_0和async_workflow_job_get_results_v1_0_0轮询状态并获取结果
区域生成器工作流程
将纬度/经度坐标转换为表示影响区域的WKT多边形字符串。
紧凑型分析工作流程(同步)
一个为速度优化的精简版,同步运行以更快获得结果。
主要特点:
- 针对速度进行了优化
- 同步执行(立即返回结果)
- 非常适合互动演示
步骤3:将工作流作为MCP工具暴露出来
对于创建的每个工作流:
- 导航至工作流设置
- 选择“作为MCP工具公开”
- 检查并配置工具元数据:
- 工具名称描述性名称(例如。, nyc_traffic_analysis_extended_version) - 描述清晰描述该工具的功能 - 参数定义输入和输出参数
- 作为MCP工具启用
步骤4:配置CARTO MCP服务器
为了配置您的MCP客户端,您需要从您的CARTO账户中获取一些必要的信息:
- 获取您的MCP服务器URL: 在您的 CARTO 工作区中,前往 _开发者_ 并找到 _工作流API与MCP服务器_
- 使用MCP工具授权创建API访问令牌: 在 _开发者_ 首选 _凭证;资格;资历_ 并点击 _+ 创建新(项目/文件/等)_
在(某处)查找更详细的说明 这份文件/文档。
在您的AI代理配置中添加CARTO MCP服务器以访问相关工具:
通用配置 (兼容Claude和Gemini CLI)
{
"mcpServers": {
"carto-sdsc-demo": {
"type": "http",
"url": "https://gcp-us-east1.api.carto.com/mcp/>",
"headers": {
"Authorization": "Bearer"
}
}
}
}Gemini 命令行界面(CLI)
$ gemini mcp add carto-mcp-server https://your-carto-instance.com/mcp/ -t http -H 'Authorization: Bearer '克劳德·科德
$ claude mcp add carto-mcp-server https://your-carto-instance.com/mcp/ -t http -H 'Authorization: Bearer '第五步:使用外部AI代理进行测试
一旦CARTO MCP服务器配置并连接成功,请尝试向您的AI代理提出以下问题:
- “曼哈顿百老汇和东休斯敦街周边的拥堵管制措施产生了什么效果?”
- “分析2025年1月新规实施后时代广场附近交通的变化”
- “比较金融区监管实施前后的空气质量”
步骤6:设置CARTO AI代理
既然您已经使用外部AI代理测试了您的MCP工具,接下来让我们创建一个CARTO AI代理,以实现一体化的地图体验。
1. 在您的组织中启用CARTO AI
第一步是在您的组织中启用CARTO AI。为此,请导航至 Settings > CARTO AI 并将其启用。
2. 创建一个地图来托管您的代理
- 前往 人工智能代理 在您的CARTO工作区中的部分
- 在这里,您将看到您CARTO组织中所有可用的AI代理
- 点击 创建AI代理
- 选择 + 新地图 (因为我们目前还没有涵盖此用例的现有地图)
3. 添加数据源并准备图层
在你的地图中,提供一个标题 Analyzing the impact of NYC Congestion Pricing Program并添加位于以下位置的纽约市(NYC)数据源 CARTO Data Warehouse > demo data > demo_tables:
- 碰撞纽约市交通事故数据
- 空气质量纽约市空气质量测量数据
- 拥堵纽约市交通流量数据
- 纽约市拥堵区域纽约市拥堵定价区边界
按照需求对各图层进行样式设置(例如,通过……来设置碰撞样式) carto_point_density (以便更好地可视化)
Add Data Sources and Style Layers
4. 创建并配置您的AI代理
a) 导航至 人工智能代理 在你的地图中(或:在你的地图上)
b) 点击 创建一个代理此时,会显示代理配置界面,以便您配置您的AI代理。
c) 提供 用例 描述你的代理所做的事情:
Analyze NYC's congestion pricing regulation impact (launched Jan 5, 2025). Compare traffic volume, accidents, and air quality before (June-Dec 2024) vs after (Jan-June 2025). Quantify changes in all three metrics and create a data-driven narrative showing the regulation's spatial effects.d) 选择合适的 模型
- 导航至 模型 部分;章节
- CARTO 使用 CARTO 管理的模型 默认情况下,但您也可以在CARTO AI设置中配置您自己的模型。
- 在我们的情况下,将选择 Gemini-2.5-Pro
e) 添加 MCP工具 我们为您的代理创建了之前的步骤
您的代理可以访问 核心工具 默认情况下。现在添加自定义 工作流作为MCP工具 您在步骤2-3中创建的:
- 点击 添加工具 在代理配置中
- 在组织中搜索可用的MCP工具
- 添加这些工具:
- create_area_from_coordinates - nyc_traffic_analysis_compact
- 检查每个工具的元数据(描述、输入参数、输出定义)
f) 提供 说明/指示
为您的代理定义分析工作流程和行为:
- 导航至 说明/指示 部分;章节
- 从(某处)复制内容
agent/instructions.md - 粘贴到代理配置中
说明书中定义了沟通风格、针对不同输入场景的分析工作流程、结果展示方式以及缺失数据的处理方法。
Agent Instructions Configuration
g) 完成后,点击 创建代理
5. 测试您的代理
现在你可以开始测试你的代理了 编辑模式 在预览版上启用它并发布您的地图之前,请尝试以下查询:
- “我画出的区域交通会受到什么影响?”
- “向我展示当前地图视图中的拥堵影响”
- “时代广场的交通模式发生了怎样的变化?”
- “分析帝国大厦周边的交通变化”
*见 agent/test-prompts.md 用于更多测试查询*
6. 完成并分享
打开 AI代理配置 自定义开场白信息和对话引导语,帮助用户开始与您的客服代表交流。
添加开场白和对话引导语:
自定义问候语,并提供建议的提示来引导用户。这有助于他们了解客服代表能够提供的帮助,并为他们提供便捷的开始点。
*看 agent/intro-message.md 用于示例介绍信息和对话开场白*
Agent Intro Message Configuration
为观众启用:
首选 地图设置 并启用 地图上的AI代理 以便观众可以与智能体进行互动。
预览并分享:
测试中 预览模式 了解最终用户的体验。
一旦你对智能体的工作方式感到满意,就可以分享这张地图:
- 特定用户与团队成员个人分享
- 您的组织在您的CARTO组织中让所有人都可以访问它
- 公众使地图公开可访问
您的CARTO AI代理现已准备好使用!
在这个例子中,我们询问了“帝国大厦周边的交通情况”。你可以看到代理的分析结果以及所考虑的兴趣区域,这些都以新的人工智能生成图层的形式展示在地图上。
额外资源
支持
对于问题或疑问:
- 在研讨会期间:向讲师提问
- 研讨会结束后:请联系CARTO支持团队:support@carto.com
致谢/鸣谢
由CARTO产品管理团队的Ana Manzanares和Ernesto Martínez开发的研讨会。
数据来源:纽约市开放数据平台,\[其他来源\]
