data-report-mcp
This MCP server locally analyzes CSV/XLSX tables and produces statistical reports, Chinese Markdown insights, and optional Excel workbooks with native charts.
Analyze
.csv/.xlsxinputs supplied as base64 or a direct HTTPS URL; files over 30 MB are rejected.Compute shape, duplicate rows, missing-rate diagnostics, numeric statistics, categorical top frequencies, and significant pairwise Pearson correlations (
|r| >= 0.5).Generate a Chinese Markdown insights report.
Optionally return a base64
.xlsxworkbook with summary/statistics/detail/distribution sheets and native bar charts.Check service status and free-tier limits with
health().Enforce an anonymous free quota (100 tables / 30 days per client) unless a paid
api_keyis supplied.Run locally with no pandas, no required API key, and optional stdio or streamable-http transport.
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., "@data-report-mcp analyze sales.csv and return an Excel report with charts"
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.
data-report-mcp
📄 Project landing page (use cases and install guide): https://diyaluo.github.io/data-report-mcp/
A local-first Model Context Protocol (MCP) server that turns a CSV/XLSX table into a real data analysis report — summary statistics, duplicate / missing diagnostics, top category frequencies, pairwise correlations, a Chinese Markdown insights writeup, and an Excel workbook with native interactive charts.
🔒 100% local, no API key, no network. Business / financial spreadsheets never leave the machine. There is no telemetry upload — only an optional local usage counter under
~/.cache/data-report-mcp.🧮 No pandas. Runs on the standard library +
openpyxl, so it bundles small and starts fast inside an MCP host.🔌 Two transports: stdio (Claude Desktop / Cursor / any MCP client) and streamable-http for a hosted endpoint.
🆓 Anonymous free tier (100 tables / 30 days per client); over-quota returns an in-band
QUOTA_EXCEEDEDsignal, it never silently bills.
Tools
Tool | Purpose |
| Analyze a |
| Service status + free-tier limits. |
analyze_table accepts the raw file as base64 (preferred) or a direct
https URL to a .csv/.xlsx. Inputs larger than 30 MB are rejected.
Related MCP server: MCP Tabular Data Analysis Server
Install & run
pip install -e . # or: pip install data-report-mcp
# stdio (default MCP transport)
python -m data_report_mcp.server
# streamable-http
REMOTE_TRANSPORT=http MCP_PORT=5070 python -m data_report_mcp.serverClaude Desktop / MCP client config
{
"mcpServers": {
"data-report": {
"command": "python",
"args": ["-m", "data_report_mcp.server"]
}
}
}Environment variables
Var | Default | Meaning |
|
| anonymous monthly table limit |
| (unset) | paid key that bypasses the quota |
|
| local usage-counter directory |
|
| http transport options |
What the report contains
Overall: row/column count, duplicate rows, columns with missing rate ≥ 20%.
Numeric columns: min / max / mean / median / sum / stdev / missing rate.
Categorical columns: unique count + top-5 value frequencies.
Significant pairwise correlations (Pearson |r| ≥ 0.5).
An Excel workbook (
return_xlsx=true) with sheets 概览 / 数值统计 / 明细 / 分布_* (each with a native bar chart) / 显著相关.
Output is a starting point for analysis, not a conclusion: correlation is not causation — combine it with business judgment.
License
MIT. Core analysis adapted from the open data-report local toolkit.
Available Tools
2 toolsanalyze_tableA
Analyze a CSV/XLSX table fully locally: infer numeric/categorical columns, compute shape, missing rate, duplicates, min/max/mean/median/sum/ stddev, top frequencies for text columns and pairwise correlations (|r|>=0.5), and return a Chinese Markdown insights report. Optionally a base64 Excel workbook with native interactive bar charts.
Args: file_base64: raw CSV/XLSX content as base64 (preferred). file_url: direct HTTPS URL to a .csv/.xlsx (alternative). filename: original filename (used only to decide csv vs xlsx). charts: max category columns to chart in the xlsx workbook. return_xlsx: when true, include the generated workbook as base64. api_key: paid key to bypass the anonymous monthly quota.
Inputs: charts, api_key, file_url, filename, +2 more.
healthA
Service health + free-tier limits. No auth required.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
health and analyze_table have completely distinct purposes: one checks service status and quota, the other performs local table analysis. There is no overlap or ambiguity in choosing between them.
Both names use snake_case consistently. However, 'health' is a bare noun while 'analyze_table' follows a verb_noun pattern, creating a minor structural inconsistency.
With only 2 tools, and one being a trivial health check, the functional surface is thin for a server named data-report-mcp. The single analyze_table tool is comprehensive, but the overall set feels under-scoped.
The core single-table analysis and reporting workflow is well covered, including stats, correlations, and optional charts. However, notable gaps exist: no support for multi-table comparison, time-series analysis, data cleaning, or saved report retrieval, limiting real-world reporting use cases.
Maintenance
Related MCP Connectors
Messy CSV, JSON, Excel, SPSS/Stata/SAS and PDF tables to typed Parquet; inspect, query, join.
Upload spreadsheets, get plain-English analysis with real computed charts and quality scores.
Convert and clean tables: CSV, JSON, dedupe, stats. Free.
A statistical analyst in your AI chat: bring data and a question, get a citable, re-runnable report.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables analysis of datasets from CSV/Excel files, Google Sheets, and Google Drive with comprehensive data profiling tools including schema inference, missing value reports, correlation analysis, and outlier detection. Supports exporting analytical reports in multiple formats to local storage or Google Drive.-
- FlicenseAqualityDmaintenanceEnables comprehensive analysis of CSV files and SQLite databases through tools for statistics, correlations, anomaly detection, pivot tables, time series analysis, visualization, and automated insights discovery.16-
- AlicenseAqualityCmaintenanceAnswers "sales dropped since last week — where?" by comparing a target period against a weekday-adjusted baseline and localizing which attribute combinations (e.g. channel=web, or Tuesday nights) explain the shift. Runs fully offline on your own CSV — no API key, no ML training, read-only.2MIT
- AlicenseAqualityCmaintenanceEnables validating CSV structure, checking simple schemas, converting between CSV and JSON, sampling rows, and finding duplicate keys on local files. All processing stays local, so no user data is ever uploaded.6MIT