Skip to main content
Glama

e-Stat MCP

政府統計の総合窓口(e-Stat)で統計表を探し、統計値や表の項目を取得できます。MCP、CLI、Pythonライブラリとして使えます。

MCP登録 · CLI · Pythonライブラリ

できること

  • 統計表情報の検索(JSON/CSV)

  • 統計データの取得・一括取得(JSON/CSV)

  • メタ情報の取得(JSON/CSV)

  • データセットの登録・参照

  • データカタログ情報の取得(JSON/CSV)

  • キーワード検索

Related MCP server: mcp-estat-japan

データの出典

出典:政府統計の総合窓口(e-Stat)(https://www.e-stat.go.jp/)

インストール

uv tool install git+https://github.com/koizumikento/e-stats-mcp.git

リポジトリをクローンして使う場合は、次のコマンドを実行します。

git clone https://github.com/koizumikento/e-stats-mcp.git
cd e-stats-mcp
uv sync

設定

アプリケーションID

e-Stat APIを使用するにはアプリケーションIDが必要です。

  1. e-Stat API にアクセス

  2. ユーザー登録・ログイン

  3. アプリケーションIDを取得

CLIとPythonを実行するシェルで環境変数を設定します。

$env:E_STAT_APP_ID = "your-app-id"

macOSやLinuxでは export E_STAT_APP_ID="your-app-id" を使います。

MCPクライアントに登録する

Claude Desktop

OSに応じて、次のファイルに設定を追加します。

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

インストール済みのコマンドで起動する場合

{
  "mcpServers": {
    "e-stats-mcp": {
      "command": "e-stats-mcp",
      "env": {
        "E_STAT_APP_ID": "your-app-id"
      }
    }
  }
}

GitHubから直接起動する場合

{
  "mcpServers": {
    "e-stats-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/koizumikento/e-stats-mcp.git",
        "e-stats-mcp"
      ],
      "env": {
        "E_STAT_APP_ID": "your-app-id"
      }
    }
  }
}

クローン先から起動する場合

{
  "mcpServers": {
    "e-stats-mcp": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/e-stats-mcp",
        "e-stats-mcp"
      ],
      "env": {
        "E_STAT_APP_ID": "your-app-id"
      }
    }
  }
}

Codex

CLIで登録する場合は、次のコマンドを実行します。アプリケーションIDは手元で差し替えてください。

codex mcp add e-stats-mcp --env "E_STAT_APP_ID=your-app-id" -- uvx --python 3.12 --from git+https://github.com/koizumikento/e-stats-mcp.git@master e-stats-mcp
codex mcp list

新しいセッションで /mcp を開くと接続を確認できます。手動で設定する場合は ~/.codex/config.toml に追加します。 OpenAI公式のMCP設定

GitHubから起動する場合

[mcp_servers.e-stats-mcp]
command = "uvx"
args = [
  "--from",
  "git+https://github.com/koizumikento/e-stats-mcp.git",
  "e-stats-mcp",
]
env = { E_STAT_APP_ID = "your-app-id" }

クローン先から起動する場合

[mcp_servers.e-stats-mcp]
command = "uv"
args = [
  "run",
  "--directory",
  "/path/to/e-stats-mcp",
  "e-stats-mcp",
]
env = { E_STAT_APP_ID = "your-app-id" }

Cursor

プロジェクトのルートにある .cursor/mcp.json に設定を追加します。

{
  "mcpServers": {
    "e-stats-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/koizumikento/e-stats-mcp.git",
        "e-stats-mcp"
      ],
      "env": {
        "E_STAT_APP_ID": "your-app-id"
      }
    }
  }
}

ツール

Sites Worker

Python library / CLI / stdioに加え、Sites内のWorkerとして全14ツールを実行できます。 別backend・tunnel・DBは不要です。ビルド、runtime secrets、所有者認可、配備・検証と 検証資源の片づけは Sites手順 を参照してください。

統計表検索

  • get_stats_list / get_stats_list_csv - 統計表情報を検索

  • search_stats_by_keyword - キーワードで簡単検索

メタ情報取得

  • get_meta_info / get_meta_info_csv - 統計表のメタ情報を取得

統計データ取得

  • get_stats_data / get_stats_data_csv - 統計データを取得

  • get_stats_data_bulk - statsDatasSpec形式で複数ID/データセットを一括取得

  • get_stats_data_bulk_csv - 同じ条件を使い、公式APIのCSV形式で一括取得

データセット

  • post_dataset - データセット登録(postDataset)

  • get_dataset - データセット参照(refDataset)

e-Stat APIの refDataset では、一覧取得時に limit や startPosition を指定できません。 get_dataset で一覧を取得すると、MCPが limit と start_position を適用します。

データカタログ

  • get_data_catalog / get_data_catalog_csv - データカタログ情報を取得

データカタログの検索に時間がかかる場合は、先に get_stats_list で統計表を探してください。得られた stats_code などで条件を絞り、get_data_catalog を呼びます。

検索範囲が広すぎる場合やe-Stat APIが時間内に応答しない場合は、MCP_GUIDANCE または structuredContent.error に次に試せる呼び出しを返します。get_data_catalog_csv も検索範囲が広すぎる場合は、csv と MCP_GUIDANCE を含むJSONを返します。

分野コード

  • get_stats_fields - 統計分野コード一覧(静的マッピング)

CLIで使う

アプリケーションIDを設定してから実行します。通常の出力はJSONで、--csv を指定するとCSVを標準出力に返します。

uvx --python 3.12 --from git+https://github.com/koizumikento/e-stats-mcp.git@master e-stats-mcp search 人口 --limit 5
uvx --python 3.12 --from git+https://github.com/koizumikento/e-stats-mcp.git@master e-stats-mcp data-bulk --ids "0003411001,0003411002" --limit 5 --csv

Pythonライブラリとして使う

自分のPythonプロジェクト(pyproject.toml があるディレクトリ)で依存関係に追加します。CLIで使うと同様に、実行するシェルで E_STAT_APP_ID を設定してください。

uv add "git+https://github.com/koizumikento/e-stats-mcp.git@master"

次のコードを example.py に保存し、同じディレクトリで uv run python example.py を実行します。

import asyncio

from e_stats_mcp.tools import search_stats_by_keyword

print(asyncio.run(search_stats_by_keyword("人口", limit=5)))

使用例

キーワードで統計を検索

Tool: search_stats_by_keyword
Arguments: {"keyword": "人口", "limit": 10}

統計表情報をCSVで取得

Tool: get_stats_list_csv
Arguments: {"search_word": "国勢調査", "survey_years": "2020", "limit": 5}

統計表情報を詳細検索

Tool: get_stats_list
Arguments: {"search_word": "国勢調査", "survey_years": "2020"}

統計データを取得

Tool: get_stats_data
Arguments: {"stats_data_id": "0003411001", "limit": 50}

統計データを一括取得

Tool: get_stats_data_bulk
Arguments: {
  "requests": [
    {"statsDataId": "0003411001", "limit": "100"},
    {"statsDataId": "0003411002", "limit": "100"}
  ]
}

stats_data_ids または dataset_ids でIDをまとめて指定できます。MCPは、これらの指定をe-Stat API用の statsDatasSpec に変換します。limit と startPosition はAPIが受け付ける文字列に変換します。

CSVが必要な場合は get_stats_data_bulk_csv に同じ引数を渡せます。CLIでは e-stats-mcp data-bulk --ids 0003411001,0003411002 --csv を使います。

メタ情報を取得

Tool: get_meta_info
Arguments: {"stats_data_id": "0003411001"}

データセットを登録

Tool: post_dataset
Arguments: {
  "dataset_name": "sample-dataset",
  "stats_data_id": "0003411001",
  "conditions": {"cdCat01": "000"}
}

postDataset はe-Stat API側の応答がXMLのみのため、このMCPではXMLをdictに変換して返します。 APIの業務エラーは通常データではなくツールエラーとして扱います。

データカタログ情報をCSVで取得

Tool: get_data_catalog_csv
Arguments: {"search_word": "人口", "limit": 20}

e-Stat API 3.0にはデータカタログをCSVで取得する機能がありません。 MCPは getDataCatalog がJSONで返す DATA_CATALOG_INF をCSVに変換します。

統計分野コード一覧を取得

Tool: get_stats_fields
Arguments: {}

統計分野コード

コード

分野

01

国土・気象

02

人口・世帯

03

労働・賃金

04

農林水産業

05

鉱工業

06

商業・サービス業

07

企業・家計・経済

08

住宅・土地・建設

09

エネルギー・水

10

運輸・観光

11

情報通信・科学技術

12

教育・文化・スポーツ・生活

13

行財政

14

司法・安全・環境

15

社会保障・衛生

16

国際

17

その他

ライセンス

MIT

Available Tools

13 tools
get_data_catalogA
Read-only

データカタログ情報を取得する.

広い探索にはget_stats_listを使い、stats_code等で候補を絞ってから get_data_catalogを呼ぶと安定しやすい。

Inputs: limit, gov_code, open_years, stats_code, +6 more. Returns: object

get_data_catalog_csvA
Read-only

データカタログ情報をCSVで取得する.

e-Stat API 3.0にはデータカタログのCSVエンドポイントがないため、 JSON版getDataCatalogのデータカタログ行をMCP側でCSVへ変換する。

Inputs: limit, gov_code, open_years, stats_code, +6 more. Returns: result

get_datasetC
Read-only

データセットを参照する.

Inputs: limit, dataset_id, start_position. Returns: object

get_meta_infoB
Read-only

統計表のメタ情報を取得する.

Inputs: stats_data_id (required). Returns: object

get_meta_info_csvC
Read-only

統計表のメタ情報をCSVで取得する.

Inputs: stats_data_id (required). Returns: result

get_stats_dataC
Read-only

統計データを取得する.

Inputs: stats_data_id (required), limit, cdarea, cdtime, +21 more. Returns: object

get_stats_data_bulkB
Read-only

複数の統計表ID/データセットIDから統計データを一括取得する.

Inputs: limit, requests, dataset_ids, start_position, +1 more. Returns: object

get_stats_data_csvC
Read-only

統計データをCSVで取得する.

Inputs: stats_data_id (required), limit, cdarea, cdtime, +21 more. Returns: result

get_stats_fieldsA
Read-only

統計分野コード一覧を返す.

Inputs: no named parameters. Returns: result

get_stats_listC
Read-only

統計表情報を検索する.

Inputs: limit, gov_code, open_years, stats_code, +6 more. Returns: object

get_stats_list_csvC
Read-only

統計表情報をCSVで取得する.

Inputs: limit, gov_code, open_years, stats_code, +6 more. Returns: result

post_datasetC

データセットを登録する.

Inputs: conditions, data_set_id, dataset_name, process_mode, +2 more. Returns: object

search_stats_by_keywordB
Read-only

キーワードで統計情報を検索する.

より簡単に統計表を検索するためのヘルパーツール。

Inputs: keyword (required), limit. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.8/5.0

    Scored across 13 tools

    Disambiguation3/5

    Tools form distinct groups: search (get_stats_list, search_stats_by_keyword), metadata (get_meta_info, get_data_catalog), data retrieval (get_stats_data, get_stats_data_bulk). However, CSV variants (get_stats_list_csv, get_meta_info_csv, get_stats_data_csv, get_data_catalog_csv) overlap with their JSON counterparts, though descriptions clarify the difference. The helper tools search_stats_by_keyword and the CSV variants could confuse agents if not careful.

    Naming Consistency4/5

    Most tools follow a consistent get_<resource> pattern (e.g., get_stats_list, get_meta_info, get_stats_data). The main deviation is search_stats_by_keyword, which uses 'search' instead of 'get'. The CSV variants consistently append '_csv', which is clear. Minor inconsistency but overall predictable.

    Tool Count4/5

    13 tools is within the ideal 3-15 range, slightly on the higher side but justified by the domain (search, metadata, data retrieval, catalog). The presence of CSV variants for each endpoint adds 4 extra tools, which could be seen as moderate over-scoping, but they serve a real need for agents preferring CSV output. Overall appropriate.

    Completeness3/5

    The tool surface covers core e-Stat API operations: searching stats tables, retrieving metadata, fetching stats data, and bulk retrieval. It also includes a post_dataset for registration. However, there is no update or delete operation for datasets, and the search functionality is somewhat split between get_stats_list and search_stats_by_keyword, which may lead to dead ends. The data catalog endpoints are a plus, but the lack of explicit lifecycle management (update/delete) is a notable gap.

    Maintenance

    ActivityActive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      MCP server for Japan's e-Stat (Government Statistics Portal). Search statistical datasets, retrieve data tables, and access metadata from official Japanese government statistics.
      55 PyPI
      10
      Apache 2.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to query Japanese public data (laws, corporations, statistics) from official government APIs, returning normalized English metadata with source attribution.
      1
      MIT