datafordeler-dar-mcp について
datafordeler-dar-mcpは、Datafordelerenを通じてデンマークの公式DAR住所登録データにアクセスするMCPサーバーです。AIエージェントやMCPクライアント向けに、住所検索ツールとAPIキーが必要なGraphQLアクセスを提供します。
主な機能
- 01住戸住所と入口住所の取得
- 02道路や郵便番号ごとの住所一覧
- 03APIキーによる住所レコード検索
- 04DAR GraphQLクエリの転送
- 05座標をWGS84に変換
活用シーン
- 01DAR UUIDから住所を取得
- 02道路または郵便番号内の入口を列挙
- 03道路名の接頭辞でデンマークの住所を検索
MCP 対応
DARの住所・道路検索、郵便番号データ、ステータス確認、検索、GraphQLアクセス向けに10個のツールを公開します。RESTベースの検索ツール7個はキー不要で、検索とGraphQLのツールにはDatafordeleren APIキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y datafordeler-dar-mcpDATAFORDELER_API_KEYシークレットDatafordeler API key. Optional for lookups by id until 15 January 2027; required for text search and the GraphQL tools.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
10掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
datafordeler-dar-mcp
Datafordeleren(公式の全国データ配信サービス)上の**Danmarks Adresseregister(DAR)**のデンマーク住所向け MCP サーバーです。
DAWA(dawa.aws.dk、api.dataforsyningen.dk)は2026年10月1日に終了し、現在は HTTP 410 を返します。これを基盤に構築された住所ツールはすべて利用できなくなっています。Klimadatastyrelsen が提供する後継サービスは Datafordeleren です。API キーが必要で、二時点管理に対応し、GraphQL を中心に設計されています。このサーバーでは、10 個の小規模でドキュメント化されたツールを通じて、AI エージェント(Claude、Cursor、VS Code、あらゆる MCP クライアント)に DAR データを提供します。座標は WGS84 に変換され、DAWA でも使用されていた DAR UUID が利用できます。
ステータス:v0.1、試験的なプローブです。 デンマークの公共データに対するメンテナンス対象の MCP レイヤーに需要があるかどうかを確かめるために作られました。スター数、npm のダウンロード数、イシューがその目安になります。意図的に薄い構成にしており、キャッシュも計測もなく、データソースは 1 つです。
できること
| ツール | API キーが必要 | 目的 |
|---|---|---|
dar_status | いいえ | 接続チェック、設定済みのアクセス経路、サービス終了までのカウントダウン |
dar_get_address | いいえ | UUID による単一の住戸住所(階/ドア) |
dar_get_access_address | いいえ | UUID による単一のアクセス住所(入口/husnummer) |
dar_list_addresses | いいえ | 1 つのアクセス住所にある住戸 |
dar_list_access_addresses | いいえ | ページ分割による、通り(自治体+道路コード)、郵便番号、地籍区画の一覧取得 |
dar_get_street | いいえ | UUID または自治体+道路コードによる名称付き道路 |
dar_get_postcode | いいえ | 4 桁のコードまたは UUID による郵便番号 |
dar_search_addresses | はい | 通り名、アクセス住所、住戸住所の前方一致検索 |
dar_graphql | はい | DAR/v2 への GraphQL パススルー |
dar_get_graphql_schema | はい | GraphQL スキーマを取得します。コンパクト化され、フィルタリング可能です |
各結果には、attribution(CC BY 4.0、Klimadatastyrelsen)、英語ラベル付きの DAR ステータスコード、EPSG:25832 と WGS84 の両方の座標が含まれます。エラーは型付き(config、bad_request、auth、not_found、rate_limited、upstream、timeout、network)で、次に何をすべきかが示されます。
インストール
Node.js 20 以降が必要です。
Claude Code:
claude mcp add datafordeler-dar -- npx -y datafordeler-dar-mcp
Claude Desktop、Cursor、VS Code、その他のクライアント(mcp.json/
claude_desktop_config.json):
{
"mcpServers": {
"datafordeler-dar": {
"command": "npx",
"args": ["-y", "datafordeler-dar-mcp"],
"env": { "DATAFORDELER_API_KEY": "your-key-here" }
}
}
}
API キーの取得方法と、必要になる理由
現在、従来の REST サービスには匿名でアクセスできるため、7 つの検索ツールでは API キーが不要です。Klimadatastyrelsen は、2027年1月15日以降、Datafordeleren は認証済みリクエストのみを受け付けると発表しています(API キーまたは OAuth)。テキスト検索は GraphQL サービスを使用するため、すでに API キーが必要です。
- https://datafordeler.dk(Datafordeler Administration)で無料アカウントを作成します。メールアドレスで登録するユーザーで十分です。MitID Erhverv は任意です。
- IT システムを作成し、それに API キーを追加します。
DATAFORDELER_API_KEYを設定します。
DAR の利用に承認手続きは必要ありません。新しいキーの有効化には最大 15 分かかります。その間、サービスは 401「Unrecognized Authentication key」を返します。レート制限は公開されていません。サーバーは HTTP 429 を rate_limited として返します。
任意の従来型認証情報(DATAFORDELER_USERNAME、DATAFORDELER_PASSWORD)を設定すると、REST サービスにそのまま渡されます。
エージェントが連鎖して使える例
dar_get_postcode({ postcode: "1663" })
-> postcodes[0].id = d4a3a5ad-...
dar_list_access_addresses({ postcode_id: "d4a3a5ad-...", page_size: 50 })
-> entrances with lat/lon
dar_list_addresses({ access_address_id: "0a3f507a-d330-32b8-e044-0003ba298018" })
-> 12 units at Oehlenschlægersgade 35
dar_get_address({ address_id: "0a3f50a0-0000-32b8-e044-0003ba298018" })
-> "Oehlenschlægersgade 35, st. tv, 1663 København V", municipality 0101, parish Vesterbro
API キーがある場合:
dar_search_addresses({ query: "rentemester", level: "street" })
-> Rentemestervej, København (0101), id 831a760e-...
dar_list_access_addresses({ street_id: "831a760e-4e3f-42e8-a9a5-0b771f72880a" })
-> every house number on the street, with lat/lon
dar_search_addresses({ query: "Rentemestervej 8, 2400" })
-> "Rentemestervej 8, 2400 København NV"
dar_search_addresses({ query: "Oehlenschlægersgade 35, st", level: "address" })
-> st. tv and st. th
GraphQL サービスの実際の動作
2026-10-01 に稼働中のサービスで検証済みです。Datafordeleren が公開している移行ガイド(v2.3、2025 年 1 月)とは、いくつか異なる点があります。
- DAR は
/DAR/v2で提供されます。ガイドに記載されている/DAR/v1は 404 を返します。 - 各エンティティのクエリには
virkningstidおよび/またはregistreringstidを指定するか、id_lokalIdでフィルタリングする必要があります。現在の状態を取得するには、両方に現在時刻を指定してください。virkningstidのみを指定すると、置き換えられた登録も取得されます。 startsWithが使えるのはadgangsadressebetegnelse、adressebetegnelse、vejnavn、postnr、navnのみで、大文字と小文字を区別します。それ以外はeqとinを使用します。あいまい検索、部分一致検索、ランキング検索、自動補完はありません。- 参照には ID を使います。
DAR_Husnummerは、通り、郵便番号、アクセスポイントの UUID を保持します。座標はDAR_Adressepunktにあります。 - フィールド名では æ/ø/å を ae/oe/aa に変換しています(
doerbetegnelse)。 - ページネーションは前方向のみです。
first(最大 1000 件)とafterを使用します。 - テストでは、レスポンスは高速で、クエリあたり 30~150 ms です。
dar_search_addresses は、時刻引数、ステータスフィルター、先頭の文字の大文字・小文字を自動的に処理します。dar_graphql はクエリを変更せずに渡し、サービスのエラーをそのまま返します。
データ、ライセンス、帰属表示
ソース:Datafordeleren 経由の Danmarks Adresseregister、Klimadatastyrelsen。
ライセンス:CC BY 4.0(Datafordeleren の利用規約に基づく)。Klimadatastyrelsen のクレジットを「på et passende sted」に表示する必要があります。各レスポンスの attribution フィールドは、引き継いで表示するためのものです。住所は個人データではありません。サーバーはデータを保存せず、ログも記録しません。
このバージョンが依存する旧 REST サービスの既知の制限:テキスト検索、逆ジオコーディング、自動補完には対応していません。ページネーションはページ番号のみで、2027 年 1 月 15 日に停止が予定されています。これらすべてを置き換えるのが、キー付きの 3 つのツールの背後にある GraphQL サービスです。
開発
npm install
npm test # build + unit tests + stdio integration tests (offline)
npm run test:live # also hits services.datafordeler.dk
DATAFORDELER_API_KEY を設定すると、test:live で 3 つの GraphQL ツールもテストされます。設定していない場合、これらのテストはスキップされます。
構成:src/client.ts(REST と GraphQL の取得、型付きエラー)、src/normalise.ts(フラット化、ステータスラベル、UTM32 から WGS84 への変換)、src/server.ts(ツールの登録)、src/index.ts(stdio エントリーポイント)。テストでは、2026-10-01 に稼働中のサービスから取得したフィクスチャを使用します。
フィードバック
役に立った場合や、必要なもの(ほかの登録簿、逆ジオコーディング、ホスト型エンドポイント)が不足している場合は、イシューを作成してください。イシューとスターをもとに、このプロジェクトで次に何を開発するかを決めています。
ライセンス
MIT。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。