MCP Resume Chat Server

MCP Resume Chat Server

Enables AI-powered conversations about resume/CV content and email notification sending through a comprehensive MCP server. Features a modern Next.js frontend with resume chat interface, email forms, and resume viewer for SE interview demonstrations.

Category
Visit Server

README

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

  1. Clone the repository

    git clone <your-repo-url>
    cd mcp-server
    
  2. Install dependencies

    npm install
    
  3. Set up environment variables Create a .env.local file 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
    
  4. Update resume data Edit data/resume.json with 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 resume
  • context (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 recipient
  • subject (string, required): Subject of the email
  • body (string, required): Body content of the email
  • from (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:

  1. Gmail Setup:

    • Enable 2-factor authentication
    • Generate an app password
    • Use the app password in SMTP_PASS
  2. Other Providers:

    • Update SMTP_HOST, SMTP_PORT, and SMTP_SECURE accordingly
    • Use appropriate authentication credentials

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

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

📄 License

This project is licensed under the MIT License.

🆘 Troubleshooting

Common Issues

  1. MCP Server not starting:

    • Check if all dependencies are installed
    • Verify Node.js version compatibility
    • Check console for error messages
  2. Resume chat not working:

    • Verify OpenAI API key is set
    • Check if resume data is loaded correctly
    • Ensure MCP server is running
  3. 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured