Gemini数据分析服务器
一种利用谷歌Gemini Flash 2的模型上下文协议服务器,用于分析数据集、生成研究论文并通过电子邮件交付结果。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"Gemini Data Analysis": {
"args": [
"path/to/gemini-data-analysis-email-generator/dist/index.js"
],
"command": "node",
"cwd": "path/to/gemini-data-analysis-email-generator",
"env": {
"GEMINI_API_KEY": "your_api_key_here",
"NODEMAILER_EMAIL": "your.email@gmail.com",
"NODEMAILER_PASSWORD": "your_app_password_here"
}
}
}
}
服务介绍
Gemini 数据分析与研究 MCP 服务器
一个强大的模型上下文协议 (MCP) 服务器,利用 Google 的 Gemini Flash 2 AI 模型进行全面的数据分析、研究论文生成和自动电子邮件发送。该服务器提供了一体化的解决方案,用于分析数据集、生成研究内容,并通过电子邮件直接将结果分发给相关方。
🚀 特性
1. 高级数据分析与报告 (analyze-data)
- 全面分析 Excel (.xlsx, .xls) 和 CSV 文件
- 功能:
- 自动检测和解析数据类型
- 数值列的统计分析
- 使用 Chart.js 进行交互式可视化
- 利用 Gemini Flash 2 提供的 AI 见解
- 带有交互图表的详细 HTML 报告
- 直接通过电子邮件发送分析结果
- 基本和详细分析模式
- 可自定义输出目录
- 支持大型数据集
- 自动异常值检测
- 数值列的相关性分析
2. 研究与电子邮件发送系统 (send-email)
- 专业研究论文生成与分发
- 功能:
- 利用 AI 生成研究论文
- 自动通过电子邮件发送分析结果
- 支持多种内容类型:
- 研究论文
- 技术报告
- 数据分析摘要
- 商业智能报告
- 专业的电子邮件主题行生成
- 支持 HTML 和纯文本内容
- 内联显示能力的图片附件
- 安全的 SMTP 身份验证
- 全面的错误处理和状态报告
- 专业的电子邮件格式
- 消息发送跟踪
- 可自定义的电子邮件模板
3. 研究与分析生成器 (generate-thinking)
- 高级研究与分析生成
- 功能:
- 研究论文生成
- 技术文档编写
- 数据分析摘要
- 商业智能报告
- 带时间戳的响应保存
- 可自定义输出目录
- 生成内容的直接电子邮件发送
- 专业的内容创建
📊 快速开始
前提条件
- Node.js(v16 或更高版本)
- TypeScript
- Claude Desktop
- Google Gemini API 密钥
- SMTP 电子邮件帐户(用于电子邮件功能)
安装
- 克隆并设置:
git clone [your-repo-url]
cd gemini-data-analysis-email-generator
npm install
- 创建
.env文件:
GEMINI_API_KEY=your_api_key_here
NODEMAILER_EMAIL=your.email@gmail.com
NODEMAILER_PASSWORD=your_app_password_here
- 构建项目:
npm run build
Claude Desktop 配置
- 创建/编辑
%AppData%/Claude/claude_desktop_config.json:
{
"mcpServers": {
"Gemini Data Analysis": {
"command": "node",
"args": ["path/to/gemini-data-analysis-email-generator/dist/index.js"],
"cwd": "path/to/gemini-data-analysis-email-generator",
"env": {
"GEMINI_API_KEY": "your_api_key_here",
"NODEMAILER_EMAIL": "your.email@gmail.com",
"NODEMAILER_PASSWORD": "your_app_password_here"
}
}
}
}
- 重启 Claude Desktop
📊 使用工具
EDA 和 AI 数据分析
{
"name": "analyze-data",
"arguments": {
"fileData": "base64_encoded_file_content",
"fileName": "data.xlsx",
"analysisType": "detailed",
"outputDir": "./analysis_results"
}
}
带有 AI 主题生成的电子邮件发送
{
"name": "send-email",
"arguments": {
"to": "recipient@example.com",
"subjectPrompt": "Create a professional subject line for a business report",
"text": "Hello! This is the plain text version of our email.",
"html": "<h1>Hello!</h1><p>This is the <b>HTML</b> version of our email.</p>",
"images": [
{
"name": "chart.png",
"data": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
]
}
}
思维生成
{
"name": "generate-thinking",
"arguments": {
"prompt": "Analyze the market trends for Q1 2024",
"outputDir": "./thinking_output"
}
}
📁 输出结构
output/
├── analysis/
│ ├── plots/
│ │ ├── column1_histogram_[timestamp].html
│ │ └── column2_histogram_[timestamp].html
│ ├── analysis_[timestamp].txt
│ └── report_[timestamp].html
├── thinking/
│ └── gemini_thinking_[timestamp].txt
└── emails/
└── email_log_[timestamp].txt
🛠️ 开发
可用脚本
npm run build: 将 TypeScript 编译为 JavaScriptnpm run start: 启动 MCP 服务器npm run dev: 使用 ts-node 以开发模式运行
环境变量
GEMINI_API_KEY: 您的 Google Gemini API 密钥NODEMAILER_EMAIL: 用于发送邮件的电子邮件地址NODEMAILER_PASSWORD: 您的电子邮件应用程序密码(对于 Gmail,请使用应用程序密码)
🔒 安全注意事项
- 安全存储您的 API 密钥
- 不要共享您的
.env文件 - 对于 Gmail,使用应用程序密码而不是您的主账户密码
- 注意通过系统发送的邮件内容
- 永远不要在邮件示例中包含敏感或个人信息
🐛 故障排除
常见问题
-
API 密钥错误
- 确认
.env文件存在 - 检查 API 密钥的有效性
- 确保正确加载环境
- 确认
-
Claude Desktop 连接问题
- 验证
config.json语法 - 检查配置文件中的文件路径
- 重启 Claude Desktop
- 验证
-
邮件发送问题
- 检查
NODEMAILER_EMAIL和NODEMAILER_PASSWORD是否设置正确 - 对于 Gmail,确保您已创建了应用程序密码
- 对于非 Gmail 提供商,验证是否启用了较低安全性的应用访问
- 检查收件人电子邮件地址格式
- 检查
-
数据分析问题
- 确保文件格式受支持(.xlsx, .xls, .csv)
- 检查文件编码(建议使用 UTF-8)
- 验证文件大小在限制范围内
- 确保数值列格式正确
调试模式
将 DEBUG=true 添加到您的 .env 文件以启用详细日志记录:
GEMINI_API_KEY=your_key_here
DEBUG=true
📚 API 参考
数据分析工具
interface AnalyzeDataParams {
fileData: string; // Base64 encoded file content
fileName: string; // File name (must be .xlsx, .xls, or .csv)
analysisType: 'basic' | 'detailed'; // Analysis type
outputDir?: string; // Optional output directory
}
邮件发送工具
interface SendEmailParams {
to: string; // Recipient email address
subjectPrompt: string; // Prompt for Gemini to generate email subject
text: string; // Plain text version of email
html?: string; // HTML version of email (optional)
images?: { // Optional images to attach
name: string; // Image filename
data: string; // Base64 encoded image data
}[];
}
思维生成工具
interface GenerateThinkingParams {
prompt: string; // Analysis prompt
outputDir?: string; // Optional output directory
}
👨💻 作者
Falah G. Salieh
📍 巴格达,伊拉克
📅 2025
🤝 贡献
- 分叉仓库
- 创建您的功能分支
- 提交您的更改
- 推送到分支
- 创建 Pull Request
📄 许可证
MIT 许可证 - 详情请参阅 LICENSE 文件