Token导航 LogoToken导航TokenDH.com
MCP Data Analyst logo
数据服务stdio官方级别未说明来源级核验

MCP Data Analyst

MCP Server

一个将LLM转化为数据分析师的MCP服务器,支持数据库连接、自然语言查询SQL和可视化数据。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
数据分析数据可视化PythonClaudeSQL查询Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

anestisal10

提供方

anestisal10

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

📊 数据分析MCP服务器

MCP(模型上下文协议) 将LLM转换为数据分析师的服务器。将其连接到数据库或数据文件并获得:

  • 架构上下文 --LLM会自动看到您的表和列
  • 安全SQL查询 --用自然语言提问,获取SQL结果
  • 数据可视化 --生成图表和汇总统计数据

🏗️ 建筑

graph LR
    Client["MCP Client
(Claude / Gemini)"]
    Server["MCP Server
(FastMCP)"]
    Tools["Tools"]
    Resources["Resources"]
    DB["SQLite / CSV / Excel"]

    Client |"MCP Protocol
(stdio)"| Server
    Server --> Tools
    Server --> Resources

    subgraph Tools
        direction TB
        T1["get_schema"]
        T2["run_read_only_query"]
        T3["visualize_data"]
    end

    subgraph Resources
        R1["data://schema"]
    end

    Tools --> DB
    Resources --> DB

✨ 特性

特性描述
🗄️ 多源SQLite数据库、CSV文件、Excel文件
🔒 只读安全只读 SELECT 允许查询--不允许意外修改数据
📋 架构作为资源LLM会自动看到表结构
📊 可视化条形图、折线图、散点图、饼图和直方图
📈 统计每次可视化时自动汇总统计
📝 结构化日志每个操作的JSON格式日志
🐳 Docker一个命令设置 docker-compose
✅ CI/CDGitHub操作(lint+test+Docker构建)

📁 项目结构

MCP_Data_Analyst/
├── src/
│   ├── server.py            # MCP server entry point
│   ├── db.py                # Database engine (SQLite/CSV/Excel)
│   ├── resources.py         # MCP resources (schema context)
│   ├── logging_config.py    # Structured JSON logging setup
│   └── tools/
│       ├── query.py         # Read-only SQL query tool
│       └── visualize.py     # Chart generation tool
├── tests/
│   ├── conftest.py          # Shared fixtures (in-memory DB)
│   ├── test_db.py           # Schema, validation, execution tests
│   ├── test_tools.py        # Query + visualization tool tests
│   └── test_resources.py    # Resource formatting tests
├── data/                    # Data files directory
├── .github/workflows/
│   └── ci.yml               # GitHub Actions CI pipeline
├── Dockerfile               # Multi-stage Docker build
├── docker-compose.yml       # One-command Docker setup
├── create_sample_db.py      # Generates demo database
├── requirements.txt
└── pyproject.toml

🚀 快速开始

选项1:Docker(推荐)

docker-compose up --build

集装箱附带了一个预先构建的样本数据库。要使用您自己的数据,请将其放置在 data/ 目录和集合 DATA_SOURCEdocker-compose.yml.

选项2:本地

# Install dependencies
pip install -r requirements.txt

# Create sample database (optional)
python create_sample_db.py

# Run the server
python -m src.server

⚙️ 配置

设置 DATA_SOURCE 指向数据文件的环境变量:

文件类型扩展名注释
SQLite.db, .sqlite, .sqlite3直接连接
CSV.csv加载到内存SQLite中
Excel.xlsx, .xls每张纸都变成了一张桌子

如果 DATA_SOURCE 未设置,服务器使用 data/sample.db.

🔌 MCP客户端设置

克劳德桌面

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "data-analyst": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/MCP_Data_Analyst",
      "env": {
        "DATA_SOURCE": "data/sample.db"
      }
    }
  }
}

Gemini CLI

添加到您的 settings.json:

{
  "mcpServers": {
    "data-analyst": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/MCP_Data_Analyst"
    }
  }
}

🛠️ 可用工具

get_schema

获取数据库模式——列出所有表及其列和类型。首先调用此命令以了解可用的数据。

示例提示: *“数据库中有哪些表可用?”*

run_read_only_query

执行安全的SQL查询。结果以markdown表的形式返回(最多100行)。

示例提示: *“给我看看收入最高的5名员工”*

visualize_data

根据SQL查询结果生成图表。

参数:

  • sql --SQL SELECT查询
  • chart_typebar, line, scatter, pie, hist
  • x_column / y_column --轴列(如果省略,则自动检测)
  • title --图表标题

示例提示: *“按地区创建总销售额条形图”*

📚 资源

data://schema

自动为LLM提供数据库模式(表、列、类型),以便它可以编写准确的查询而无需猜测。

📝 结构化日志记录

所有操作都会向stderr发送结构化JSON日志:

{"timestamp": "2026-02-21 12:00:00", "level": "INFO", "module": "src.db", "message": "db_initialized", "source": "data/sample.db", "type": ".db"}
{"timestamp": "2026-02-21 12:00:01", "level": "INFO", "module": "src.db", "message": "query_executed", "rows": 10, "elapsed_ms": 0.42}
{"timestamp": "2026-02-21 12:00:02", "level": "INFO", "module": "src.tools.visualize", "message": "chart_generated", "chart_type": "bar", "data_points": 4, "image_bytes": 12480}

日志事件包括:

  • db_initialized --数据源路径和类型
  • query_executed --行数和执行时间(ms)
  • chart_generated --图表类型、数据点、图像大小
  • query_rejected / query_error --查询被阻止或失败

🧪 测试

# Run full test suite (39 tests)
pytest tests/ -v --tb=short

🔄 CI/CD

GitHub操作管道(.github/workflows/ci.yml)每次推送/PR都会运行:

  1. 棉绒flake8 + black --check
  2. 测试pytest tests/ -v
  3. Docker构建 --使用Buildx构建映像(无推送)

目录标签

目录标签

数据分析数据可视化PythonClaudeSQL查询本地部署LLM集成数据库管理

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP