mcp-server

TharakaJayz/mcp-server

3.1

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.

Tools
2
Resources
0
Prompts
0

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