简历聊天服务器

一个全面的模型上下文协议(MCP)服务器应用,可以聊天讨论简历/CV并发送电子邮件通知,适用于软件工程面试和展示MCP能力。

  • by HarindiNikeshala
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 harindinikeshala/mcp-server

使用说明

MCP恢复聊天服务器

一个全面的模型上下文协议(MCP)服务器应用程序,可以聊天谈论你的简历和发送电子邮件通知。非常适合SE面试和展示MCP能力。

🚀 特性

  • 继续聊天:人工智能聊天界面,回答有关简历的问题
  • 电子邮件通知:通过MCP服务器发送电子邮件通知
  • 现代前端:漂亮的Next.js界面,支持黑暗模式
  • 设计精良:使用TypeScript支持清理文件夹结构
  • 无需数据库:使用JSON文件进行数据存储

📁 项目结构

mcp-server/
├── app/                          # Next.js frontend
│   ├── components/              # React components
│   │   ├── ChatInterface.tsx    # Resume chat interface
│   │   ├── EmailForm.tsx        # Email notification form
│   │   └── ResumeViewer.tsx     # Resume data viewer
│   ├── api/                     # API routes
│   │   └── resume/              # Resume data endpoint
│   └── page.tsx                 # Main application page
├── mcp-server/                  # MCP server implementation
│   ├── index.js                 # Main MCP server (JavaScript)
│   └── index.ts                 # Main MCP server (TypeScript)
├── services/                    # Business logic services
│   ├── resumeParser.js/ts       # Resume data parsing
│   ├── resumeChatService.js/ts  # AI chat functionality
│   └── emailService.js/ts       # Email sending service
├── config/                      # Configuration files
│   ├── email.ts                 # Email configuration
│   └── mcp.ts                   # MCP server configuration
├── data/                        # Data storage
│   └── resume.json              # Sample resume data
├── types/                       # TypeScript type definitions
│   └── index.ts                 # Core types and interfaces
└── lib/                         # Utility libraries

🛠️ 安装

  1. 克隆存储库

    git clone <your-repo-url>
    cd mcp-server
    
  2. 安装依赖项

    npm install
    
  3. 设置环境变量 创建一个 .env.local 根目录中的文件:

    # OpenAI API Key (required for resume chat)
    OPENAI_API_KEY=your_openai_api_key_here
    
    # Email Configuration (optional, for real email sending)
    SMTP_HOST=smtp.gmail.com
    SMTP_PORT=587
    SMTP_SECURE=false
    SMTP_USER=your_email@gmail.com
    SMTP_PASS=your_app_password
    
  4. 更新简历数据 编辑 data/resume.json 与您的实际简历信息。

🚀 运行应用程序

启动Next.js前端

npm run dev

打开 http://localhost:3000 查看应用程序。

启动MCP服务器

# Using JavaScript version
npm run mcp

# Using TypeScript version (requires compilation)
npm run dev:mcp

📖 用法

1.恢复聊天

  • 导航到“继续聊天”选项卡
  • 问一些关于你简历的问题,比如:
    • “我现在的职位是什么?”
    • “我为哪些公司工作过?”
    • “我的主要技能是什么?”
    • “我最后的角色是什么?”

2.电子邮件通知

  • 导航到“电子邮件通知”选项卡
  • 使用快速模板或创建自定义电子邮件
  • 配置真实电子邮件发送的SMTP设置

3.简历查看器

  • 导航到“查看简历”选项卡
  • 浏览简历的不同部分
  • 查看格式化的简历数据

🔧 MCP服务器工具

MCP服务器公开了两个主要工具:

1. resume_chat

回答有关简历/履历信息的问题。

参数:

  • question (string,必填):关于简历要问的问题
  • context (字符串,可选):问题的附加上下文

例子:

{
  "name": "resume_chat",
  "arguments": {
    "question": "What is my current position?",
    "context": "I'm preparing for an interview"
  }
}

2. send_email

发送电子邮件通知。

参数:

  • recipient (字符串,必填):收件人的电子邮件地址
  • subject (string,必填):电子邮件的主题
  • body (string,必填):电子邮件的正文内容
  • from (字符串,可选):发件人电子邮件地址

例子:

{
  "name": "send_email",
  "arguments": {
    "recipient": "recipient@example.com",
    "subject": "Interview Invitation",
    "body": "Thank you for your application...",
    "from": "sender@example.com"
  }
}

🎯 面试演示脚本

1.展示架构

  • 解释干净的文件夹结构
  • 突出关注点分离(服务、配置、类型)
  • 显示TypeScript的类型安全用法

2.演示MCP服务器

  • 启动MCP服务器: npm run mcp
  • 展示它所展示的工具
  • 解释它如何与人工智能集成进行简历聊天

3.前端功能

  • 显示带有标签的现代UI
  • 演示简历聊天功能
  • 显示电子邮件通知表单
  • 显示不同部分的简历查看器

4.技术亮点

  • 无数据库:为了简单起见,使用JSON文件
  • TypeScript:全程全型安全
  • 现代堆栈:Next.js 15,React 19,顺风CSS
  • MCP集成:正确的模型上下文协议实现
  • 错误处理:全面的错误处理和用户反馈

🔧 配置

电子邮件设置(可选)

要启用真正的电子邮件发送:

  1. Gmail设置:

    • 启用双因素身份验证
    • 生成应用程序密码
    • 在中使用应用程序密码 SMTP_PASS
  2. 其他供应商:

    • 更新 SMTP_HOST, SMTP_PORT,以及 SMTP_SECURE 相应地
    • 使用适当的身份验证凭据

简历数据

更新 data/resume.json 您的信息:

  • 个人信息
  • 工作经验
  • 教育
  • 技能
  • 项目
  • 认证

🚀 部署

前端(Vercel)

npm run build
# Deploy to Vercel or your preferred platform

MCP服务器

MCP服务器可以作为独立的Node.js应用程序部署,也可以集成到现有系统中。

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

📄 许可证

该项目根据MIT许可证获得许可。

🆘 故障排除

常见问题

  1. MCP服务器未启动:

    • 检查是否安装了所有依赖项
    • 验证Node.js版本兼容性
    • 检查控制台是否有错误消息
  2. 恢复聊天不起作用:

    • 验证是否设置了OpenAI API密钥
    • 检查简历数据是否正确加载
    • 确保MCP服务器正在运行
  3. 电子邮件发送失败:

    • 验证SMTP配置
    • 检查电子邮件提供商设置
    • 确保Gmail使用应用程序密码

获取帮助

  • 检查控制台日志以获取详细的错误消息
  • 验证所有环境变量是否设置正确
  • 确保安装了所有依赖项

内置于❤️ SE面试和MCP演示