Overture Maps MCP服务器
一个开源的MCP服务器 序曲地图 数据作为AI代理的空间分析工具。
这有什么作用
人工智能代理需要地理空间智能。该服务器允许他们通过干净、可组合的工具原语直接访问Overture Maps数据。
问以下问题:
- “1公里范围内的建筑中,住宅和商业建筑的比例是多少?”
- “土地利用结构是什么——住宅、工业还是混合用途?”
- “两个潜在零售地点的咖啡馆密度如何比较?”
它如何适应代理堆栈
+---------------------------------------------------+
| AI Agent (Claude, Mistral, etc.) |
+-----------------+---------------------------------+
| Geocoding / | Overture Maps MCP |
| Routing / | ---------------------- |
| Display MCP | Place analytics |
| -------------- | Building composition |
| Geocoding | Admin boundary lookups |
| Routing | Transportation analysis |
| Directions | Land use classification |
| ETA | Category discovery |
| Map display | |
+-----------------+---------------------------------+MCP序曲 处理需要直接数据访问的空间分析。 地理编码/路由/显示MCP 通过API处理地理编码、路线、方向和地图显示。
它们是互补的——将它们一起用于一个完整的地理空间代理。
可用工具(V1)
| 工具 | 主题 | 它的作用 |
|---|---|---|
get_place_categories | 地点 | 搜索Overture的地点类别分类 |
places_in_radius | 地点 | 查找半径内与类别匹配的所有地点 |
nearest_place_of_type | 地点 | 查找给定类型的单个最近地点 |
count_places_by_type_in_radius | 地点 | 统计一个区域中某个类别的地点 |
building_count_in_radius | 建筑物 | 统计一个区域内的建筑物 |
building_class_composition | 建筑物 | 获取建筑物类型的百分比细分 |
point_in_admin_boundary | 分区 | 查找哪个国家/地区/城市包含一个点 |
road_count_by_class | 交通 | 按类别统计一个地区的路段 |
nearest_road_of_class | 交通 | 查找给定类别中最近的道路 |
road_surface_composition | 交通 | 获取路面类型的百分比细分 |
land_use_at_point | 土地利用 | 确定某一点的土地利用名称 |
land_use_composition | 土地利用 | 获取一个地区土地利用类型的百分比细分 |
land_use_search | 土地利用 | 查找特定子类型的土地利用地块 |
服务器还支持 渐进式披露模式 (TOOL_MODE=progressive)它公开了3个元工具,而不是13个单独的工具——在与许多其他上下文开销很重要的MCP一起运行时非常有用。看 docs/TOOLS.md 了解详情。
看 docs/OPERATIONS.md 用于完整的参数和响应规范。
快速开始
先决条件
- Python 3.10+
- MCP兼容的AI代理(克劳德桌面、克劳德代码等)
从源代码安装
git clone https://github.com/your-username/overture-mcp-server.git
cd overture-mcp-server
pip install -e .本地运行(stdio传输)
# stdio is default — no API key needed for local use
python -m overture_mcp.server
# or via the CLI entry point
overture-mcp-server作为托管服务器运行(SSE传输)
export OVERTURE_API_KEY="your-api-key"
export TRANSPORT=sse
python -m overture_mcp.server
# Server starts on http://0.0.0.0:8000从克劳德桌面连接
本地(stdio): 添加到您的Claude Desktop MCP配置(claude_desktop_config.json):
{
"mcpServers": {
"overture-maps": {
"command": "python",
"args": ["-m", "overture_mcp.server"]
}
}
}远程(SSE): 连接到托管实例:
{
"mcpServers": {
"overture-maps": {
"url": "http://localhost:8000/sse",
"headers": {
"Authorization": "Bearer your-api-key"
}
}
}
}代理交互示例
User: "Compare cafe density near two potential retail locations in Amsterdam"
Agent:
1. Calls Geocoding MCP -> geocode("Leidseplein, Amsterdam") -> (52.3636, 4.8828)
2. Calls Geocoding MCP -> geocode("De Pijp, Amsterdam") -> (52.3509, 4.8936)
3. Calls Overture MCP -> get_place_categories({query: "cafe"})
4. Calls Overture MCP -> count_places_by_type_in_radius(
{lat: 52.3636, lng: 4.8828, radius_m: 500, category: "cafe"}) -> 12
5. Calls Overture MCP -> count_places_by_type_in_radius(
{lat: 52.3509, lng: 4.8936, radius_m: 500, category: "cafe"}) -> 7
6. Returns: "Leidseplein has 12 cafes within 500m vs 7 in De Pijp..."建筑
- 运行时:Python+FastMCP
- 数据库:带Spatial扩展的DuckDB(进程内)
- 数据:S3上的Overture Maps GeoParquet(直接查询,无数据复制)
- 认证:持票人代币通过
Authorization标头(HTTP/SSE传输) - 运输:stdio(本地,默认),SSE(托管),流式HTTP(托管)
- 托管:铁路、Docker或任何容器平台
- 刀具模式:直接(默认,13个工具)或渐进式(3个元工具)
看 建筑.md 了解完整的技术细节和设计决策。
数据源
此服务器查询 序曲地图 数据直接来自S3。
- 当前版本: 2026-01-21.0
- 更新频率:季度
- 许可证:序曲地图数据可在以下网址获得 ODbL 和 CDLA许可2.0
- 覆盖:全球,按区域完整性不同
- 无需AWS凭据 --Overture S3存储桶是公开访问的
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
OVERTURE_API_KEY | 用于SSE/HTTP | -- | 客户端身份验证的承载令牌 |
TRANSPORT | 没有 | stdio | stdio, sse,或 http |
TOOL_MODE | 没有 | direct | direct 或 progressive |
OVERTURE_DATA_VERSION | 没有 | 2026-01-21.0 | 序曲发布版本 |
MAX_CONCURRENT_QUERIES | 没有 | 3 | DuckDB并发限制 |
MAX_RADIUS_M | 没有 | 50000 | 半径安全帽(米) |
PORT | 没有 | 8000 | 服务器端口(仅限SSE/HTTP) |
HOST | 没有 | 0.0.0.0 | 服务器主机(仅限SSE/HTTP) |
文档
- 建筑.md --技术架构和所有设计决策
- docs/TOOLS.md --MCP工具规格
- docs/OPERATIONS.md --完整规格的操作目录
- docs/DATA_MODEL.md --序曲架构参考
- 文档/部署.md --铁路部署指南
贡献
欢迎投稿!请先阅读架构文档以了解设计决策。
# Clone and set up dev environment
git clone https://github.com/your-username/overture-mcp-server.git
cd overture-mcp-server
pip install -e ".[dev]"
# Run tests (no S3 access needed)
pytest tests/ -m "not s3"
# Run full test suite
pytest tests/许可证
麻省理工学院
