使用Gemini AI进行MCP CSV分析
强大的模型上下文协议(MCP)服务器,使用谷歌的Gemini AI提供高级CSV分析和思维生成功能。该工具与Claude Desktop无缝集成,提供复杂的数据分析、可视化和自然语言处理功能。
🌟 特性
1.CSV分析工具(analyze-csv)
- 综合数据分析:对CSV文件执行详细的探索性数据分析(EDA)
- 两种分析模式:
- basic:快速概述和基本统计 - detailed:具有先进见解的深入分析
- 分析组件:
- 所有列的统计分析 - 数据质量评估 - 模式识别 - 相关分析 - 特征重要性评估 - 预处理建议 - 商业洞察 - 可视化建议
2.数据可视化工具(visualize-data)
- 交互式可视化:使用Plotly创建美观且信息丰富的图表
- 可视化类型:
- basic:基于数据类型的自动可视化选择 - advanced:复杂的多变量可视化 - custom:用户定义的图表配置
- 图表类型:
- 分布分析柱状图 - 相关热图 - 散点图 - 线型图 - 条形图 - 箱形图
- 特性:
- 自动数据类型检测 - 智能图表选择 - 交互式绘图 - 高分辨率导出 - 可定制的布局
3.思维生成工具(generate-thinking)
- 使用Gemini的实验模型生成详细的思维过程文本
- 支持复杂的推理和分析
- 保存带有时间戳的响应
- 可定制的输出目录
🚀 快速开始
先决条件
- Node.js(v16或更高版本)
- TypeScript
- 克劳德桌面
- Google Gemini API密钥
- 绘图账户(用于可视化)
安装
- 克隆和设置:
git clone [your-repo-url]
cd mcp-csv-analysis-gemini
npm install- 创建
.env文件:
GEMINI_API_KEY=your_api_key_here- 构建项目:
npm run buildClaude桌面配置
- 创建/编辑
%AppData%/Claude/claude_desktop_config.json:
{
"mcpServers": {
"CSV Analysis": {
"command": "node",
"args": ["path/to/mcp-csv-analysis-gemini/dist/index.js"],
"cwd": "path/to/mcp-csv-analysis-gemini",
"env": {
"GEMINI_API_KEY": "your_api_key_here",
"PLOTLY_USERNAME": "your_plotly_username",
"PLOTLY_API_KEY": "your_plotly_api_key"
}
}
}
}- 重新启动克劳德桌面
📊 使用工具
CSV分析
{
"name": "analyze-csv",
"arguments": {
"csvPath": "./data/your_file.csv",
"analysisType": "detailed",
"outputDir": "./custom_output"
}
}数据可视化
{
"name": "visualize-data",
"arguments": {
"csvPath": "./data/your_file.csv",
"visualizationType": "basic",
"columns": ["column1", "column2"],
"chartTypes": ["histogram", "scatter"],
"outputDir": "./custom_output"
}
}思维生成
{
"name": "generate-thinking",
"arguments": {
"prompt": "Your complex analysis prompt here",
"outputDir": "./custom_output"
}
}📁 输出结构
output/
├── analysis/
│ ├── csv_analysis_[timestamp]_part1.txt
│ ├── csv_analysis_[timestamp]_part2.txt
│ └── csv_analysis_[timestamp]_summary.txt
├── visualizations/
│ ├── histogram_[column]_[timestamp].png
│ ├── scatter_[columns]_[timestamp].png
│ └── correlation_heatmap_[timestamp].png
└── thinking/
└── gemini_thinking_[timestamp].txt📊 可视化类型
基本可视化
- 根据数据类型自动生成
- 包括:
- 数字列的直方图 - 相关热图 - 基本散点图
高级可视化
- 更复杂的图表
- 多变量
- 增强布局
- 自定义配色方案
自定义可视化
- 用户定义的图表类型
- 可配置参数
- 自定义样式选项
- 高级绘图布局
🛠️ 发展
可用脚本
npm run build:将TypeScript编译为JavaScriptnpm run start:启动MCP服务器npm run dev:使用ts节点在开发模式下运行
环境变量
GEMINI_API_KEY:您的Google Gemini API密钥PLOTLY_USERNAME:您的Plotly用户名PLOTLY_API_KEY:您的Plotly API密钥
📝 分析细节
基本分析包括
- 每列的基本统计摘要
- 数据质量评估
- 关键见解和模式
- 潜在相关性
- 供进一步分析的建议
详细分析包括
- 综合统计分析
- 分布分析 - 集中趋势测量 - 分散措施 - 异常值检测
- 高级数据质量评估
- 模式识别
- 相关分析
- 特征重要性分析
- 预处理建议
- 可视化建议
- 商业洞察
⚠️ 局限性
- 最大文件大小:取决于系统内存
- 费率限制:基于Gemini API和Plotly配额
- 输出令牌限制:每个响应65536个令牌
- CSV格式:仅限标准CSV文件
- 分析时间:随数据大小和复杂性而变化
- 可视化限制:基于Plotly自由层限制
🔒 安全说明
- 安全地存储API密钥
- 不要分享你的
.env文件 - 检查CSV数据中的敏感信息
- 使用自定义输出目录进行敏感分析
- 保护您的Plotly凭据
🐛 故障排除
常见问题
- API密钥错误
- 验证 .env 文件存在 - 检查API密钥的有效性 - 确保适当的环境负载
- CSV解析错误
- 验证CSV文件格式 - 检查文件权限 - 确保文件不为空
- Claude桌面连接
- 验证config.json语法 - 检查配置中的文件路径 - 重新启动克劳德桌面
调试模式
添加 DEBUG=true 到你的 .env 详细日志记录文件:
GEMINI_API_KEY=your_key_here
DEBUG=true📚 api参考
CSV分析工具
interface AnalyzeCSVParams {
csvPath: string; // Path to CSV file
outputDir?: string; // Optional output directory
analysisType?: 'basic' | 'detailed'; // Analysis type
}数据可视化工具
interface VisualizeDataParams {
csvPath: string; // Path to CSV file
outputDir?: string; // Optional output directory
visualizationType?: 'basic' | 'advanced' | 'custom'; // Visualization type
columns?: string[]; // Columns to visualize
chartTypes?: ('scatter' | 'line' | 'bar' | 'histogram' | 'box' | 'heatmap')[]; // Chart types
customConfig?: Record; // Custom configuration
}思维生成工具
interface GenerateThinkingParams {
prompt: string; // Analysis prompt
outputDir?: string; // Optional output directory
}🤝 贡献
- 分叉存储库
- 创建功能分支
- 提交您的更改
- 推到分支
- 创建拉取请求
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件
