Skip to main content
Glama
anmolvarshney77

CV Email MCP Server

README.md
# 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

A3.5/5.0

Scored across 3 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues