SuperAPI AI 工具集

datafordeler-dar-mcp

该项目是一个 MCP 服务器,用于从丹麦官方数据分发平台 Datafordeleren 上的 Danmarks Adresseregister(DAR)获取丹麦地址数据。由于原地址服务 DAWA 已于 2026 年 10 月 1 日关闭并返回 HTTP 410,该服务器作为替代方案,向 Claude、Cursor、VS Code 等任何 MCP 客户端提供十个小而文档齐全的工具,坐标会转换为 WGS84,并保留 DAWA 也使用的 DAR UUID。项目处于 v0.1 状态,是一个探针,没有缓存、没有计量、单一数据源。每个结果都带有署名(CC BY 4.0,Klimadatastyrelsen)、带英文标签的 DAR 状态码,以及 EPSG:25832 和 WGS84 两种坐标点。错误类型化。需要 Node.js 20 或更新版本。

访问官网

工具介绍

项目定位与用途 该 MCP 服务器用于向 AI 智能体(如 Claude、Cursor、VS Code 等任何 MCP 客户端)提供来自 Danmarks Adresseregister(DAR)的丹麦地址数据。DAR 数据托管在官方国家数据分发平台 Datafordeleren 上。由于原地址工具所依赖的 DAWA(dawa.aws.dk、api.dataforsyningen.dk)已于 2026 年 10 月 1 日关闭并返回 HTTP 410,本项目作为替代方案出现。

主要能力 服务器提供十个小型且有文档记录的工具,覆盖地址查询、街道和地址前缀搜索,以及坐标转换。坐标会转换为 WGS84,同时保留 DAWA 曾使用的 DAR UUID。每个结果都带有署名信息(CC BY 4.0,Klimadatastyrelsen)、带有英文标签的 DAR 状态码,以及同时以 EPSG:25832 和 WGS84 表示的点。错误被类型化(config、bad_request、auth、not_found、rate_limited、upstream、timeout、network),并说明下一步该做什么。

使用方式 需要 Node.js 20 或更新版本。可在 Claude Desktop、Cursor、VS Code 等客户端中通过 mcp.json 或 claude_desktop_config.json 配置使用。匿名访问旧的 REST 服务目前仍然可用,因此七个查找工具无需密钥。但 Klimadatastyrelsen 已宣布,2027 年 1 月 15 日之后 Datafordeleren 仅提供经过身份验证的请求(API 密钥或 OAuth)。文本搜索已经需要密钥,因为它运行在 GraphQL 服务上。

获取 API 密钥的步骤:

  1. 在 https://datafordeler.dk(Datafordeler Administration)创建免费账户,电子邮件用户即可,MitID Erhverv 可选。
  2. 创建一个 IT 系统并为其添加 API 密钥。
  3. 设置 DATAFORDELER_API_KEY。 DAR 无需审批步骤。新密钥最长需要 15 分钟激活;在此之前服务会返回 401 "Unrecognized Authentication key"。速率限制未公布;服务器会将 HTTP 429 呈现为 rate_limited。可选的旧版凭据(DATAFORDELER_USERNAME、DATAFORDELER_PASSWORD)如果设置,会传递给 REST 服务。

dar_search_addresses 工具会替调用者处理时间参数、状态过滤和首字母大小写。dar_graphql 工具原样传递查询,并逐字返回服务的错误。

GraphQL 服务的实际行为(基于 2026-10-01 对实时服务的验证)

  • DAR 在 /DAR/v2 提供服务。/DAR/v1(过渡指南中记录的)返回 404。
  • 每个实体查询必须携带 virkningstid 和/或 registreringstid,或按 id_lokalId 过滤。将两者都设为 now 可获取当前状态;仅使用 virkningstid 还会返回已被取代的注册。
  • startsWith 仅存在于 adgangsadressebetegnelse、adressebetegnelse、vejnavn、postnr 和 navn 上,且区分大小写。其余字段使用 eq 和 in。没有模糊、子串或排名搜索,也没有自动补全。
  • 引用是 id。DAR_Husnummer 持有其街道、邮编和接入点的 UUID;坐标位于 DAR_Adressepunkt。
  • 字段名将 æ/ø/å 转写为 ae/oe/aa(doerbetegnelse)。
  • 分页仅向前:first(最大 1000)和 after。
  • 响应很快:测试中每次查询 30 到 150 毫秒。

数据、许可与署名 来源:Danmarks Adresseregister via Datafordeleren,Klimadatastyrelsen。许可:根据 Datafordeleren 的使用条款为 CC BY 4.0。必须在"适当的地方"注明 Klimadatastyrelsen;每个响应中的 attribution 字段就是为了传递这一信息而存在。地址不是个人数据。服务器不存储任何内容,也不记录任何日志。

已知限制 当前版本所依赖的旧 REST 服务的已知限制:无文本搜索、无反向地理编码、无自动补全、仅支持按页码分页,以及定于 2027 年 1 月 15 日的关闭。所有这些的替代方案是三个需要密钥的工具背后的 GraphQL 服务。设置 DATAFORDELER_API_KEY 后,test:live 还会测试三个 GraphQL 工具;未设置时这些测试会被跳过。

代码结构 src/client.ts(REST 和 GraphQL 请求、类型化错误)、src/normalise.ts(扁平化、状态标签、UTM32 到 WGS84)、src/server.ts(工具注册)、src/index.ts(stdio 入口点)。测试使用 2026-10-01 从实时服务捕获的固定数据。项目采用 MIT 许可,详见 LICENSE。