Token导航 LogoToken导航TokenDH.com
Chuk MCP Map logo
地图位置stdio官方级别未说明来源级核验

Chuk MCP Map

MCP Server

一个通用的模型上下文协议(MCP)服务器,用于渲染地图、GeoJSON图层、边界框和地形覆盖层,适用于地理空间数据可视化和分析。

工具数

4

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude位置天气Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

chrishayuk

提供方

chrishayuk

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install chuk-mcp-map

详细介绍

楚科奇MCP地图

交互式地理空间可视化MCP服务器 --用于渲染地图、GeoJSON层、边界框和地形覆盖的通用模型上下文协议(MCP)服务器。

这是一个为学习和测试目的而提供的演示项目。

![Python 3.11+](https://www.python.org/downloads/) ![License: Apache-2.0](LICENSE) ![Tests: 158 passed](<>)

特性

此MCP服务器提供4个工具,用于从GeoJSON数据、图像叠加和图块层创建交互式地图视图。

所有工具都返回完全类型化的Pydantic v2模型 (MapContent / LayersContent)用于类型安全和验证。

智能自动弹出窗口:当特征具有属性(例如名称、温度、描述)时,会自动生成可点击的弹出窗口——不需要明确的弹出配置。内部钥匙(_id, fid, objectid等)被过滤掉,字段按优先级排序(名称、描述、类型优先),当名称和类型/类别都存在时,会生成“伦敦-纪念碑”等复合标题。

图层类型

类型描述用例
GeoJSON (默认)具有样式和弹出窗口的点、线、多边形特征集合、搜索结果、边界
影像合成按地理边界定位的光栅图像卫星缩略图、热图、历史地图
瓦片图层XYZ图块URL模板自定义底图、高程图块、天气层

工具

#工具返回描述
1show_mapMapContent最适合丰富的地图——样式、聚类、弹出窗口、多层、图像/平铺
2show_geojsonMapContent快速单层地图——传递原始GeoJSON,自动生成弹出窗口
3show_bboxMapContent突出显示地图上的边界框
4show_layersLayersContent带有切换的简单多层地图(无样式或弹出窗口)

安装

使用紫外线(推荐)

# Install from PyPI
uv pip install chuk-mcp-map

# Or clone and install from source
git clone https://github.com/chrishayuk/chuk-mcp-map.git
cd chuk-mcp-map
uv sync --dev

使用pip

pip install chuk-mcp-map

用法

使用克劳德桌面

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "map": {
      "command": "uvx",
      "args": ["chuk-mcp-map"]
    }
  }
}

或者,如果在本地安装:

{
  "mcpServers": {
    "map": {
      "command": "chuk-mcp-map"
    }
  }
}

独立

# STDIO mode (default, for MCP clients)
uv run chuk-mcp-map

# HTTP mode (for web access)
uv run chuk-mcp-map http

查询示例

配置后,您可以向Claude提出以下问题:

  • “给我看一张世界十大首都的地图”
  • “在地图上标出这些地震位置”
  • “在地图上突出显示英国的边界框”
  • “在地图上显示此API响应的GeoJSON”
  • “用缩略图覆盖这些卫星足迹”

工具参考

1. show_map --丰富的交互式地图

当您需要可点击的弹出窗口、样式标记、聚类、多层或图像/图块覆盖时,这是最好的工具。将数据放入GeoJSON功能属性中,弹出窗口将自动生成(或提供显式的弹出模板进行控制)。

参数:

参数类型默认值说明
layersstr(JSON)*必需的*JSON层定义数组(见下文)
basemapstr"osm"基础瓷砖: osm, satellite, terrain, dark
center_latfloatauto地图中心纬度(从特征中自动检测)
center_lonfloatauto地图中心经度(从特征中自动检测)
zoomintauto缩放级别1--15(根据范围自动计算)

图层定义(GeoJSON):

{
  "id": "cities",
  "label": "UK Weather",
  "features": {
    "type": "FeatureCollection",
    "features": [{
      "type": "Feature",
      "geometry": { "type": "Point", "coordinates": [-0.12, 51.5] },
      "properties": { "name": "London", "temp": "12°C", "conditions": "Overcast", "wind": "18 km/h" }
    }]
  },
  "style": { "fillColor": "#3388ff", "fillOpacity": 0.4, "color": "#0044cc", "weight": 2 },
  "cluster": true
}

弹出窗口为 自动生成 从特征属性中——单击标记显示名称、温度、条件和风。要自定义,请添加显式 popup 字段: {"title": "{name}", "fields": ["temp", "conditions"]}.

图层定义(图像叠加):

{
  "id": "thumbnail",
  "label": "Satellite Thumbnail",
  "layer_type": "image",
  "image_url": "https://example.com/thumb.jpg",
  "image_bounds": [[south_lat, west_lon], [north_lat, east_lon]],
  "opacity": 0.9,
  "visible": false
}

图层定义(平铺图层):

{
  "id": "topo",
  "label": "USGS Topo",
  "layer_type": "tiles",
  "tile_url": "https://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/MapServer/tile/{z}/{y}/{x}",
  "tile_attribution": "USGS The National Map",
  "tile_min_zoom": 0,
  "tile_max_zoom": 16
}

2. show_geojson --快速单层地图

获取地图的最快方法是传递原始GeoJSON,一切都是自动配置的。自动根据功能属性生成可点击的弹出窗口。使用 show_map 用于完全控制样式、集群和弹出模板。

参数:

参数类型默认值说明
geojsonstr*必需的*GeoJSON字符串(FeatureCollection、Feature或裸几何体)
labelstr"Features"图例中显示的图层名称
basemapstr"osm"基础瓷砖: osm, satellite, terrain, dark
fill_colorstr--多边形/圆形填充颜色(十六进制)
stroke_colorstr--线条/多边形笔划颜色(十六进制)
cluster bool的。 false聚类点标记

3. show_bbox --边界框图

将边界框显示为高亮显示的多边形。可用于显示搜索范围或光栅覆盖范围。

参数:

参数类型默认值说明
west浮子*必需的*西经(十进制度数,WGS84)
south浮子*必需的*南纬
east浮子*必需的*东经
north浮子*必需的*北纬
labelstr"Area"图例中的图层标签
basemapstr"osm"基础瓷砖
fill_colorstr"#3388ff"多边形填充颜色(十六进制)

4. show_layers --轻量级多层

简化的多层概览,无需每层样式或弹出窗口。使用 show_map 当你需要造型和交互性时。

参数:

参数类型默认值说明
layersstr(JSON)*必需的*JSON数组 {id, label, features} 物体
titlestr--可选地图标题
basemapstr"osm"基础瓷砖
center_latfloatauto地图中心纬度
center_lonfloatauto地图中心经度
zoomintauto缩放级别1--15

建筑

src/chuk_mcp_map/
    __init__.py        # Package version
    server.py          # MCP server, 4 tool handlers, CLI entry point
    helpers.py         # GeoJSON parsing, bbox, centre/zoom, layer builders

建在上面 chuk mcp服务器 从观点 chuk视图模式:

  • 装饰器: @map_tool@layers_toolchuk_view_schemas.chuk_mcp
  • 返回类型: MapContentLayersContent (Pydantic v2型号)
  • 运输:STDIO(MCP客户端的默认设置)或HTTP(--http 旗帜)
  • 无地理依赖性:纯Python GeoJSON处理——无GDAL、shapley或rasterio

发展

设置

# Clone the repository
git clone https://github.com/chrishayuk/chuk-mcp-map.git
cd chuk-mcp-map

# Install with uv (recommended)
uv sync --dev

# Or with pip
pip install -e ".[dev]"

运行测试

make test              # Run 158 tests
make test-cov          # Run tests with coverage
make coverage-report   # Show coverage report

代码质量

make lint      # Run linters
make format    # Auto-format code
make typecheck # Run type checking
make security  # Run security checks
make check     # Run all checks (lint, typecheck, security, test)

建筑

make build         # Build package
make docker-build  # Build Docker image
make docker-run    # Run Docker container

贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

Apache许可证2.0——请参阅 许可证 了解详情。

致谢

目录标签

目录标签

PythonClaude位置天气地理空间可视化本地部署地图服务GeoJSON处理交互式地图MCP协议

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP