简历电子邮件MCP服务器
提供CV/简历解析和电子邮件通知功能的模型上下文协议(MCP)服务器。该项目使人工智能助手能够阅读PDF简历,提取信息,并通过标准化的MCP界面发送电子邮件通知。
🚀 快速部署
准备生产! 选择部署方法:
- 🚄 铁路:
git push→ 自动部署(指南) - 🐳 本地Docker:
.\deploy.ps1 local或./deploy.sh local - ☁️ 渲染:连接GitHub仓库(指南)
- ⚡ Heroku:
.\deploy.ps1 heroku或./deploy.sh heroku - 🌩️ 谷歌云:
.\deploy.ps1 gcloud或./deploy.sh gcloud
看 快速启动.md 30秒部署或 部署.md 获取详细指南。
特性
- 简历解析:解析PDF简历,回答有关工作经验、技能和职业史的问题
- 电子邮件通知:发送具有指定收件人、主题和正文内容的电子邮件
- MCP协议合规性:实现用于工具发现和执行的模型上下文协议规范
- Next.js游乐场:用于测试MCP服务器的可选web界面
项目结构
mcp-cv-email/
server/ # MCP Server implementation
src/
index.ts # Main server entry point
resume.ts # CV parsing functionality
email.ts # Email sending functionality
parsers/
pdf.ts # PDF parsing utilities
package.json
.env.example
web/ # Next.js playground (optional)
app/
page.tsx # Main playground interface
api/mcp/[transport]/route.ts # MCP API adapter
package.json
.env.local.example
README.md快速开始
1.服务器设置
cd server
npm install
cp .env.example .env
# Edit .env with your email credentials
npm run build
npm start2.网络游乐场(可选)
cd web
npm install
cp .env.local.example .env.local
# Edit .env.local with your configuration
npm run dev配置
电子邮件设置
对于Gmail(推荐):
- 启用双因素身份验证
- 生成应用程序密码
- 使用您的应用程序密码
.env文件
EMAIL_USERNAME=your-email@gmail.com
EMAIL_PASSWORD=your-app-password
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587🐳 生产部署
该项目包括多个云平台的生产就绪Docker配置和部署脚本:
码头工人
# Build optimized production image
docker build -f Dockerfile.optimized -t cv-email-mcp-server .
# Run locally
docker run -p 3001:3000 cv-email-mcp-server云平台
- 铁路:通过GitHub自动部署
railway.toml - 渲染:使用部署
render.yaml配置 - Heroku:容器部署
Procfile - 谷歌云运行:无服务器部署
cloud-run.yaml
部署脚本
# Windows PowerShell
.\deploy.ps1 [platform] # local, railway, heroku, gcloud
# Linux/Mac
./deploy.sh [platform] # local, railway, render, heroku, gcloud状态监测
# Check deployment health
.\check-deployment.ps1 [url] # Windows
./check-deployment.sh [url] # Linux/Mac📖 看 部署.md 获取完整的部署指南
VS代码集成
添加到您的VS代码 settings.json:
{
"mcp.servers": {
"cv-email-server": {
"type": "stdio",
"command": "node",
"args": ["path/to/server/dist/index.js"]
}
}
}可用工具
CV工具
- load_cv:从PDF文件加载简历
{
"filePath": "/path/to/resume.pdf"
}- query_cv:从加载的简历中查询信息
{
"question": "What was my last position?",
"filePath": "/path/to/resume.pdf" // optional if already loaded
}电子邮件工具
- send_邮件:发送电子邮件通知
{
"recipient": "recipient@example.com",
"subject": "Subject line",
"body": "Email content",
"smtpHost": "smtp.gmail.com", // optional
"smtpPort": 587, // optional
"username": "your-email@gmail.com", // optional, uses env var
"password": "your-app-password" // optional, uses env var
}- test_email_connection:测试电子邮件服务配置
{
"smtpHost": "smtp.gmail.com", // optional
"smtpPort": 587, // optional
"username": "your-email@gmail.com", // optional
"password": "your-app-password" // optional
}查询示例
简历问题
- “我在上一个职位上扮演了什么角色?”
- “我的技术技能是什么?”
- “我在哪里上的大学?”
- “我为哪些公司工作过?”
- “我的联系方式是什么?”
电子邮件示例
- 发送状态更新
- 通知已完成的任务
- 与招聘人员分享简历见解
发展
服务器开发
cd server
npm run watch # Watch mode for development
npm run build # Build for production
npm run clean # Clean build directory网站开发
cd web
npm run dev # Development server
npm run build # Build for production
npm run lint # Lint code依赖项
服务器
- @modelcontextprotocol/sdk-MCP协议实现
- pdf解析-pdf文本提取
- nodemailer-电子邮件发送
- zod-模式验证
网络
- Next.js 14-React框架
- React 18-用户界面库
- 顺风CSS-造型
- TypeScript-类型安全
故障排除
常见问题
- PDF解析失败:确保PDF是基于文本的,而不是扫描图像
- 电子邮件发送失败:检查您的SMTP凭据和应用程序密码
- MCP连接问题:验证MCP客户端配置中的服务器路径
错误代码
CV file not found:指定的PDF文件路径不存在No CV data loaded:在查询简历之前,您需要先加载简历Email credentials not provided:设置EMAIL_USENAME和EMAIL_PASSWORD环境变量Email service connection failed:检查SMTP设置和凭据
许可证
MIT许可证-有关详细信息,请参阅许可证文件
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
支持
对于问题和疑问:
- 检查故障排除部分
- 查阅MCP文档,网址为https://modelcontextprotocol.io/
- 在存储库中打开问题
#� �T�r�i�g�g�e�r� �d�e�p�l�o�y�m�e�n�t� � �
