e-Stat MCP
Search and retrieve Japanese government statistics from e-Stat, outputting JSON or CSV.
Search statistical tables by keyword, government/stats code, survey or open year, field, and update date, with paging (
get_stats_list,get_stats_list_csv,search_stats_by_keyword)Fetch table metadata for a given stats data ID (
get_meta_info,get_meta_info_csv)Retrieve statistical data with filters for area, time, and category/level codes, plus count and section-header options (
get_stats_data,get_stats_data_csv)Bulk-fetch data for multiple stats data IDs or dataset IDs via statsDatasSpec-style requests (
get_stats_data_bulk)Register/update/delete datasets and reference existing ones with paging (
post_dataset,get_dataset)Query data catalog information, converted to CSV when needed (
get_data_catalog,get_data_catalog_csv)List static statistical field codes (01–17) (
get_stats_fields)
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@e-Stat MCP search for population statistics in Tokyo from 2020"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 API: https://www.e-stat.go.jp/api/
API仕様: https://www.e-stat.go.jp/api/api-info/e-stat-manual3-0
出典:政府統計の総合窓口(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が必要です。
e-Stat API にアクセス
ユーザー登録・ログイン
アプリケーション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.jsonWindows:
%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 --csvPythonライブラリとして使う
自分の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 | その他 |
ライセンス
Available Tools
13 toolsget_data_catalogARead-only
データカタログ情報を取得する.
広い探索にはget_stats_listを使い、stats_code等で候補を絞ってから get_data_catalogを呼ぶと安定しやすい。
Inputs: limit, gov_code, open_years, stats_code, +6 more. Returns: object
get_data_catalog_csvARead-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_datasetCRead-only
データセットを参照する.
Inputs: limit, dataset_id, start_position. Returns: object
get_meta_infoBRead-only
統計表のメタ情報を取得する.
Inputs: stats_data_id (required). Returns: object
get_meta_info_csvCRead-only
統計表のメタ情報をCSVで取得する.
Inputs: stats_data_id (required). Returns: result
get_stats_dataCRead-only
統計データを取得する.
Inputs: stats_data_id (required), limit, cdarea, cdtime, +21 more. Returns: object
get_stats_data_bulkBRead-only
複数の統計表ID/データセットIDから統計データを一括取得する.
Inputs: limit, requests, dataset_ids, start_position, +1 more. Returns: object
get_stats_data_csvCRead-only
統計データをCSVで取得する.
Inputs: stats_data_id (required), limit, cdarea, cdtime, +21 more. Returns: result
get_stats_fieldsARead-only
統計分野コード一覧を返す.
Inputs: no named parameters. Returns: result
get_stats_listCRead-only
統計表情報を検索する.
Inputs: limit, gov_code, open_years, stats_code, +6 more. Returns: object
get_stats_list_csvCRead-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_keywordBRead-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
Scored across 13 tools
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.
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.
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.
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
Related MCP Connectors
政府統計 (e-Stat) の API を通じて、統計データやメタ情報を取得するためのサービスです。
Japan export and import customs statistics (Ministry of Finance) by code. No API key required.
Search Japanese subsidies and public company data using J-Grants, gBizINFO, and EDINET.
Search Japanese statutes via the e-Gov Law API. Free law_search tool.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceMCP server for Japan's e-Stat (Government Statistics Portal). Search statistical datasets, retrieve data tables, and access metadata from official Japanese government statistics.55 PyPI10Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables querying Japanese government statistics from e-Stat, including metadata, data observations, and catalog browsing.104 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides LLMs access to Japanese and international statistical data (e-Stat, World Bank, OECD, Eurostat) with tools for data retrieval, chart generation, and statistical analysis.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to query Japanese public data (laws, corporations, statistics) from official government APIs, returning normalized English metadata with source attribution.1MIT