
MCP CSV Analysis With Gemini AI
falahgs
README
使用 Gemini AI 进行 MCP CSV 分析
一个强大的模型上下文协议 (MCP) 服务器,它使用 Google 的 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
- Claude Desktop
- Google Gemini API 密钥
- Plotly 帐户 (用于可视化)
安装
- 克隆和设置:
git clone [你的仓库 URL]
cd mcp-csv-analysis-gemini
npm install
- 创建
.env
文件:
GEMINI_API_KEY=你的_api_密钥_在这里
- 构建项目:
npm run build
Claude Desktop 配置
- 创建/编辑
%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": "你的_api_密钥_在这里",
"PLOTLY_USERNAME": "你的_plotly_用户名",
"PLOTLY_API_KEY": "你的_plotly_api_密钥"
}
}
}
}
- 重启 Claude Desktop
📊 使用工具
CSV 分析
{
"name": "analyze-csv",
"arguments": {
"csvPath": "./data/你的_文件.csv",
"analysisType": "detailed",
"outputDir": "./custom_output"
}
}
数据可视化
{
"name": "visualize-data",
"arguments": {
"csvPath": "./data/你的_文件.csv",
"visualizationType": "basic",
"columns": ["column1", "column2"],
"chartTypes": ["histogram", "scatter"],
"outputDir": "./custom_output"
}
}
思维生成
{
"name": "generate-thinking",
"arguments": {
"prompt": "你复杂的分析提示在这里",
"outputDir": "./custom_output"
}
}
📁 输出结构
output/
├── analysis/
│ ├── csv_analysis_[时间戳]_part1.txt
│ ├── csv_analysis_[时间戳]_part2.txt
│ └── csv_analysis_[时间戳]_summary.txt
├── visualizations/
│ ├── histogram_[列]_[时间戳].png
│ ├── scatter_[列]_[时间戳].png
│ └── correlation_heatmap_[时间戳].png
└── thinking/
└── gemini_thinking_[时间戳].txt
📊 可视化类型
基本可视化
- 根据数据类型自动生成
- 包括:
- 数字列的直方图
- 相关性热图
- 基本散点图
高级可视化
- 更复杂的图表
- 多个变量
- 增强的布局
- 自定义配色方案
自定义可视化
- 用户定义的图表类型
- 可配置的参数
- 自定义样式选项
- 高级绘图布局
🛠️ 开发
可用脚本
npm run build
: 将 TypeScript 编译为 JavaScriptnpm run start
: 启动 MCP 服务器npm run dev
: 在开发模式下使用 ts-node 运行
环境变量
GEMINI_API_KEY
: 你的 Google Gemini API 密钥PLOTLY_USERNAME
: 你的 Plotly 用户名PLOTLY_API_KEY
: 你的 Plotly API 密钥
📝 分析细节
基本分析包括
- 每列的基本统计摘要
- 数据质量评估
- 关键见解和模式
- 潜在的相关性
- 进一步分析的建议
详细分析包括
- 综合统计分析
- 分布分析
- 集中趋势测量
- 离散程度测量
- 异常值检测
- 高级数据质量评估
- 模式识别
- 相关性分析
- 特征重要性分析
- 预处理建议
- 可视化建议
- 商业见解
⚠️ 限制
- 最大文件大小: 取决于系统内存
- 速率限制: 基于 Gemini API 和 Plotly 配额
- 输出令牌限制: 每个响应 65,536 个令牌
- CSV 格式: 仅限标准 CSV 文件
- 分析时间: 随数据大小和复杂性而变化
- 可视化限制: 基于 Plotly 免费层限制
🔒 安全注意事项
- 安全地存储你的 API 密钥
- 不要分享你的
.env
文件 - 审查 CSV 数据以获取敏感信息
- 使用自定义输出目录进行敏感分析
- 保护你的 Plotly 凭据
🐛 故障排除
常见问题
-
API 密钥错误
- 验证
.env
文件是否存在 - 检查 API 密钥的有效性
- 确保正确加载环境
- 验证
-
CSV 解析错误
- 验证 CSV 文件格式
- 检查文件权限
- 确保文件不为空
-
Claude Desktop 连接
- 验证 config.json 语法
- 检查 config 中的文件路径
- 重启 Claude Desktop
调试模式
将 DEBUG=true
添加到你的 .env
文件以进行详细日志记录:
GEMINI_API_KEY=你的_密钥_在这里
DEBUG=true
📚 API 参考
CSV 分析工具
interface AnalyzeCSVParams {
csvPath: string; // CSV 文件的路径
outputDir?: string; // 可选的输出目录
analysisType?: 'basic' | 'detailed'; // 分析类型
}
数据可视化工具
interface VisualizeDataParams {
csvPath: string; // CSV 文件的路径
outputDir?: string; // 可选的输出目录
visualizationType?: 'basic' | 'advanced' | 'custom'; // 可视化类型
columns?: string[]; // 要可视化的列
chartTypes?: ('scatter' | 'line' | 'bar' | 'histogram' | 'box' | 'heatmap')[]; // 图表类型
customConfig?: Record<string, any>; // 自定义配置
}
思维生成工具
interface GenerateThinkingParams {
prompt: string; // 分析提示
outputDir?: string; // 可选的输出目录
}
🤝 贡献
- Fork 仓库
- 创建你的功能分支
- 提交你的更改
- 推送到分支
- 创建一个 Pull Request
📄 许可证
MIT 许可证 - 有关详细信息,请参见 LICENSE 文件
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

Cryo MCP Server
一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。