TharakaJayz

MCP Resume Chat Server

Community TharakaJayz
Updated

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 variablesCreate 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
    [email protected]
    SMTP_PASS=your_app_password
    
  4. Update resume dataEdit 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": "[email protected]",
    "subject": "Interview Invitation",
    "body": "Thank you for your application...",
    "from": "[email protected]"
  }
}

๐ŸŽฏ 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

MCP Server ยท Populars

MCP Server ยท New

    ajitpratap0

    GoSQLX

    High-performance SQL parser, formatter, linter & security scanner for Go - 1.5M+ ops/sec, multi-dialect, zero-copy, race-free

    Community ajitpratap0
    smart-mcp-proxy

    MCPProxy โ€“ Smart Proxy for AI Agents

    Supercharge AI Agents, Safely

    Community smart-mcp-proxy
    wowyuarm

    File Ops

    A local file operations skill for AI agents: convert, inspect, archive, and extract text

    Community wowyuarm
    cyanheads

    @cyanheads/mcp-ts-core

    TypeScript template for building Model Context Protocol (MCP) servers. Ships with declarative tools/resources, pluggable auth, multi-backend storage, OpenTelemetry observability, and first-class support for both local and edge (Cloudflare Workers) runtimes.

    Community cyanheads
    bitbonsai

    MCP-Vault

    A lightweight Model Context Protocol (MCP) server for safe Obsidian vault access

    Community bitbonsai