本地数据MCP服务器
 ](https://github.com/ChrisGVE/localdata-mcp/releases)  ](https://pypi.org/project/localdata-mcp/)    
LocalData MCP使LLM代理能够访问本地和远程数据——数据库、文件、图形和结构化文档——以及用于分析和建模的完整数据科学工具包。它公开了13种数据库类型和20多种文件格式的52个MCP工具,具有内存限制流,因此代理可以在不超过可用RAM的情况下在大型数据集上安全工作。
](https://mseep.ai/app/chrisgve-localdata-mcp)
快速开始
# Install permanently
uv tool install localdata-mcp
# Or run directly without installing
uvx localdata-mcp首次运行注意事项: 数据科学依赖项(scipy、scikit-learn、statsmodels、geopandas)总计约200 MB,首次使用时即可下载。随后开始重用缓存。如果您的MCP客户端在第一次启动时超时,请重新连接——下一次启动将立即进行。
添加到MCP客户端配置中:
{
"mcpServers": {
"localdata": {
"command": "localdata-mcp"
}
}
}对于 uvx (无永久安装):
{
"mcpServers": {
"localdata": {
"command": "uvx",
"args": ["localdata-mcp"]
}
}
}然后连接到任何支持的源并开始查询:
connect_database("sales", "postgresql", "postgresql://user:pass@localhost/db")
execute_query("sales", "SELECT product, SUM(amount) FROM orders GROUP BY product")
connect_database("data", "csv", "./records.csv")
analyze_hypothesis_test("data", "SELECT amount, region FROM data", column="amount", group_column="region")功能概述
核心数据库(8个工具)
连接、查询和检查数据库和文件。所有查询都在可配置的内存限制(默认为2 GB)内执行,并对大型结果集进行自动分块流式处理。
| 工具 | 说明 |
|---|---|
connect_database | 打开与任何受支持的数据库或文件的连接 |
disconnect_database | 关闭连接 |
list_databases | 列出活动连接 |
execute_query | 使用流式、分块和飞行前模式运行SQL |
describe_database | 显示架构和表列表 |
describe_table | 列类型、索引、行数 |
find_table | 在所有活动连接中查找表 |
analyze_query_preview | 执行前估算查询成本 |
流媒体和内存(9个工具)
| 工具 | 说明 |
|---|---|
next_chunk | 检索流式结果的下一块 |
request_data_chunk | 按行范围获取特定块 |
request_multiple_chunks | 在一次调用中批量获取多个块 |
manage_memory_bounds | 查看和配置内存限制 |
get_streaming_status | 检查活动流和缓冲区使用情况 |
clear_streaming_buffer | 从特定缓冲区释放内存 |
get_query_metadata | 已完成查询的丰富元数据 |
cancel_query_operation | 取消正在运行或缓冲的查询 |
get_data_quality_report | 列统计、空率和质量指标 |
树/结构化数据(10个工具)
将TOML、JSON和YAML文件作为可导航树进行导航和编辑。支持完整的CRUD操作,自动创建祖先节点,并往返导出到任何支持的格式。
| 工具 | 说明 |
|---|---|
get_node / get_children | 浏览树 |
set_node / delete_node | 创建或删除节点 |
get_value / set_value / delete_key | 读写属性 |
list_keys | 列出节点上的键值对 |
move_node | 在树中重新定位节点 |
export_structured | 导出为TOML、JSON或YAML |
图表(14个工具)
使用DOT、GML、GraphML和Mermaid文件作为定向多重图。支持节点和边上的完整CRUD、最短路径和所有路径查询、结构统计和多格式导出。
| 工具 | 说明 |
|---|---|
get_node_graph / get_neighbors / get_edges | 浏览图表 |
set_node_graph / delete_node_graph | 创建或删除节点 |
add_edge / remove_edge | 管理边缘 |
get_value_graph / set_value_graph / delete_key_graph / list_keys_graph | 节点属性 |
find_path | 两个节点之间的最短路径或所有路径 |
get_graph_stats | 节点/边计数、密度、DAG验证 |
export_graph | 导出为DOT、GML、GraphML或Mermaid |
搜索和转换(2个工具)
| 工具 | 说明 |
|---|---|
search_data | 在查询结果中搜索正则表达式 |
transform_data | 将列转换应用于结果集 |
模式和审计(3个工具)
| 工具 | 说明 |
|---|---|
export_schema | 将完整模式导出为JSON |
get_query_log | 最近的查询执行历史 |
get_error_log | 最近的错误日志 |
系统(2个工具)
| 工具 | 说明 |
|---|---|
check_compatibility | 验证API向后兼容性 |
get_metrics | 服务器性能和资源指标 |
数据科学(12种工具)
直接对来自任何连接源的查询结果运行统计分析、建模和模式检测。
| 工具 | 域 |
|---|---|
analyze_hypothesis_test | 统计分析 |
analyze_anova | 统计分析 |
analyze_effect_sizes | 统计分析 |
analyze_regression | 回归与建模 |
evaluate_model_performance | 回归与建模 |
analyze_clusters | 模式识别 |
detect_anomalies | 模式识别 |
reduce_dimensions | 模式识别 |
analyze_time_series | 时间序列 |
forecast_time_series | 时间序列 |
analyze_rfm | 商业智能 |
analyze_ab_test | 商业智能 |
支持的数据源
数据库
| 类型 | 发动机 |
|---|---|
| SQL | SQLite、PostgreSQL、MySQL、DuckDB |
| SQL(企业) | Oracle、MS SQL Server(pip install localdata-mcp[enterprise]) |
| 文档 | MongoDB、CouchDB(pip install localdata-mcp[modern-databases]) |
| 键值 | Redis(pip install localdata-mcp[modern-databases]) |
| 搜索 | Elasticsearch(pip install localdata-mcp[modern-databases]) |
| 时间序列 | InfluxDB(pip install localdata-mcp[modern-databases]) |
| 图表 | Neo4j(pip install localdata-mcp[modern-databases]) |
| RDF/SPARQL | Turtle(.ttl)、N-Triples(.nt)、远程SPARQL端点 |
文件格式
| 类别 | 格式 |
|---|---|
| 表格 | CSV、TSV |
| 结构化 | JSON、JSONL、YAML、TOML、XML、INI |
| 电子表格 | Excel(.xlsx、.xls)、LibreOffice Calc(.ods)、苹果数字(.Numbers) |
| 分析 | 拼花地板、羽毛、箭、HDF5 |
| 图 | DOT(Graphviz)、GML、GraphML、美人鱼 |
| RDF | 海龟(.ttl),N-三元组(.nt) |
完全支持多表电子表格:每个表格都成为一个单独的可查询表。通过以下方式连接到特定工作表 ?sheet=SheetName 在路上。
数据科学领域
统计分析 --t检验、卡方检验、Mann-Whitney检验、Kruskal-Wallis检验和相关假设检验;单因素方差分析与事后检验;Cohen的d、η平方和其他效应大小度量。
回归与建模 --线性、多项式、logistic、岭、lasso和弹性网络回归;使用R²、RMSE、MAE和分类度量进行模型评估;自动特征选择。
模式识别 --K-means、DBSCAN和层次聚类;通过隔离林、LOF和单类SVM进行异常检测;使用PCA、t-SNE和UMAP进行降维。
时间序列 --分解、平稳性检验、自相关分析;ARIMA、SARIMA和ETS预测;变化点检测;VAR、Granger因果关系和协整检验的多元分析。
商业智能 --A/B测试统计分析;RFM客户细分;队列分析、CLV建模和漏斗分析。
地理空间 --距离和坐标计算、空间连接、插值和网络分析。
优化 --线性规划、约束优化、分配问题和网络优化。
抽样和估计 --引导置信区间、贝叶斯估计、蒙特卡洛模拟和分层抽样。
建筑
- 意图驱动界面 --工具接受语义参数(“找到强相关性”),而不需要统计过程名称或阈值
- 渐进式披露 --简单的调用返回具有合理默认值的高级见解;需要时可以使用高级参数
- 流式传输首次执行 --所有操作都是为分块处理而设计的;工具根据数据大小自动切换策略,将内存使用保持在配置的范围内
- 组成元数据 --每个工具结果都包括下游工具可以直接使用的元数据,从而实现了链式分析,而无需手动连接
配置
LocalData MCP使用环境变量进行可选设置。默认值适用于大多数情况。
| 变量 | 默认值 | 描述 |
|---|---|---|
LOCALDATA_MEMORY_LIMIT_MB | 2048 | 每个查询结果的最大内存(MB) |
LOCALDATA_MAX_CONNECTIONS | 10 | 最大并发数据库连接数 |
LOCALDATA_CHUNK_SIZE | 500 | 每个流块的默认行数 |
LOCALDATA_BUFFER_TTL | 600 | 流媒体缓冲区过期时间(秒) |
LOCALDATA_WORKING_DIR | process cwd | 文件访问的根目录(文件路径仅限于此树) |
在MCP服务器配置中设置 "env",或在a .env 工作目录中的文件。
文档
- 数据库连接指南 --连接字符串、驱动程序设置和安全实践
- --容器部署和配置
- 高级示例 --生产就绪使用模式
- 故障排除指南 --常见问题及解决方法
- 常见问题解答 --常见问题
- API 参考 --完整的工具和参数参考
发展
git clone https://github.com/ChrisGVE/localdata-mcp.git
cd localdata-mcp
uv sync --all-extras
uv run pytest该测试套件包括1600多个单元测试、234多个集成测试和62个企业级测试,涉及7种数据库类型,每种类型有10万行。
贡献
欢迎捐款。请阅读 贡献.md 在提交pull请求之前。
许可证
麻省理工学院——见 许可证 了解详情。
