mcpField
U
Ultimaps

Ultimaps

已认证精选远程服务
ultimaps.com媒体与设计11 周前更新

关于 Ultimaps

Ultimaps 是一款根据数据、类别或标记位置生成地图图片的 MCP 服务,适用于制作地理数据可视化。它返回渲染图片,并附上可在 Ultimaps Studio 继续编辑的链接。

主要功能

  1. 01生成分级设色图、分类图和标记地图
  2. 02支持国家、州、县等区域
  3. 03搜索地图目录和区域名称
  4. 04通过 dry run 预览区域匹配
  5. 05返回图片、报告和 Studio 链接

适用场景

  1. 01按人口数据绘制美国各州地图
  2. 02按货币等类别为区域着色
  3. 03在地图上标出办公室位置
  4. 04渲染前检查区域名称匹配

MCP 相关

为 MCP 客户端提供地图渲染、地图目录浏览和区域键查询工具。可通过 stdio 本地运行,也可连接托管的远程 MCP 服务。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.ultimaps.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://api.ultimaps.com/mcp需要授权
安装包
npm@ultimaps/mcp0.2.0

工具

3
参数类型必填说明
querystring否搜索地图 ID、标题、区域类型和类别,例如 "counties"、"germany"、"africa"。省略时列出所有地图。

详细介绍

@ultimaps/mcp

适用于 Ultimaps 的 MCP 服务。向 Claude、Codex 或任何 MCP 客户端询问地图,即可在对话中获取图片。支持根据粘贴的数据绘制分级统计地图、类别地图和标记位置,适用于国家、州、省、县、大洲和世界。

“按人口绘制美国各州地图。” · “按货币为欧盟成员国着色。” · “用这些失业率展示法国各大区:……” · “在欧洲地图上标出我们的五个办公室。”

无需账户。未设置 API 密钥时,服务会使用无密钥套餐。设置 ULTIMAPS_API_KEY 即可使用套餐配额,并生成尺寸更大或不带品牌标识的输出。

无法运行本地命令? 在 ChatGPT(开发者模式)、claude.ai 或任何可连接远程 MCP 服务的客户端中,改为添加托管服务:https://api.ultimaps.com/mcp。在 ChatGPT 中,需要在每个想查看地图的对话中启用它。它提供相同的三个工具,无需安装任何内容。请参阅托管服务。本软件包是本地版本:请求来自你自己的 IP 地址,并使用你自己的密钥;每张图片都会保存到你电脑上的文件中。

工具

工具功能
render_map将地图渲染为图片(PNG;使用 Pro 密钥时可生成 SVG),图片足够小时会以内嵌形式显示。支持分级统计地图(数值)、类别(标签)或指定颜色,也支持标记、标题、带独立标题的图例、主题、区域标签(名称、数值或两者)及其他图层。区域名称采用模糊匹配;任何修正或未匹配项都会附带建议报告。dryRun: true 可在渲染前预览匹配结果和配色方案。
list_maps地图目录:{id, title, regionType, layers, regionCount, labels},可使用 query 搜索。
get_map_regions获取单张地图的区域键和标题,每页 200 条;可按键、标题或别名搜索。

这三个工具均为只读。Agent 很少需要使用发现工具:render_map 可直接接受区域名称、代码和别名。

安装

需要 Node.js 20 或更高版本。

Claude Code
claude mcp add ultimaps -- npx -y @ultimaps/mcp
# with a key:
claude mcp add ultimaps --env ULTIMAPS_API_KEY=um_live_… -- npx -y @ultimaps/mcp
Codex
codex mcp add ultimaps -- npx -y @ultimaps/mcp
# with a key:
codex mcp add ultimaps --env ULTIMAPS_API_KEY=um_live_… -- npx -y @ultimaps/mcp

Codex 使用 TOML,而不是下面的 JSON。等效配置项可写入 ~/.codex/config.toml(或受信任项目中的 .codex/config.toml):

[mcp_servers.ultimaps]
command = "npx"
args = ["-y", "@ultimaps/mcp"]
Claude Desktop

从最新版本下载 ultimaps-<version>.mcpb 并打开:Claude Desktop 会一键安装,并询问是否提供可选的 API 密钥。或者将以下内容添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "ultimaps": {
      "command": "npx",
      "args": ["-y", "@ultimaps/mcp"],
      "env": { "ULTIMAPS_API_KEY": "" }
    }
  }
}
Cursor

~/.cursor/mcp.json(或项目中的 .cursor/mcp.json):

{
  "mcpServers": {
    "ultimaps": { "command": "npx", "args": ["-y", "@ultimaps/mcp"] }
  }
}
VS Code

.vscode/mcp.json:

{
  "servers": {
    "ultimaps": { "type": "stdio", "command": "npx", "args": ["-y", "@ultimaps/mcp"] }
  }
}
托管服务

使用托管服务无需安装本软件包。将 URL 添加到你的客户端:

claude mcp add --transport http ultimaps https://api.ultimaps.com/mcp
# with a key:
claude mcp add --transport http ultimaps https://api.ultimaps.com/mcp \
  --header "Authorization: Bearer um_live_…"

使用配置文件的客户端只需填写 URL,例如 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "ultimaps": { "url": "https://api.ultimaps.com/mcp" }
  }
}

托管服务通过 Authorization 标头传递密钥,而不是使用 ULTIMAPS_API_KEY。在 ChatGPT 和 claude.ai 中无法设置标头,因此其中的渲染使用匿名套餐:带署名的 PNG,最大 1600 px;每个对话每小时最多 30 次。每次渲染还会返回一个图片链接,该链接 30 天后过期。对于无法在对话中显示的大图片,以及所有 SVG,服务只会返回链接。ChatGPT 不会显示工具返回的图片,因此你需要通过链接查看地图。

配置

变量默认值用途
ULTIMAPS_API_KEY无(无密钥)从 Studio → Workspace → API 获取 API 密钥。无效密钥会报错,不会回退到无密钥模式。
ULTIMAPS_API_URLhttps://api.ultimaps.com开发期间指向本地 API(http://localhost:3001)。仅接受 localhost 上的纯 http。

限额

无密钥免费密钥Pro 密钥
渲染次数30 次/小时,5 次/分钟500 次/月,50 次/天,10 次/分钟5,000 次/月,1,000 次/天,30 次/分钟
输出PNG,最大 1600 px,带署名PNG,最大 1600 px,缩放比例为 2(栅格图像为 3200 px),带署名PNG,最大 4000 px,缩放比例为 4;SVG;不带署名

工作区内的所有密钥共用每月配额。每日和每分钟上限按密钥计算,因此免费密钥每天渲染 50 次后就会停止,远在当月配额用完之前。

试运行不会占用每月配额,但仍计入速率限制。当无密钥渲染次数在一小时内剩余不超过 5 次时,结果会提示这一点。

渲染结果

  • 图像:图像足够小时会以内嵌形式返回(PNG 不超过 781 KB,SVG 不超过 98 KB)。默认的 1200 px 宽度通常符合要求。每次渲染也会写入 <tmpdir>/ultimaps-mcp/,结果中会包含文件路径,因此在终端客户端中,实际可打开的就是该文件。系统不会代你重新渲染或重采样。
  • 文本报告:包含自动更正和未匹配的区域键及建议、已解析的分级统计地图方案、警告(例如 layer_unavailable 或 labels_overlap)、用于在 Ultimaps Studio 中打开地图进行编辑的链接,以及供支持人员查询的渲染 ID。
  • 可嵌入的图像 URL:无密钥 PNG 渲染在完整规格适合约 2,000 个字符的 URL 时会提供此链接,因此仅适用于小型数据集。URL 中包含规格而非图像,并且以无密钥方式渲染,因此设置了密钥时不会提供。
  • structuredContent:以数据形式提供相同的报告,具体定义见工具的 outputSchema。

隐私政策

此服务在你的机器上运行,不会自行收集遥测数据,且只与 Ultimaps API 通信(https://api.ultimaps.com,或你设置的 ULTIMAPS_API_URL)。完整的 Ultimaps 隐私政策见 ultimaps.com/privacy-policy。

发送给 Ultimaps 的信息。 工具调用是发往 Ultimaps API 的普通 HTTPS 请求,因此请求会携带你的 IP 地址,并使用 ultimaps-mcp/<version> 用户代理。render_map 会发送完整的地图请求:区域键和值、图钉、标题和样式。如果设置了 ULTIMAPS_API_KEY,它只会随渲染请求发送。

Ultimaps 保留的信息。 每个渲染请求都会被记录:请求内容、地图和结果、耗时、你的 IP 地址和用户代理;对于使用密钥的请求,还会记录使用了哪个密钥和工作区。这便于支持人员查询渲染 ID、让“在 Studio 中打开”链接重建地图,并统计用量。请求内容会保留 30 天,IP 地址和用户代理会保留 90 天。之后仅保留用量记录;若使用了密钥,该记录会关联到你的工作区。Ultimaps 使用的第三方错误监控服务可能会收到失败请求的详细信息。Ultimaps 不会出售这些数据,也不会将其用于广告。

保留在你机器上的信息。 每张渲染后的图像都会写入 <tmpdir>/ultimaps-mcp/,此服务绝不会删除这些文件。你的 MCP 客户端保留的信息(包括对话中的工具结果)受其自身隐私政策约束。

可分享链接。 为小型无密钥渲染提供的可嵌入图像 URL 包含完整的地图请求。任何获得该链接的人都可以查看其中的内容。

托管服务。 https://api.ultimaps.com/mcp 上的服务运行在 Ultimaps 的服务器上,而非你的机器上,因此上文关于你机器的说明不适用于它。完整的隐私政策也涵盖该服务。

如有疑问或需删除数据,请发送邮件至:[email protected],并注明渲染 ID。

开发

npm install
npm run typecheck
npm test           # unit + in-process protocol tests
npm run build      # → dist/

通过 stdio 对真实 API 进行端到端测试(会消耗你套餐中的渲染单位):

npm run build
node scripts/smoke.mjs

src/generated/render-request.schema.json 根据 Ultimaps API 契约生成;请勿手动编辑。工具和属性的说明位于 src/descriptions.ts。参数不会在本地验证:API 仅支持新增,且其 400 响应会提供建议。

欢迎提交问题和拉取请求。版本由 Ultimaps 团队发布,已接受的更改会随下一个版本发布。

该软件包仅发布一个 bin,不包含其他内容。不支持 import '@ultimaps/mcp',且会因模块名称而失败,因为 dist/index.js 在加载时会启动一个 stdio 服务。

许可证

MIT © Ultimaps。详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。