# 邮件摘要生成器MCP服务器
#演示
一个强大的模型上下文协议(MCP)服务器,它利用Google Gemini将电子邮件数据转化为美观的、由AI生成的摘要卡片。
特点/功能
🤖 机器人 基于人工智能的摘要生成使用Google Gemini分析并总结电子邮件内容 📧(电子邮件符号,无具体文字含义) 漂亮的用户界面卡片生成具有专业样式的响应式HTML卡片 🎯(目标、瞄准) 智能分析提取要点、行动项、情感倾向和优先级 📊 表格/数据图表 全面见解提供阅读时间、分类和附件信息 🎨 表示“美术/艺术创作”的相关符号或表情。 响应式设计在桌面设备和移动设备上均能完美运行
快速入门
先决条件
安装
- 克隆项目并导航至项目目录:
cd mcp-ui-server- 安装依赖项:
bun install- 启动服务器:
bun run index.ts服务器将在 http://localhost:3000/mcp
使用
MCP 工具: summarize-email
分析电子邮件数据并生成精美的摘要卡片。
输入模式(或输入架构)
{
apiKey: string; // Your Google Gemini API key
email: {
subject: string; // Email subject line
sender: string; // Sender email address
recipient: string; // Recipient email address
timestamp: string; // Email timestamp (ISO format)
body: string; // Email content
attachments?: string[]; // Optional: attachment names
priority?: 'low' | 'normal' | 'high'; // Optional: priority level
category?: string; // Optional: email category
}
}示例用法
const emailData = {
subject: "Quarterly Marketing Review & Strategy Update",
sender: "sarah.johnson@company.com",
recipient: "team@company.com",
timestamp: "2024-10-05T14:30:00Z",
body: "Hi Team, I hope you're all doing well...",
attachments: ["Q3_Report.pdf", "Campaign_Brief.docx"],
priority: "high",
category: "work"
};
// Call the MCP tool
const result = await callMCPTool('summarize-email', {
apiKey: 'your-gemini-api-key',
email: emailData
});输出
该工具返回一个包含以下内容的精美HTML卡片:
- 电子邮件元数据主题、发件人、时间戳、优先级徽章
- AI摘要简洁概述(2-3句话)
- 要点要点式的主要主题(3-5项)
- 行动事项提取的任务和可交付成果
- 智能洞察:
- 情感分析(正面/中性/负面) - 类别检测(工作/个人/营销/等) - 阅读时间估算 - 附件数量
用户界面功能
- 优先徽章彩色编码的优先级指示器
- 情感图标视觉情感表示
- 类别标签分类并附上相关表情符号
- 响应式设计针对所有屏幕尺寸进行了优化
- 悬停效果交互式动画
- 专业造型简洁、现代的设计
建筑学
├── index.ts # Main MCP server
├── types/
│ └── email.ts # TypeScript interfaces
├── services/
│ └── emailSummarizer.ts # Gemini integration service
├── components/
│ └── emailCard.ts # HTML card generator
└── example-usage.js # Usage examplesAPI 参考文档
邮件摘要服务
与Google Gemini集成的核心服务:
class EmailSummarizerService {
constructor(apiKey: string)
async summarizeEmail(emailData: EmailData): Promise
}生成电子邮件卡片
从电子邮件摘要生成美观的HTML卡片:
function generateEmailCard(emailSummary: EmailSummary): string错误处理
该工具包含全面的错误处理功能:
- 无效的API密钥清晰的错误信息,附带故障排除提示
- Gemini API 错误优雅地回退并提供错误详情
- 格式错误的数据验证及有用的错误提示
- 网络问题超时和重试逻辑
发展
在开发过程中运行
bun run index.ts类型检查
该项目使用了启用严格类型检查的TypeScript。
测试
使用提供的 example-usage.js 用于测试功能的文件:
node example-usage.js配置
环境变量
虽然不是必须的,但您可以设置这些环境变量:
PORT=3000 # Server port (default: 3000)
GEMINI_API_KEY=your-key # Default API key (optional)定制化
造型
修改 components/emailCard.ts 自定义HTML/CSS样式。
AI提示词
更新提示中的内容 services/emailSummarizer.ts 调整人工智能行为。
模式/架构
扩展电子邮件架构(或模式) types/email.ts 用于额外字段。
安全
- API密钥从不记录或存储
- 输入验证可防止注入攻击
- 建议在生产环境中使用限速机制
- 已启用CORS以支持跨域请求
贡献;助力
- 为仓库创建分支(或:克隆仓库)
- 创建一个特性分支
- 进行你的更改
- 如适用,请添加测试
- 提交拉取请求
许可证
MIT 许可证 - 详见 LICENSE 文件。
支持
对于问题和疑问:
- 查看示例用法文件
- 检查HTML输出中的错误信息
- 确保您的Gemini API密钥有效且有配额
______________________________________________________________________
注这个工具需要一个有效的Google Gemini API密钥。API密钥仅用于当前请求,不会被存储或记录。
安装依赖项:
bun install运行:
bun run index.ts这个项目是使用(以下工具/技术)创建的 bun init 在 bun v1.2.10 中。 面包 是一个快速的全能型JavaScript运行时。
