CSV分析工具

一个本地化的CSV文件分析工具,专注于聊天机器人对话日志的分析,提供文件操作、数据过滤、统计分析和报告生成等功能。

  • by viajeraune
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 viajeraune/csv-mcp-server

使用说明

CSV 分析器 MCP 服务器(本地)

A. 当地的 模型上下文协议(MCP)服务器,用于直接从您的文件系统中分析CSV文件。该服务器专为聊天机器人对话日志分析而设计,例如分析客服日志、聊天机器人交互以及以CSV格式存储的任何对话数据。

特点/特性

  • 📁 代表文件夹的图标,可翻译为“文件夹”或“文件夹图标”。 列出CSV文件 在目录中
  • 📖 书籍 阅读并分析 对话记录
  • ✍️ 创作并撰写 分析报告
  • 加号 附加数据 用于自定义日志添加
  • 🔍 看起来像是一个放大镜的符号,常用于表示搜索、查看细节或寻找信息的动作。在中文里,可以简单地翻译为“🔍(放大镜)”或者根据上下文翻译为“🔍(查看/搜索/寻找)”。如果直接描述这个符号本身,可以说“这是个放大镜符号”。 过滤和查询 特定日志
  • 🔗(此符号在中文中无直接对应含义,通常表示链接或连接) 合并多个 来自不同时间段的日志文件
  • 📊(表格图标,无具体文字含义,可理解为“图表”或“数据表”) 统计分析 对话指标
  • 💬 对话见解 按自定义主题(例如产品领域)、用户意图、情感(来分类)
  • 机器人 AI引导的提示 用于分析工作流程

为何本地化?

这台服务器使用 本地文件访问 (非远程HTTP),即:

  • ✅ 直接文件系统访问 - 只需提供文件路径
  • ✅ 高效处理大型CSV文件
  • ✅ 无需文件上传/下载
  • ✅ 更好的安全性 - 文件留在您的机器上
  • ✅ 更简单的设置 - 无需端口或网络配置
  • ✅ 非常适合个人CSV数据分析

安装

先决条件

  • Python 3.8 或更高版本
  • Claude 桌面应用程序

步骤1:克隆或下载

# Clone repository
git clone https://github.com/YOUR_USERNAME/csv-mcp-server.git
cd csv-mcp-server

# Or download and extract the ZIP file

步骤2:创建虚拟环境

# Create virtual environment
python -m venv venv

# Activate it
# On macOS/Linux:
source venv/bin/activate

# On Windows:
venv\Scripts\activate

步骤3:安装依赖项

pip install -r requirements.txt

步骤4:使用MCP Inspector测试服务器

npx @modelcontextprotocol/inspector python server.py

配置

添加到Claude桌面版

  1. 找到你的配置文件位置:

    • macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. 编辑配置文件 (如果不存在则创建):

{
  "mcpServers": {
    "csv-analyzer": {
      "command": "python",
      "args": ["/absolute/path/to/csv-mcp-server/server.py"]
    }
  }
}

重要的替换 /absolute/path/to/csv-mcp-server/server.py 根据你实际的路径!

示例路径:

  • macOS: /Users/yourname/projects/csv-mcp-server/server.py
  • Windows: C:\\Users\\yourname\\projects\\csv-mcp-server\\server.py
  1. 重启Claude桌面版

  2. 验证其是否正常工作:

    • 在Claude Desktop中查找🔨(锤子)图标
    • 你应该能在可用工具列表中看到“csv-analyzer”

使用示例

一旦配置完成,您就可以在Claude或Cursor中自然地与CSV文件进行交互:

示例1:列出CSV文件

You: Show me all CSV files in my Downloads folder

Claude: [Uses list_csv_files tool]
I found 5 CSV files in your Downloads folder:
- chatbot_logs.csv (1,234 rows, 8 columns, 2.3 MB)
- customer_data.csv (5,678 rows, 12 columns, 4.1 MB)
...

示例2:分析CSV文件

You: Analyze ~/Documents/chatbot_logs.csv

Claude: [Uses analyze_csv tool]
I've analyzed your chatbot_logs data. Here are the key findings:

📊 Dataset Overview:
- 1,234 rows × 8 columns
- Date range: July 2025 - September 2025
- File size: 2.3 MB

🔍 Key Insights:
1. Overall Satisfaction Rate: 94% (thumbs up)
2. Dissatisfaction Rate: 6% (thumbs down)
3. Most Common Positive Feedback: Performance optimization guidance (6 instances)
4. Most Common Negative Feedback: Need for more examples/code implementations
...

示例3:过滤并保存

You: Filter chatbot_logs.csv where feedback = negative and save to logs_negative_feedback.csv

Claude: [Uses filter_csv tool]
Filtered data:
- Original rows: 1,234
- Filtered rows: 187 (15.2%)
- Saved to: ~/Documents/logs_negative_feedback.csv

示例4:合并文件

You: Merge customer_data.csv and chatbot_logs.csv on customer_id

Claude: [Uses merge_csvs tool]
Successfully merged files:
- customer_data.csv: 500 rows
- chatbot_logs.csv: 1,234 rows  
- Merged result: 1,234 rows
- Saved to: merged_output.csv

可用工具

文件操作

工具 描述
------ -------------
列出目录中的所有CSV文件 read_csv
从CSV文件中读取数据 write_csv
创建并写入一个新的CSV文件 append_csv
向现有CSV文件追加行 create_csv
创建带有标题的新CSV文件 get_csv_info

| 获取文件详细信息 |

分析工具 | 工具 | 描述 | |------|-------------| analyze_csv | | 综合统计分析 | categorize_by_product | 基于关键词的分类(例如:产品领域) filter_csv | | 根据条件过滤数据 | merge_csvs |

合并两个CSV文件

分析提示 | 提示 | 描述 | |--------|-------------| analyze_csv_data | | CSV分析的完整工作流程 | create_report_from_csv | | 生成专业数据报告 | compare_csvs | | 比较两个CSV文件 | clean_csv_data |

| 引导数据清洗过程 |

高级用法

自定义分析工作流

You: I want to analyze all CSV files in my Downloads folder, 
find the ones with sales data, filter for amounts over $1000, 
and create a summary report.

Claude: [Will use multiple tools in sequence:
1. list_csv_files to find all CSVs
2. read_csv to peek at each file
3. filter_csv on relevant files
4. analyze_csv for statistics
5. Create formatted report]

您可以通过串联多个工具来创建自定义的分析工作流:

处理大文件

  • 对于大型CSV文件(>100MB),服务器:
  • 使用pandas高效读取数据
  • 可以限制返回的行数
  • 分析时无需加载全部数据

提供流媒体统计数据

  • 提示: rows 使用
  • 限制数据读取的参数
  • 在分析前过滤掉大文件

将过滤后的结果保存到新文件中

数据清洗工作流程 clean_csv_data 使用

You: Help me clean my messy sales data at ~/messy_sales.csv

Claude: [Uses clean_csv_data prompt]
I'll analyze the data and guide you through cleaning it.

Step 1: Initial Assessment...
Found these issues:
- 23 duplicate rows (1.8%)
- Missing values in "amount" column (5%)
- Inconsistent date formats

Step 2: Recommended Fixes...
[Provides detailed recommendations]

[Once approved, creates cleaned version]

引导清洁提示:

安全与隐私

  • 数据隐私
  • ✅ 所有数据均保存在您的本地机器上
  • ✅ 未将数据发送到外部服务器
  • ✅ 文件仅可通过Claude桌面版访问

✅ 无需网络连接

文件权限

  • 服务器可以:
  • ✅ 读取你有权访问的CSV文件
  • ✅ 在可写目录中创建新文件
  • ❌ 无法访问系统文件

❌ 无法在没有明确命令的情况下进行修改

  1. 最佳实践 将敏感数据保留在本地
  2. - 这个工具的完美应用场景 使用单独的文件夹
  3. 用于分析输出 审查更改
  4. 在覆盖文件之前 备份重要数据

在清洁操作之前

发展

csv-mcp-server/
├── server.py              # Main server implementation
├── requirements.txt       # Python dependencies
├── README.md             # This file
├── .gitignore            # Git ignore rules
├── venv/                 # Virtual environment (not in git)
├── analysis/             # Sample analysis outputs
└── test_data/            # Sample files