动态地图服务器

MCP Map Server 是一个提供动态地图界面的服务器,支持通过MCP协议与LLM客户端集成,适用于AI代理的地图数据交互和配置管理。

  • by boettiger-lab
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 boettiger-lab/mcp-map-server

使用说明

MCP地图服务器

提供动态映射接口的模型上下文协议(MCP)服务器。

快速开始

将托管的MCP端点添加到LLM客户端,如下所示:

使用VSCode

创建一个 .vscode/mcp.json 像这样:(如本回购中所示)

{
	"servers": {
		"map-server": {
			"command": "uv",
			"args": [
				"run",
				"mcp-map-server",
				"--transport",
				"stdio",
				"--prompt-file",
				"system-prompt.example.md"
			]
		},
	}
}

您应该看到“启动”服务器条目上方出现一个小图标,如下所示:

配置数据层信息

服务器支持MCP提示,为AI代理提供有关可用数据层的信息。这有助于代理了解哪些层可用、它们的属性以及如何有效地使用它们。

推荐:使用Markdown文件

您可以将系统提示作为一个普通的markdown文件提供:

mcp-map-server --prompt-file my-layers.md

工具和API

每个地图修改工具都会返回 完整、更新的地图配置 JSON格式。

可用工具

  • add_layer:添加光栅(XYZ/Tiles)或矢量(MVT/PMTiles)图层。
  • set_map_view:将相机移动到特定位置 center 和 zoom.
  • filter_layer:将MapLibre过滤器表达式应用于现有图层。
  • set_layer_paint:动态修改油漆属性(颜色、不透明度等)。
  • remove_layer:按ID删除图层。
  • get_map_config:以JSON格式返回当前会话/提供的状态。

MCP客户端配置

要将其与MCP兼容的客户端(如Claude Desktop或VSCode扩展)一起使用,请将它们指向服务器。

地方发展(推荐):

像Claude Desktop和VSCode这样的本地客户期望 StdIO 启动命令时的传输。服务器现在默认为 stdio.

{
  "mcpServers": {
    "map-server": {
      "command": "uv run mcp-map-server"
    }
  }
}

传递CLI参数(传输、提示等):

如果需要显式指定传输或提供自定义系统提示文件,请使用 args 阵列。

[!重要] 参数必须作为单独的元素传递到 args 数组,不作为 command 弦。

{
  "mcpServers": {
    "map-server": {
      "command": "uv run mcp-map-server",
      "args": [
        "--transport", "stdio",
        "--prompt-file", "/path/to/my-layers.md"
      ]
    }
  }
}

注意:服务器默认为 stdio 当作为命令运行时。

使用共享生产服务器:

基于Web或远程客户端通过以下方式连接 超文本传输协议.

{
  "mcpServers": {
    "map-server": {
      "url": "https://mcp-map.nrp-nautilus.io/mcp/"
    }
  }
}

许可证

麻省理工学院