TharakaJayz/mcp-server
If you are the rightful owner of mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The MCP Resume Chat Server is a comprehensive application designed to facilitate AI-powered interactions with your resume and send email notifications, ideal for software engineering interviews and showcasing MCP capabilities.
MCP Resume Chat Server
A comprehensive Model Context Protocol (MCP) server application that can chat about your resume/CV and send email notifications. Perfect for SE interviews and showcasing MCP capabilities.
🚀 Features
- Resume Chat: AI-powered chat interface that answers questions about your resume
- Email Notifications: Send email notifications through the MCP server
- Modern Frontend: Beautiful Next.js interface with dark mode support
- Well-Architected: Clean folder structure with TypeScript support
- No Database Required: Uses JSON files for data storage
📁 Project Structure
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
🛠️ Installation
-
Clone the repository
git clone <your-repo-url> cd mcp-server -
Install dependencies
npm install -
Set up environment variables Create a
.env.localfile in the root directory:# 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 -
Update resume data Edit
data/resume.jsonwith your actual resume information.
🚀 Running the Application
Start the Next.js Frontend
npm run dev
Open http://localhost:3000 to view the application.
Start the MCP Server
# Using JavaScript version
npm run mcp
# Using TypeScript version (requires compilation)
npm run dev:mcp
📖 Usage
1. Resume Chat
- Navigate to the "Resume Chat" tab
- Ask questions about your resume like:
- "What is my current position?"
- "What companies have I worked for?"
- "What are my main skills?"
- "What was my last role?"
2. Email Notifications
- Navigate to the "Email Notifications" tab
- Use the quick templates or create custom emails
- Configure SMTP settings for real email sending
3. Resume Viewer
- Navigate to the "View Resume" tab
- Browse through different sections of your resume
- View formatted resume data
🔧 MCP Server Tools
The MCP server exposes two main tools:
1. resume_chat
Answers questions about resume/CV information.
Parameters:
question(string, required): The question to ask about the resumecontext(string, optional): Additional context for the question
Example:
{
"name": "resume_chat",
"arguments": {
"question": "What is my current position?",
"context": "I'm preparing for an interview"
}
}
2. send_email
Sends email notifications.
Parameters:
recipient(string, required): Email address of the recipientsubject(string, required): Subject of the emailbody(string, required): Body content of the emailfrom(string, optional): Sender email address
Example:
{
"name": "send_email",
"arguments": {
"recipient": "recipient@example.com",
"subject": "Interview Invitation",
"body": "Thank you for your application...",
"from": "sender@example.com"
}
}
🎯 Interview Demo Script
1. Show the Architecture
- Explain the clean folder structure
- Highlight separation of concerns (services, config, types)
- Show TypeScript usage for type safety
2. Demonstrate MCP Server
- Start the MCP server:
npm run mcp - Show the tools it exposes
- Explain how it integrates with AI for resume chat
3. Frontend Features
- Show the modern UI with tabs
- Demonstrate resume chat functionality
- Show email notification form
- Display resume viewer with different sections
4. Technical Highlights
- No Database: Uses JSON files for simplicity
- TypeScript: Full type safety throughout
- Modern Stack: Next.js 15, React 19, Tailwind CSS
- MCP Integration: Proper Model Context Protocol implementation
- Error Handling: Comprehensive error handling and user feedback
🔧 Configuration
Email Setup (Optional)
To enable real email sending:
-
Gmail Setup:
- Enable 2-factor authentication
- Generate an app password
- Use the app password in
SMTP_PASS
-
Other Providers:
- Update
SMTP_HOST,SMTP_PORT, andSMTP_SECUREaccordingly - Use appropriate authentication credentials
- Update
Resume Data
Update data/resume.json with your information:
- Personal information
- Work experience
- Education
- Skills
- Projects
- Certifications
🚀 Deployment
Frontend (Vercel)
npm run build
# Deploy to Vercel or your preferred platform
MCP Server
The MCP server can be deployed as a standalone Node.js application or integrated into existing systems.
🤝 Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
📄 License
This project is licensed under the MIT License.
🆘 Troubleshooting
Common Issues
-
MCP Server not starting:
- Check if all dependencies are installed
- Verify Node.js version compatibility
- Check console for error messages
-
Resume chat not working:
- Verify OpenAI API key is set
- Check if resume data is loaded correctly
- Ensure MCP server is running
-
Email sending fails:
- Verify SMTP configuration
- Check email provider settings
- Ensure app passwords are used for Gmail
Getting Help
- Check the console logs for detailed error messages
- Verify all environment variables are set correctly
- Ensure all dependencies are installed
Built with ❤️ for SE interviews and MCP demonstrations