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