MLIT Data Platform MCP Server
MCP server for the MLIT Data Platform that enables natural language search and retrieval of Japanese government infrastructure and transport data.
README
MLIT DATA PLATFORM MCP Server
目次
1. 概要
国土交通省が保有するデータと民間等のデータを連携し、一元的に検索・表示・ダウンロードを可能にする国土交通データプラットフォームが提供する利用者向けAPIと接続するMCP (Model Context Protocol) サーバー(α版)です。
本MCPサーバーを利用することで、大規模言語モデル(LLM)と直接連携し、対話形式で直感的にデータを検索・取得することが可能になります。APIに関する専門的な知識がなくても、誰でも簡単に国土交通データプラットフォームから曖昧な指示や複雑な条件設定でデータを検索・取得が可能な、新しいデータ活用のかたちを提供します。
2. 主な機能
国土交通データプラットフォームの利用者向けAPIを活用し、以下の機能を提供します:
search(キーワードの指定によりデータを検索します。並べ替えや件数の指定も可能です。)search_by_location_rectangle(指定した矩形範囲と交差するデータを検索します。)search_by_location_point_distance(指定した地点と半径からなる円形範囲と交差するデータを検索します。)search_by_attribute(カタログ名、データセット名、都道府県、市区町村などの属性を指定してデータを検索します。)get_data(データの詳細情報を取得します。)get_data_summary(データIDとタイトルなどのデータの基本情報を取得します。)get_data_catalog(データカタログやデータセットの詳細情報を取得します。)get_data_catalog_summary(IDやタイトルなどのデータカタログやデータセットの基本情報を取得します。)get_file_download_urls(ファイルのダウンロード用URLを取得します(有効期限:60秒)。)get_zipfile_download_url(複数ファイルをZIP形式でまとめたダウンロードURLを取得します(有効期限:60秒)。)get_thumbnail_urls(サムネイル画像のURLを取得します(有効期限:60秒)。)get_all_data(条件に一致する大量のデータを一括取得します。)get_count_data(条件に一致するデータ件数を取得します。)get_suggest(キーワード検索時の候補を取得します。)get_prefecture_data(都道府県名・コードの一覧を取得します。)get_municipality_data(市区町村名・コードの一覧を取得します。)get_mesh(指定したメッシュに含まれるデータを取得します。)normalize_codes(入力された都道府県名・市区町村名を正規化します。)
3. 動作環境
- OS:Windows 10 / 11 または macOS 13以降
- MCPホスト:Claude Desktopなど
- MCPサーバー実行環境:Python 3.10+
- メモリ:8GB以上推奨
- ストレージ:空き容量 1GB以上(キャッシュやログを含む)
4. インストールとセットアップ
前提条件
Claude DesktopなどのMCP対応AIアプリケーション および Python がインストールされていることを前提としています。以下は、Claude Desktopでの利用を想定した手順です。
手順
-
国土交通データプラットフォームでアカウントを作成し、APIキーを取得
詳しい手順は、こちらをご覧ください。
-
リポジトリをクローン
git clone https://github.com/MLIT-DATA-PLATFORM/mlit-dpf-mcp.git cd mlit-dpf-mcp -
仮想環境を作成 & 有効化
python -m venv .venv .venv\Scripts\activate # Windows source .venv/bin/activate # macOS/Linux -
依存ライブラリをインストール
pip install -e . pip install aiohttp pydantic tenacity python-json-logger mcp python-dotenv -
環境変数を設定
.env.exampleをコピーし、.envファイルを作成します:MLIT_API_KEY=your_api_key_here MLIT_BASE_URL=https://data-platform.mlit.go.jp/api/v1/あるいはコマンドラインから直接設定することも可能です:
export MLIT_API_KEY=your_api_key_here export MLIT_BASE_URL=https://data-platform.mlit.go.jp/api/v1/your_api_key_hereは必ず、手順1で取得したAPIキーに置き換えてください。 -
MCP サーバーの起動
python -m src.server -
Claude Desktopの設定ファイルを開く
- Windows:
C:\Users\<ユーザー名>\AppData\Roaming\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Claude Desktopアプリの設定画面にある「開発者」メニューの「設定を編集」ボタンをクリックして
claude_desktop_config.jsonを開くことも可能です。
- Windows:
-
MCPサーバーの構成を追加
{ "mcpServers": { "mlit-dpf-mcp": { "command": "......./mlit-dpf-mcp/.venv/Scripts/python.exe", "args": [ "....../mlit-dpf-mcp/src/server.py" ], "env": { "MLIT_API_KEY": "your_api_key_here", "MLIT_BASE_URL": "https://data-platform.mlit.go.jp/api/v1/", "PYTHONUNBUFFERED": "1", "LOG_LEVEL": "WARNING" } } } }commandとargsは必ず、実際のパスに変更してください。
your_api_key_hereは必ず、手順1で取得したAPIキーに置き換えてください。 -
Claude Desktop を再起動
5. ディレクトリ構成
mlit-dpf-mcp/
├─ src/
│ ├─ server.py # MCP サーバー & ツール定義
│ ├─ client.py # MLIT GraphQL API クライアント
│ ├─ schemas.py # Pydantic モデル(入力バリデーション)
│ ├─ config.py # 環境変数ロード & 設定検証
│ └─ utils.py # ロギング、タイマー、レート制限
├─ pyproject.toml
├─ README.md
└─ LICENSE
6. ライセンス
- 本リポジトリはMITライセンスで提供されています。ライセンスを参照してください。
7. 注意事項
- 本リポジトリで提供されるデータの利用に関しては、 国土交通データプラットフォームの利用規約に従う必要があります。ご使用前に国土交通データプラットフォームの利用規約を必ずご確認ください。
- 本リポジトリの個人情報の取り扱いは、国土交通データプラットフォームのプライバシーポリシーに準拠しております。
- 本リポジトリはα版として提供しているものです。動作保証は行っておりません。
- 本リポジトリの内容は予告なく変更・削除する可能性があります。
- 本リポジトリの利用により生じた損失及び障害等について、国土交通省及び国土交通データプラットフォームはいかなる責任も負わないものとします。
8. お問い合わせ
本リポジトリはα版です。お気づきの点があれば下記お問い合わせフォームまでご連絡下さい。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。