项目简介
Quick-Data MCP 服务器是一个专门为支持大型语言模型(LLM)进行数据分析而设计的后端应用。它遵循 Model Context Protocol (MCP),通过提供结构化的工具、资源和 Prompt 模板,让 LLM 客户端能够以标准化的方式与您的数据进行交互和分析。
该服务器的核心能力在于加载和管理 CSV 和 JSON 格式的数据集,并提供丰富的分析功能,包括数据质量检查、相关性分析、数据分段、可视化图表生成、以及执行定制化的 Python 代码进行高级分析。
主要功能点
- 数据加载与管理: 支持加载 '.csv' 和 '.json' 文件到内存中,可进行采样;列出、获取信息或清除已加载的数据集。
- 数据分析: 提供多种分析工具,如数据质量验证、数据集比较、按列分段、查找相关性、分析列分布、检测异常值、时间序列分析等。
- 数据可视化: 能够基于加载的数据集创建多种图表(柱状图、直方图、散点图、折线图、箱线图等),并支持生成包含多个图表的仪表盘。
- 高级功能: 允许 LLM 执行针对特定数据集的定制 Python 分析代码,计算特征重要性,提供内存优化报告,以及导出分析结果。
- Prompt 模板: 提供引导性的 Prompt,如数据集初探、数据质量评估、相关性调查、模式发现、洞察生成和仪表盘设计等,帮助 LLM 规划分析流程。
- 数据资源: 提供数据集的实时元数据和状态信息,如已加载数据集列表、数据集 Schema、统计摘要、样本数据、当前活跃数据集、可用分析类型、内存使用情况等。
安装步骤
-
克隆仓库: 如果您尚未克隆仓库,请先克隆。
git clone https://github.com/disler/quick-data-mcp.git cd quick-data-mcp/ -
安装依赖: 该项目使用 'uv' 进行依赖管理和运行。如果您没有安装 'uv',请先安装:'pip install uv'。 然后在项目根目录下安装项目依赖:
uv sync -
配置 MCP 客户端: MCP 服务器通常由 MCP 客户端启动和管理。客户端需要知道如何运行您的服务器脚本。
- 复制示例配置文件:
cp .mcp.json.sample .mcp.json - 编辑 '.mcp.json' 文件。找到 '"command"' 和 '"args"' 部分,并根据您的环境更新路径。'command' 通常是启动 Python 解释器的命令(如 'python' 或您环境中实际的 Python 解释器路径),'args' 则是传递给该命令的参数列表,在这里是 '["main.py"]',用于运行服务器的入口脚本。
{ "name": "Modular MCP Server", "command": "python", // 或您的 Python 解释器路径,例如 "/usr/local/bin/python" "args": ["main.py"], // 启动服务器主脚本 "transport": "stdio", // 默认通过标准输入/输出通信 "metadata": { "description": "A data analysis server providing tools, resources, and prompts via MCP." } // 其他可能的客户端配置... }这个配置文件会被您的 MCP 客户端读取,客户端会根据其中的 'command' 和 'args' 来启动 Quick-Data MCP 服务器进程,并通过 'stdio' 协议进行通信。
- 复制示例配置文件:
服务器配置
MCP 服务器本身在启动时会读取 'src/mcp_server/config/settings.py' 中的配置,例如服务器名称 ('server_name') 和版本 ('version')。这些信息会在服务器的能力声明中体现。用户无需手动修改这些文件,通常通过 '.mcp.json' 配置的是客户端如何找到并启动服务器。
基本使用方法
一旦 Quick-Data MCP 服务器通过您的 MCP 客户端成功启动并连接,您就可以通过与 LLM 交互来使用服务器提供的功能。LLM 客户端会向服务器发送 MCP 请求(JSON-RPC 格式),服务器处理请求并返回响应。
例如,在支持 MCP 的 LLM 客户端中,您可以尝试以下操作:
- 发现数据源: 询问 LLM “请帮我查找当前目录下的数据文件”,LLM 客户端可能会调用服务器的 'find_datasources' Prompt。
- 加载数据: 根据 'find_datasources' 的结果,您可以指示 LLM “请加载文件 'sample_data.csv' 并命名为 'my_data'”,LLM 客户端会调用 'load_dataset' Tool。
- 初探数据: 指示 LLM “请对数据集 'my_data' 进行初步分析”,LLM 客户端可能会调用 'dataset_first_look' Prompt。
- 执行分析: 指示 LLM “请对数据集 'my_data' 执行数据质量检查”,LLM 客户端会调用 'validate_data_quality' Tool。
- 可视化数据: 指示 LLM “为数据集 'my_data' 创建一个关于 'value' 列的柱状图”,LLM 客户端会调用 'create_chart' Tool。
- 定制分析: 要求 LLM “使用 Python 代码计算数据集 'my_data' 中 'value' 列的平均值”,LLM 客户端可能会调用 'execute_custom_analytics_code' Tool。
客户端和服务器之间的通信是自动的,您只需通过自然语言或客户端界面与 LLM 交流您的数据分析需求即可。
信息
分类
AI与计算