CV Email MCP Server
# CV Email MCP Server
A Model Context Protocol (MCP) server that provides CV parsing and email notification capabilities.
## Features
- **CV Parsing**: Parse PDF resumes and answer questions about your career history
- **Email Notifications**: Send emails with customizable recipients, subjects, and body content
## Installation
1. Install dependencies:
```bash
npm install
```
2. Build the project:
```bash
npm run build
```
3. Set up environment variables:
```bash
cp .env.example .env
# Edit .env with your configuration
```
## Configuration
Create a `.env` file with the following variables:
- `CV_PDF_PATH`: Path to your resume PDF file (default: `resume.pdf`)
- `SMTP_HOST`: SMTP server hostname (default: `smtp.gmail.com`)
- `SMTP_PORT`: SMTP server port (default: `587`)
- `EMAIL_USER`: Your email address
- `EMAIL_PASSWORD`: Your email password or app-specific password
## Usage
### Running the Server
```bash
npm start
```
### Available Tools
1. **parse_cv**: Parse your resume PDF
- Optional parameter: `pdf_path` (uses default if not provided)
2. **ask_cv**: Ask intelligent questions about your CV
- Required parameter: `question`
- **Basic Info**: "What is my name?", "What's my contact information?"
- **Experience**: "What role did I have at my last position?", "How many years of experience do I have?"
- **Technical Skills**: "What programming languages do I know?", "What frameworks do I work with?"
- **Education**: "Where did I study?", "What's my degree?", "What's my GPA?"
- **Projects**: "What projects have I worked on?", "What are my achievements?"
- **Advanced**: "What are my strengths?", "What industry do I work in?"
3. **send_email**: Send email notifications
- Required parameters: `recipient`, `subject`, `body`
### MCP Configuration
Add this server to your MCP configuration:
```json
{
"mcpServers": {
"cv-email": {
"command": "node",
"args": ["path/to/cv-email-mcp-server/dist/index.js"],
"env": {
"CV_PDF_PATH": "path/to/your/resume.pdf",
"EMAIL_USER": "your-email@gmail.com",
"EMAIL_PASSWORD": "your-app-password"
}
}
}
}
```
## Testing
### Command Line Demo
```bash
npm run build
node demo.js
```
### Web Playground
```bash
./start-full-demo.sh
```
Then open http://localhost:3000
## Email Setup
For Gmail: Enable 2FA and generate an app-specific password for `EMAIL_PASSWORD`.TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: parse_cv loads CV data, ask_cv queries it, and send_email sends a notification. There is no functional overlap between the three.
All tool names follow a consistent verb_noun pattern (parse_cv, ask_cv, send_email), using snake_case throughout. The naming is uniform and predictable.
With only 3 tools, the server is tightly scoped to its stated purpose of CV parsing, querying, and email notification. This is well within the ideal range and each tool earns its place.
The tools cover the core workflow of parsing a CV, asking about its content, and sending an email. Minor gaps exist, such as no direct ability to update the parsed CV or manage email templates, but these are likely outside the server's narrow scope.