Skip to main content
Glama
ThambimuthuAnush24

MCP Resume & Email Assistant

README.md
# MCP Resume & Email Assistant

This is a Model Context Protocol (MCP) server that provides the following features:

1. **Resume Parsing**: Parse and extract information from your resume to answer questions about your professional experience.
2. **Email Notifications**: Send email notifications with customizable recipient, subject, and body.
3. **Next.js Frontend**: A beautiful, responsive UI for interacting with the MCP server.
4. **GitHub Pages Deployment**: The frontend is configured for easy deployment to GitHub Pages.

## Live Demo

Check out the live demo at: https://ThambimuthuAnush24.github.io/mcp-server

## Project Structure

```
mcp-server/
├── src/
│   ├── index.ts           # Main MCP server implementation
│   ├── localClient.ts     # Test client for local development
│   ├── services/
│   │   ├── emailService.ts # Email service implementation
│   │   └── resumeService.ts # Resume parsing service
├── frontend/              # Next.js frontend application
│   ├── src/
│   │   ├── app/           # Next.js app directory
│   │   │   ├── api/       # API routes
│   │   │   ├── layout.tsx # Main layout
│   │   │   └── page.tsx   # Main page
│   │   ├── components/    # React components
│   │   └── utils/         # Utility functions
├── .vscode/
│   └── mcp.json           # VS Code MCP integration
├── .env                   # Environment variables (not committed)
├── package.json           # Project dependencies
└── tsconfig.json          # TypeScript configuration
```

## Features

- 📄 **Resume Parser**: Upload and analyze resumes with intelligent extraction
- 📧 **Email Sender**: Create and send professional emails with ease
- 💬 **AI Assistant**: Get intelligent answers to questions about your resume and career
- 🎨 **Beautiful UI**: Modern glass-morphism design with animations and responsive layout
- 🚀 **GitHub Pages Deployment**: Easy deployment to GitHub Pages

## Technologies Used

- **Next.js 14**: For the frontend with static export support
- **TypeScript**: For type-safe code
- **Tailwind CSS**: For beautiful, responsive styling
- **Model Context Protocol (MCP)**: For AI-powered features
- **GitHub Pages**: For deployment

## Prerequisites

- Node.js v18 or higher
- npm or yarn
- Git

## Setup Instructions

### For Backend Development

1. Clone this repository
2. Install dependencies:
   ```bash
   npm install
   ```
3. Create a `.env` file in the root directory with your email configuration
4. Build the project:
   ```bash
   npm run build
   ```
5. Start the server:
   ```bash
   npm start
   ```

### For Frontend Development

1. Navigate to the frontend directory:
   ```bash
   cd frontend
   ```
2. Install dependencies:
   ```bash
   npm install
   ```
3. Start the development server:
   ```bash
   npm run dev
   ```
4. Open http://localhost:3000 in your browser

## GitHub Pages Deployment

This project is configured for deployment on GitHub Pages. Follow these steps to deploy:

1. Make sure you've pushed your code to GitHub:

   ```bash
   git add .
   git commit -m "Ready for GitHub Pages deployment"
   git push origin main
   ```

2. Run the deployment script:
   ```bash
   cd frontend
   npm run deploy
   ```

This will:

- Build the Next.js application
- Create the necessary `.nojekyll` file
- Deploy to the gh-pages branch
- Make your site available at https://yourusername.github.io/mcp-server

## GitHub Pages Mode

When running on GitHub Pages, the application automatically detects the environment and uses mock data instead of trying to call backend APIs that wouldn't be available in a static deployment.

## MCP Tools Provided

1. **parseResume**

   - Parses a resume from text or PDF
   - Parameters:
     - `text` (optional): Plain text resume content
     - `fileContent` (optional): Base64-encoded PDF content
     - `fileName` (optional): Name of the PDF file

2. **queryResume**

   - Queries parsed resume data
   - Parameters:
     - `query`: The question to ask about the resume
     - `context` (optional): Previous conversation history

3. **sendEmail**
   - Sends an email
   - Parameters:
     - `to`: Recipient email address
     - `subject`: Email subject
     - `body`: Email content

## Local Development

### Local Testing

The backend includes a local client for testing MCP tools:

```bash
npm run test:local
```

### Debugging

For debugging the MCP server:

1. Run in development mode:

   ```bash
   npm run dev
   ```

2. Check the console logs for any errors.

3. For frontend debugging, use the browser's developer tools.

## License

MIT

TDQS

A3.5/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: parseResume for extracting data, sendEmail for sending notifications, and queryResume for asking questions. No overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in camelCase (parseResume, sendEmail, queryResume), making it predictable for agents to understand their actions.

Tool Count5/5

With three tools, the server is well-scoped for its stated purpose of resume parsing and email assistance. Neither too sparse nor excessive.

Completeness4/5

The tool set covers the core workflow: parse a resume, query it, and send email. Missing features like updating or deleting resume data, but the surface is functional for its focused domain.

Maintenance

ActivityInactive
ResponsivenessNo issues