MLIT Data Platform MCP Server

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.

Category
访问服务器

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での利用を想定した手順です。

手順

  1. 国土交通データプラットフォームでアカウントを作成し、APIキーを取得

    詳しい手順は、こちらをご覧ください。

  2. リポジトリをクローン

    git clone https://github.com/MLIT-DATA-PLATFORM/mlit-dpf-mcp.git
    cd mlit-dpf-mcp
    
  3. 仮想環境を作成 & 有効化

    python -m venv .venv
    .venv\Scripts\activate      # Windows
    source .venv/bin/activate   # macOS/Linux
    
  4. 依存ライブラリをインストール

    pip install -e .
    pip install aiohttp pydantic tenacity python-json-logger mcp python-dotenv
    
  5. 環境変数を設定

    .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キーに置き換えてください。

  6. MCP サーバーの起動

    python -m src.server
    
  7. 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を開くことも可能です。
  8. 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"
          }
        }
      }
    }
    

    commandargsは必ず、実際のパスに変更してください。
    your_api_key_hereは必ず、手順1で取得したAPIキーに置き換えてください。

  9. 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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选