Token导航 LogoToken导航

MCP Server · 数据服务

Estat MCP

estat-mcp 是一个提供对日本政府统计门户e-Stat程序化访问的Python异步客户端和MCP服务器,支持搜索统计表、获取元数据和统计数据,并可将数据导出为Polars/pandas DataFrame。

stdio官方来源来源级核验工具 4
PythonClaude数据分析Claude DesktopCursor

快速开始

作者 / 组织
ajtgjmdjp
提供方
ajtgjmdjp

工具数量

4

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

5

仓库热度

收录来源

2 个

MCP World

选型结论

Estat MCP 属于数据服务类 MCP Server,公开资料标注 4 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、Cursor,有可以直接复制的安装命令;接入前先确认权限范围。

分类

数据服务

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install estat-mcp

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 4 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

状态-mcp

电子统计 (政府统计の総合窗口)API client and MCP server for Japanese government statistics.

📝 日语教程:只听Claude就能知道GDP和CPI(Zenn)

这是什么?

状态-mcp 提供对日本官方统计门户的程序化访问(电子统计),其中包含3000多个统计表,涵盖人口、经济、价格、劳动力、农业和地区数据。它将这些作为Python异步客户端和 主控程序 用于AI助手的服务器。

  • 按关键字搜索统计数据(人口、GDP、CPI等)
  • Retrieve metadata to understand table structure(表章事项,分类事项,时间轴,地域)
  • 为大型数据集自动分页获取统计数据
  • 类型安全的Pydantic模型 使用Polars/pandas DataFrame导出
  • 速率限制 内置以符合API
  • MCP服务器,配备4个用于Claude Desktop和其他AI工具的工具

快速开始

安装

pip install estat-mcp
# or
uv add estat-mcp

获取API密钥

注册(免费) 电子统计API 并设置:

export ESTAT_APP_ID=your_app_id_here

30秒示例

import asyncio
from estat_mcp import EstatClient

async def main():
    async with EstatClient() as client:
        # Search for population statistics
        tables = await client.search_stats("人口")
        print(tables[0].name)  # 人口推計

        # Get metadata
        meta = await client.get_meta(tables[0].id)
        print(f"Time periods: {[t.name for t in meta.time_items]}")

        # Fetch data (Tokyo, 2024)
        data = await client.get_data(
            tables[0].id,
            cd_area="13000",   # Tokyo
            cd_time="2024000", # 2024
            limit=100
        )
        
        # Export as DataFrame
        df = data.to_polars()
        print(df)

asyncio.run(main())

CLI快速入门

# Test API connectivity
estat-mcp test

# Search for CPI statistics
estat-mcp search "消費者物価指数" --limit 10

# Fetch data for a table
estat-mcp data 0003410379 --cd-area 13000 --format table

# Start MCP server
estat-mcp serve

MCP服务器

添加到AI工具的MCP配置中:

Claude Desktop (~⁠/Library/Application Support/Claude/claude_desktop_config.json)

{
  "mcpServers": {
    "estat": {
      "command": "uvx",
      "args": ["estat-mcp", "serve"],
      "env": {
        "ESTAT_APP_ID": "your_app_id_here"
      }
    }
  }
}

Cursor (~⁠/.cursor/mcp.json)

{
  "mcpServers": {
    "estat": {
      "command": "uvx",
      "args": ["estat-mcp", "serve"],
      "env": {
        "ESTAT_APP_ID": "your_app_id_here"
      }
    }
  }
}

请教“日本人口统计”或“东京最新CPI”?"

可用的MCP工具

工具说明
search_statistics 用关键字搜索统计表
get_statistic_meta 获取表结构(表章事项、分类事项、时间轴、地域)
get_statistic_data 获取统计数据(支持筛选分页)
get_all_statistic_data 全页自动获取(max_pages受限)

Python API

搜索→ 元数据→ 数据流

import asyncio
from estat_mcp import EstatClient

async def main():
    async with EstatClient() as client:
        # 1. Search for statistics tables
        tables = await client.search_stats("消費者物価指数", limit=5)
        # → [StatsTable(id="0003410379", name="消費者物価指数", ...), ...]

        stats_id = tables[0].id

        # 2. Get metadata to understand structure
        meta = await client.get_meta(stats_id)
        print(f"Table items: {[i.name for i in meta.table_items]}")
        print(f"Time periods: {[t.name for t in meta.time_items]}")
        print(f"Areas: {[a.name for a in meta.area_items]}")

        # 3. Fetch data with filters
        data = await client.get_data(
            stats_id,
            cd_area="13000",      # Tokyo only
            cd_time="2024000",    # 2024 only
            limit=1000
        )

        # 4. Export to DataFrame
        df = data.to_polars()
        print(df)

asyncio.run(main())

自动分页

对于大型数据集,请使用 get_all_data() 要自动获取所有页面,请执行以下操作:

# Fetch up to 10 pages (safety limit)
all_data = await client.get_all_data(
    stats_id,
    max_pages=10,
    cd_cat01="100"  # Filter by classification
)
print(f"Fetched {len(all_data.values)} / {all_data.total_count} records")

Polars出口

# Requires: pip install estat-mcp[polars]
df = data.to_polars()

CLI参考

# Search for statistics tables
estat-mcp search  [options]
  --limit, -n     Max results (default: 20)
  --format, -f    Output format: table|json (default: table)

# Fetch statistical data
estat-mcp data  [options]
  --limit, -n       Max records (default: 100)
  --format, -f      Output format: table|json (default: table)
  --cd-tab          Filter by table item code
  --cd-time         Filter by time code
  --cd-area         Filter by area code
  --cd-cat01        Filter by classification code

# Test API connectivity
estat-mcp test

# Show version
estat-mcp version

# Start MCP server
estat-mcp serve [--transport stdio|sse]

可用数据

e-Stat提供对3000多个统计表的访问:

类别示例
人口人口推计、国势调查、将来人口推计
经济GDP、企业统计、商业统计、工业统计
价格消费者物似指数(CPI)、企业物似指数
劳动劳働力调查、赁金构造基本统计调查
贸易贸易统计、国际收支统计
农业 农业普查、渔业普查、林野统计
区域 小地区、地区网格、都道府县、市区町村数据

与edinet mcp集成

estat mcp携手合作 edinet mcp 有关日本综合金融数据:

  • edinet mcp:Company financial statements(有似证券报告书)
  • 状态-mcp:宏观经济和人口统计

工作流程示例:

  1. 使用edinet-mcp从edinet获得丰田的收入
  2. 使用estat-mcp获取汽车行业生产统计数据
  3. 将公司业绩与行业趋势进行比较

API 参考

EstatClient

from estat_mcp import EstatClient

async with EstatClient(
    app_id="...",           # or ESTAT_APP_ID env var
    timeout=60.0,           # request timeout
    rate_limit=0.5,         # requests per second
) as client:
    # Search
    tables: list[StatsTable] = await client.search_stats("人口", limit=20)
    
    # Metadata
    meta: StatsMeta = await client.get_meta("0003410379")
    
    # Data (single page)
    data: StatsData = await client.get_data(
        "0003410379",
        cd_area="13000",
        cd_time="2024000",
        limit=1000
    )
    
    # Data (all pages)
    all_data: StatsData = await client.get_all_data(
        "0003410379",
        max_pages=10
    )

StatsData

# Access values
for v in data.values:
    print(v.value)              # The numeric value
    print(v.time_code)          # Time dimension code
    print(v.area_code)          # Area dimension code
    print(v.classification_codes)  # Dict of classification codes

# Export
json_data = data.to_dicts()     # list[dict]
df = data.to_polars()           # polars.DataFrame (requires polars)

响应格式

e-Stat API在JSON中使用XML样式约定:

{
  "TABLE_INF": [
    {"@code": "110", "@name": "人口", "@unit": "人", "@level": "1"}
  ],
  "VALUE": [
    {"@tab": "110", "@time": "2024000", "@area": "13000", "$": "13960000"}
  ]
}
  • @-前缀键是XML属性
  • $ 包含文本内容

estat-mcp会自动处理这个问题——你会得到干净的Python对象。

发展

git clone https://github.com/ajtgjmdjp/estat-mcp
cd estat-mcp
uv sync --extra dev
uv run pytest -v           # Run tests
uv run ruff check src/     # Lint
uv build                   # Build package

项目结构

estat-mcp/
├── src/estat_mcp/
│   ├── __init__.py      # Public API exports
│   ├── client.py        # EstatClient (async HTTP)
│   ├── models.py        # Pydantic models (StatsTable, StatsData, etc.)
│   ├── server.py        # MCP server (FastMCP)
│   └── cli.py           # Command-line interface
├── tests/               # Test suite
├── examples/            # Example scripts
├── pyproject.toml       # Project configuration
└── README.md

数据归因

此项目使用以下数据 电子统计 (政府统计的综合窗口), operated by the Statistics Bureau of Japan(総务省统计局). e-Stat数据是根据与以下条款兼容的条款提供的 CC 4.0.

出典:政府统计の総合窗口(e-Stat)(https://www.e-stat.go.jp/)

此服务使用政府统计信息综合窗口(e-Stat)的API功能,但服务内容不受国家担保。 该服务使用日本官方统计门户网站(e-Stat)的API。这项服务的内容不受日本政府的保证。

相关项目

许可证

阿帕奇-2.0

工具与能力

工具数量

4

资源数量

0

提示词数量

0

能力标签

政府统计Python本地部署数据分析日本经济人口统计API客户端

支持客户端

Claude DesktopClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 只提供 4 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Estat MCP

MCP World · 本页

4stdio有2 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Estat MCP 怎么安装?

公开资料给出的安装命令是 pip install estat-mcp,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Estat MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Estat MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Estat MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Estat MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP