Skip to main content

e-Stat Dashboard MCP Server

An MCP (Model Context Protocol) server to interact with the e-Stat Dashboard API, providing Japanese statistical data to LLMs.

Installation & Usage

Using uv (Recommended)

You can run the server directly without installing it using uvx:

uvx e-stat-dashboard-mcp

via Claude Desktop config

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "e-stat-dashboard": {
      "command": "uvx",
      "args": ["e-stat-dashboard-mcp"]
    }
  }
}

Manual Installation (pip)

pip install e-stat-dashboard-mcp
python -m e_stat_dashboard_mcp.server

Local Development

Clone the repository and install dependencies:

git clone https://github.com/takurot/e-stat-dashboard-mcp.git
cd e-stat-dashboard-mcp
uv sync

Running the Server (Local)

uv run python -m e_stat_dashboard_mcp.server

Or via MCP Inspector:

npx @modelcontextprotocol/inspector uv run python -m e_stat_dashboard_mcp.server

Tools

search_indicators(keyword: str) -> str

Search for statistical indicators.

  • Example: search_indicators(keyword="失業率")
  • Returns a Markdown list of matching indicators with codes.

get_stats_data(indicator_code: str, from_date: str = None, to_date: str = None, cycle: str = None) -> str

Get statistical data for a specific indicator.

  • Example: get_stats_data(indicator_code="0301010000020020010", from_date="20230100")
  • Returns a JSON string of flattened data points.

analyze_stats(data_json: str, analysis_type: str, ...) -> str

Analyze the retrieved data.

  • Types:
    • summary: Basic stats (mean, median, variance, quartiles, CV)
    • cagr (or growth): Compound Annual Growth Rate
    • yoy: Year-Over-Year growth
    • trend: Linear trend (slope, R², direction)
    • anomaly: Latest-point anomaly detection (Z-score)
    • correlation: Correlation between two series
  • Examples:
    • analyze_stats(data_json=..., analysis_type="cagr")
    • analyze_stats(analysis_type="correlation", data_json=[{...}], data_json_b=[{...}])
      • Or server-side fetch: analyze_stats(analysis_type="correlation", indicator_code="CODE_A", indicator_code_b="CODE_B")

generate_graph_code(data_payload, graph_type: str, title: str, x_label: str = "Date", y_label: str = "Value") -> str

Generate Python code to visualize data using Matplotlib (with Japanese font support).

  • Types: line, bar, scatter
  • data_payload: JSON string or already-parsed list of records (e.g., [{"date": "2020-01", "value": 10}]). If omitted, use data_uri.
  • Examples:
    • generate_graph_code(data_payload=[{"date": "2020-01", "value": 10}], graph_type="line", title="Unemployment Rate")
    • generate_graph_code(data_uri=..., graph_type="line", title="Unemployment Rate")

list_regions(parent_region_code: str = None) -> str

List regions (Prefectures, etc).

  • Example: list_regions(parent_region_code="00000") (Lists prefectures)

Configuration

Environment variables can be set in .env or passed directly. Prefix is ESTAT_.

Variable Default Description
ESTAT_API_BASE_URL https://dashboard.e-stat.go.jp/api/1.0/Json API Endpoint
ESTAT_LANG JP Language

Development

Run tests:

uv run pytest

Run linter:

uv run ruff check .

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

e_stat_dashboard_mcp-0.1.3.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

e_stat_dashboard_mcp-0.1.3-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file e_stat_dashboard_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: e_stat_dashboard_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for e_stat_dashboard_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 e13596170994fcd2cdf9c8ac81fb816c01acfc9201d8b36bc0d118f6cac587e7
MD5 605dfe70926d61ab87113ada2fd225af
BLAKE2b-256 06f3b536562096d2b7b03891b40a50af39e3f6e10b9bc372c19191ff0945e6de

See more details on using hashes here.

Provenance

The following attestation bundles were made for e_stat_dashboard_mcp-0.1.3.tar.gz:

Publisher: release.yml on takurot/e-stat-dashboard-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file e_stat_dashboard_mcp-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for e_stat_dashboard_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f8c40164ba89080872728976d2b0f1a952b20aeeb27e503971aec4daafa53e2d
MD5 c68c99c220c962b3223ee56ee14abd17
BLAKE2b-256 4ad6414879046d2dc88ceacde71bbc47240b74ec0fa84461da09e25d1da94300

See more details on using hashes here.

Provenance

The following attestation bundles were made for e_stat_dashboard_mcp-0.1.3-py3-none-any.whl:

Publisher: release.yml on takurot/e-stat-dashboard-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page