丹佛地理空间数据MCP服务器
一个模型上下文协议(MCP)服务器,提供对丹佛开放数据目录的访问。此服务器允许您直接从IDE中搜索和下载丹佛地理空间数据集中的数据集。这个项目是用GitHub Copilot作为概念验证的vibe编码的。
特性
- 搜索数据集:使用自然语言查询查找数据集
- 格式过滤:按数据格式(CSV、GeoJSON、Shapefile等)过滤结果
- 下载信息:获取数据集的直接下载URL
- 最近的数据:按修改日期筛选数据集
- 元数据:访问数据集描述、发布者、主题和关键字
安装
先决条件
- Ruby 2.7或更高版本
- Bundler宝石
设置
- 克隆存储库:
git clone
cd agent- 安装依赖项:
bundle install- 测试安装:
ruby test/denver_geospatial_client_test.rb
ruby test/utils_test.rbIDE配置
VS代码与GitHub Copilot
将此服务器添加到MCP配置文件中:
地点: ~/Library/Application Support/Code/User/mcp.json (macOS)或其他平台上的类似路径
{
"servers": {
"denver-open-data": {
"command": "ruby",
"type": "stdio",
"args": ["/path/to/your/cloned/agent/bin/denver_geospatial_server.rb"]
}
}
}替换 /path/to/your/cloned/agent/ 使用克隆此存储库的实际路径。
替代方案:直接可执行文件(需要chmod)
如果您希望直接执行脚本:
chmod +x bin/denver_geospatial_server.rb然后使用这个更简单的配置:
{
"servers": {
"denver-open-data": {
"command": "/path/to/your/cloned/agent/bin/denver_geospatial_server.rb",
"type": "stdio"
}
}
}其他IDE
对于支持MCP服务器的IDE,使用相同的配置模式:
- 类型:
stdio - 命令:
ruby - 论据:
["/path/to/agent/bin/denver_geospatial_server.rb"]
或者直接可执行(之后 chmod +x):
- 类型:
stdio - 命令: 完整路径
bin/denver_geospatial_server.rb - 论据: 无需
使用示例
配置后,您可以通过IDE的AI助手使用服务器:
搜索数据集
- “查找丹佛公园的数据集”
- “以CSV格式搜索犯罪数据”
- “显示最近的交通数据集”
下载数据集
- “获取数据集ID abc123的下载信息”
- “下载GeoJSON格式的公园数据集”
可用工具
search_datasets
搜索丹佛的地理空间数据目录。
参数:
query(必填):搜索词(例如“公园”、“交通”、“分区”)format(可选):按格式过滤(“CSV”、“GeoJSON”、“Shapefile”等)updated_within_days(可选):仅显示N天内更新的数据集limit(可选):最大结果(1-100,默认20)
download_dataset
获取特定数据集的下载信息。
参数:
dataset_id(必填):搜索结果中的数据集IDformat(可选):首选下载格式
支持的数据格式
- CSV文件
- GeoJSON
- 对象符号
- 形状文件(SHP)
- Excel(XLSX)
- 公里
- 可移植文档格式
发展
运行测试
ruby test/denver_geospatial_client_test.rb
ruby test/utils_test.rb项目结构
agent/
├── bin/
│ └── denver_geospatial_server.rb # MCP server executable
├── lib/
│ ├── denver_geospatial_client.rb # Main client library
│ └── utils.rb # Utility functions
├── test/ # Test suite
├── Gemfile # Ruby dependencies
└── README.md # This file故障排除
常见问题
- “找不到命令”错误:
- 如果使用直接可执行文件:确保脚本可执行 chmod +x bin/denver_geospatial_server.rb - 如果使用Ruby命令:验证Ruby是否已安装并在PATH中 ruby --version - 验证MCP配置中的完整路径
- 启动时出现“加载错误”:
- 跑 bundle install 确保所有依赖项都已安装 - 检查Ruby版本是否为2.7或更高版本: ruby --version
- 没有搜索结果:
- 尝试更广泛的搜索词 - 检查丹佛开放数据API是否可访问 - 验证网络连接
调试模式
要使用调试输出运行服务器,请执行以下操作:
DEBUG=1 ruby bin/denver_geospatial_server.rb或者,如果使用可执行版本:
DEBUG=1 ./bin/denver_geospatial_server.rbapi信息
此服务器连接到丹佛的开放数据DCAT-AP 2.0.1提要:
- 基本URL:
https://opendata-geospatialdenver.hub.arcgis.com/api/feed/dcat-ap/2.0.1 - 格式: DCAT-AP(数据目录词汇应用概要)
- 更新频率: 来自丹佛数据门户的实时
许可证
\[在此处添加您的许可证信息\]
贡献
\[在此处添加贡献指南\]
