MCP表格数据分析服务器
一种模型上下文协议(MCP)服务器,提供用于分析数字和表格数据的工具。适用于CSV文件和SQLite数据库。
演示
auto_insights
数据质量报告
分析时间序列
特性
核心工具
| 工具 | 说明 |
|---|---|
list_data_files | 列出数据目录中可用的CSV和SQLite文件 |
describe_dataset | 为数据集生成统计数据(形状、类型、分布、缺失值) |
detect_anomalies | 使用Z-score或IQR方法查找异常值 |
compute_correlation | 计算数值列之间的相关矩阵 |
filter_rows | 使用各种运算符(eq、gt、lt、contains等)过滤数据 |
group_aggregate | 分组数据和计算聚合(总和、平均值、计数等) |
query_sqlite | 在SQLite数据库上执行SQL查询 |
list_tables | 列出SQLite数据库中的所有表和模式 |
分析工具
| 工具 | 说明 |
|---|---|
create_pivot_table | 使用灵活的聚合创建Excel样式的数据透视表 |
data_quality_report | 带分数和建议的数据质量评估 |
analyze_time_series | 带有趋势、季节性和移动平均线的时间序列分析 |
generate_chart | 创建可视化(条形图、折线图、散点图、直方图、饼图、方框图) |
merge_datasets | 将两个数据集连接/合并在一起(内部、左侧、右侧、外部连接) |
statistical_test | 假设检验(t检验、方差分析、卡方检验、相关性检验) |
auto_insights | 发现模式和见解 |
export_data | 将过滤/转换后的数据导出到新的CSV文件 |
安装
先决条件
- Python 3.10+
- 紫外线 (推荐)或pip
使用uv进行安装
cd mcp-tabular
uv sync使用pip安装
cd mcp-tabular
pip install -e .用法
直接运行服务器
# With uv
uv run mcp-tabular
# With pip installation
mcp-tabular使用Claude Desktop进行配置
- 找到您的Claude Desktop配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 视窗: %APPDATA%\Claude\claude_desktop_config.json - Linux: ~/.config/Claude/claude_desktop_config.json
- 添加此配置(替换
/Users/kirondeb/mcp-tabular根据您的实际路径):
{
"mcpServers": {
"tabular-data": {
"command": "/Users/kirondeb/mcp-tabular/.venv/bin/python",
"args": [
"-m",
"mcp_tabular.server"
]
}
}
}- 重新启动Claude Desktop(退出并重新打开)
- 通过询问Claude进行测试:“在data/sample_sales.csv中描述数据集”
看 CONNECT_TO_CLAUDE_DESKTOP.md 有关详细说明和故障排除。
看 TEST_PROMPTS.md 例如提示。
样品数据
该项目包括用于测试的样本数据:
data/sample_sales.csv-销售交易数据data/sample.db-包含客户、订单和产品表的SQLite数据库
要创建SQLite示例数据库,请执行以下操作:
python scripts/create_sample_db.py路径解析
所有文件路径都是相对于项目根目录解析的:
- 相对路径,如
data/sample_sales.csv从任何工作目录工作 - 绝对路径也按预期工作
- 路径相对于何处解析
mcp_tabular已安装
工具示例
列出数据文件
列出可用数据文件:
list_data_files()列出数据目录中包含元数据的所有CSV和SQLite文件。
描述数据集
为数据集生成统计信息:
describe_dataset(file_path="data/sample_sales.csv")包括形状、列类型、数值统计(均值、标准差、中值、偏斜、峰度)、分类值计数和示例预览。
检测异常
在数值列中查找异常值:
detect_anomalies(
file_path="data/sample_sales.csv",
column="total_sales",
method="zscore",
threshold=3.0
)支持 zscore 和 iqr 方法。
计算相关性
计算数值列之间的相关性:
compute_correlation(
file_path="data/sample_sales.csv",
method="pearson"
)包括完整的相关性矩阵和按强度排名的顶级相关性。
过滤行
根据条件过滤数据:
filter_rows(
file_path="data/sample_sales.csv",
column="category",
operator="eq",
value="Electronics"
)操作员: eq, ne, gt, gte, lt, lte, contains, startswith, endswith
分组和聚合
分组数据和计算聚合:
group_aggregate(
file_path="data/sample_sales.csv",
group_by=["category", "region"],
aggregations={"total_sales": ["sum", "mean"], "quantity": ["count"]}
)查询SQLite
在数据库上执行SQL查询:
query_sqlite(
db_path="data/sample.db",
query="SELECT * FROM customers WHERE lifetime_value > 1000"
)列表表格
列出SQLite数据库中的表和模式:
list_tables(db_path="data/sample.db")高级分析示例
创建数据透视表
创建Excel样式的数据透视表:
create_pivot_table(
file_path="data/sample_sales.csv",
index=["region"],
columns=["category"],
values="total_sales",
aggfunc="sum"
)数据质量报告
生成数据质量评估:
data_quality_report(file_path="data/sample_sales.csv")包括完整性评分、重复检测、异常值分析和总体质量等级(A-F)。
时间序列分析
分析趋势和季节性:
analyze_time_series(
file_path="data/sample_sales.csv",
date_column="order_date",
value_column="total_sales",
freq="M",
include_forecast=True
)生成图表
创建可视化(返回base64图像):
generate_chart(
file_path="data/sample_sales.csv",
chart_type="bar",
x_column="category",
y_column="total_sales",
title="Sales by Category"
)支持的图表类型: bar, line, scatter, histogram, pie, box
合并数据集
连接或合并两个数据集:
merge_datasets(
file_path_left="data/orders.csv",
file_path_right="data/customers.csv",
on=["customer_id"],
how="left"
)统计测试
运行假设检验:
statistical_test(
file_path="data/sample_sales.csv",
test_type="ttest_ind",
column1="total_sales",
group_column="region",
alpha=0.05
)支持的测试: ttest_ind, ttest_paired, chi_squared, anova, mann_whitney, pearson, spearman
汽车洞察
发现模式和见解:
auto_insights(file_path="data/sample_sales.csv")包括对相关性、异常值、偏斜分布、缺失数据等的见解。
导出数据
将过滤后的数据导出到新的CSV:
export_data(
file_path="data/sample_sales.csv",
output_name="electronics_sales",
filter_column="category",
filter_operator="eq",
filter_value="Electronics",
sort_by="total_sales",
sort_ascending=False
)发展
运行测试
uv run pytest项目结构
mcp-tabular/
├── src/
│ └── mcp_tabular/
│ ├── __init__.py
│ └── server.py # Main MCP server implementation
├── data/
│ ├── sample_sales.csv # Sample CSV data
│ └── sample.db # Sample SQLite database
├── scripts/
│ └── create_sample_db.py
├── pyproject.toml
├── claude_desktop_config.json
└── README.md许可证
麻省理工学院
