Install
$ agentstack add mcp-thechandanbhagat-cv-forge ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
CV Forge
Forge powerful, ATS-friendly CVs tailored to any job requirement.
An intelligent MCP (Model Context Protocol) server that analyzes job postings and crafts perfectly-matched CVs.
Features
- Parse Job Requirements: Extract key skills, qualifications, email addresses, and hiring manager names from job postings
- Generate Tailored CVs: Create customized CV content based on user profile and job requirements
- Cover Letter Generation: Generate personalized cover letters tailored to specific job applications
- Email Template Creation: Create professional email templates with automatic email address detection
- Complete Application Packages: Generate CV, cover letter, and email template in one command
- PDF by Default: Automatically generates professional PDF documents when no format is specified
- Multiple Output Formats: Generate documents in PDF (default), HTML, Markdown, and text formats
- Professional PDF Generation: Create publication-ready PDF documents with professional styling
- ATS-Friendly: Optimized for Applicant Tracking Systems with proper keyword placement
- Smart Contact Extraction: Automatically extracts email addresses and hiring manager names from job descriptions
Star History
[](https://www.star-history.com/#thechandanbhagat/cv-forge&type=date&legend=top-left)
Installation
Via npm (Recommended)
Install globally:
npm install -g cv-forge
Or install locally in your project:
npm install cv-forge
From Source
- Clone this repository
- Install dependencies:
``bash npm install ``
- Build the project:
``bash npm run build ``
Usage
Connecting to Claude Desktop
To use this MCP server with Claude Desktop, you need to add it to your Claude configuration file.
Step 1: Install cv-forge
npm install -g cv-forge
Step 2: Find your Claude Desktop config file
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Step 3: Add the MCP server to your config
For global installation, add this to your claude_desktop_config.json file:
{
"mcpServers": {
"cv-forge": {
"command": "cv-forge"
}
}
}
Or if installed locally, specify the full path:
{
"mcpServers": {
"cv-forge": {
"command": "node",
"args": ["d:/TopSecret/cv-forge/build/index.js"],
"cwd": "d:/TopSecret/cv-forge"
}
}
}
Step 4: (Optional) Add environment configuration
You can customize the server with environment variables:
{
"mcpServers": {
"cv-forge": {
"command": "cv-forge",
"env": {
"DEFAULT_OUTPUT_PATH": "D:/CV",
"PDF_BASE_FONT_SIZE": "12px",
"PDF_LINE_HEIGHT": "1.4"
}
}
}
}
Step 5: Restart Claude Desktop After adding the configuration, restart Claude Desktop application.
Step 6: Verify Connection In Claude Desktop, you should see the CV Forge tools available. You can ask Claude to use tools like:
- "Parse this job posting for me"
- "Generate a tailored CV based on my profile and this job"
- "Save my CV as a PDF file"
Running the MCP Server Standalone (for testing)
You can also run the server directly for testing:
npm start
The server runs on stdio and communicates via the Model Context Protocol.
Available Tools
1. parse_job_requirements
Parses job requirements and extracts key information for CV tailoring.
Parameters:
jobTitle(string, required): The job title/positioncompany(string, required): Company namejobDescription(string, required): Full job description textrequirements(array, optional): Specific requirements if separatedpreferredSkills(array, optional): Preferred skills if separatedlocation(string, optional): Job locationsalaryRange(string, optional): Salary range if provided
2. generate_cv_data
Generates tailored CV content based on user profile and job requirements.
Parameters:
userProfile(object, required): Complete user profile informationjobRequirements(object, required): Job requirements object
User Profile Structure:
{
"personalInfo": {
"fullName": "John Doe",
"email": "john@example.com",
"phone": "+1-555-0123",
"location": "City, State",
"linkedIn": "linkedin.com/in/johndoe",
"github": "github.com/johndoe",
"website": "johndoe.com"
},
"summary": "Professional summary text...",
"experience": [
{
"jobTitle": "Software Engineer",
"company": "Tech Corp",
"location": "City, State",
"startDate": "2020-01",
"endDate": "2023-12",
"description": "Job description...",
"achievements": [
"Achievement 1",
"Achievement 2"
]
}
],
"education": [
{
"degree": "Bachelor of Science in Computer Science",
"institution": "University Name",
"location": "City, State",
"graduationYear": "2020",
"gpa": "3.8",
"honors": ["Magna Cum Laude"]
}
],
"skills": {
"technical": ["JavaScript", "Python", "React"],
"soft": ["Leadership", "Communication"],
"languages": ["English", "Spanish"],
"certifications": ["AWS Certified"]
},
"projects": [
{
"name": "Project Name",
"description": "Project description...",
"technologies": ["React", "Node.js"],
"url": "github.com/johndoe/project"
}
]
}
3. save_cv_text
Saves CV content as a formatted text file.
Parameters:
cvData(object, required): Tailored CV data object (from generatecvdata)outputPath(string, required): Directory path where the CV should be savedfileName(string, optional): Custom filename (without extension), defaults to "generated_cv"
4. generate_cv (Recommended - Main CV Generation Tool)
Generate tailored CV and save to specified location or default folder. Defaults to PDF format if no format is specified.
Parameters:
userProfile(object, required): Complete user profile informationjobRequirements(object, required): Job requirements objectoutputPath(string, optional): Directory path where the CV should be saved (uses DEFAULTOUTPUTPATH if not provided)fileName(string, optional): Custom filename (without extension), defaults to "professional_cv"format(string, optional): Output format - "pdf" (default), "html", or "markdown"pageSize(string, optional): PDF page size (e.g., 'A4', 'Letter', 'Legal') - uses PDFPAGESIZE env var if not providedmargins(object, optional): PDF margins with top, right, bottom, left properties (e.g., '10mm', '0.8in') - uses PDFMARGIN* env vars if not provided
5. generate_and_save_cv_pdf (Legacy - Use generate_cv instead)
Generate tailored CV and save directly as professional PDF (combines CV generation and PDF creation in one step).
Parameters:
userProfile(object, required): Complete user profile informationjobRequirements(object, required): Job requirements objectoutputPath(string, optional): Directory path where the CV should be saved (uses DEFAULTOUTPUTPATH if not provided)fileName(string, optional): Custom filename (without extension), defaults to "professional_cv"
6. generate_and_save_cv_markdown (Recommended)
Generate tailored CV and save directly as Markdown (combines CV generation and Markdown creation in one step).
Parameters:
userProfile(object, required): Complete user profile informationjobRequirements(object, required): Job requirements objectoutputPath(string, required): Directory path where the CV should be savedfileName(string, optional): Custom filename (without extension), defaults to "cv_markdown"
7. generate_and_save_cv_html (Recommended)
Generate tailored CV and save directly as HTML (combines CV generation and HTML creation in one step).
Parameters:
userProfile(object, required): Complete user profile informationjobRequirements(object, required): Job requirements objectoutputPath(string, required): Directory path where the CV should be savedfileName(string, optional): Custom filename (without extension), defaults to "cv_html"
8. generate_cv_pdf (Advanced)
Generate and save CV as a professional PDF document from pre-generated CV data.
Parameters:
cvData(object, required): Tailored CV data object (from generatecvdata)outputPath(string, required): Directory path where the CV should be savedfileName(string, optional): Custom filename (without extension), defaults to "professional_cv"
9. generate_cv_markdown (Advanced)
Generate CV as Markdown format from pre-generated CV data.
Parameters:
cvData(object, required): Tailored CV data object (from generatecvdata)outputPath(string, required): Directory path where the CV should be savedfileName(string, optional): Custom filename (without extension), defaults to "cv_markdown"
10. generate_cv_html (Advanced)
Generate CV as styled HTML document from pre-generated CV data.
Parameters:
cvData(object, required): Tailored CV data object (from generatecvdata)outputPath(string, required): Directory path where the CV should be savedfileName(string, optional): Custom filename (without extension), defaults to "cv_web"
Cover Letter and Email Template Tools
11. generate_cover_letter (Recommended)
Generate a tailored cover letter for a specific job application. Returns formatted text that can be displayed on screen or saved as PDF.
Parameters:
userProfile(object, required): Complete user profile informationjobRequirements(object, required): Job requirements objecthiringManagerName(string, optional): Name of the hiring manager if knownformat(string, optional): Output format - "text" (default) for on-screen display, "html" for styled viewing
12. save_cover_letter_pdf
Generate and save a cover letter as PDF to specified location. Automatically extracts email addresses and hiring manager names from job descriptions.
Parameters:
userProfile(object, required): Complete user profile informationjobRequirements(object, required): Job requirements objectoutputPath(string, optional): Directory path where the cover letter should be savedfileName(string, optional): Custom filename (without extension), defaults to "cover_letter"hiringManagerName(string, optional): Name of the hiring manager if knownpageSize(string, optional): PDF page size (e.g., 'A4', 'Letter', 'Legal')margins(object, optional): PDF margins with top, right, bottom, left properties
13. generate_email_template
Generate a professional email template for job application. Automatically detects email addresses from job description.
Parameters:
userProfile(object, required): Complete user profile informationjobRequirements(object, required): Job requirements objecttemplateType(string, optional): Type of email template - "application" (default), "followup", "inquiry", "thankyou"recipientEmail(string, optional): Recipient email address (optional, will use extracted email from job description if available)hiringManagerName(string, optional): Name of the hiring manager if known
14. draft_complete_application (Recommended - One-Stop Solution)
Draft a complete job application package: CV, cover letter, and email template. Automatically generates PDF CV and cover letter, plus email template if email address is found in the job description.
Parameters:
userProfile(object, required): Complete user profile informationjobRequirements(object, required): Job requirements objectoutputPath(string, optional): Directory path where files should be savedbaseFileName(string, optional): Base filename for generated files (without extension), defaults to "job_application"hiringManagerName(string, optional): Name of the hiring manager if known
Configuration
Environment Variables
The MCP server supports various configuration options via environment variables in the Claude Desktop config:
{
"mcpServers": {
"cv-forge": {
"command": "node",
"args": ["path/to/cv-forge/build/index.js"],
"cwd": "path/to/cv-forge",
"env": {
"DEFAULT_OUTPUT_PATH": "D:/CV",
"TEMP_DIR": "C:/Users/YourName/AppData/Local/Temp/cv-maker",
"PDF_TIMEOUT": "300000",
"PDF_PAGE_SIZE": "A4",
"PDF_MARGIN_TOP": "10mm",
"PDF_MARGIN_RIGHT": "10mm",
"PDF_MARGIN_BOTTOM": "10mm",
"PDF_MARGIN_LEFT": "10mm",
"PDF_BASE_FONT_SIZE": "12px",
"PDF_LINE_HEIGHT": "1.4",
"PDF_H1_FONT_SIZE": "20px",
"PDF_H2_FONT_SIZE": "15px",
"PDF_H3_FONT_SIZE": "13px",
"PDF_PARAGRAPH_SPACING": "8px",
"PDF_SECTION_SPACING": "12px"
}
}
}
}
Configuration Options:
DEFAULT_OUTPUT_PATH: Default directory for saving CV files (when outputPath is not provided or is "./")TEMP_DIR: Directory for temporary files during PDF generationPDF_TIMEOUT: Timeout for PDF generation in millisecondsPDF_PAGE_SIZE: Default PDF page size - defaults to 'A4'- Common sizes: 'A4' (210×297mm), 'Letter' (8.5×11in), 'Legal' (8.5×14in)
PDF_MARGIN_*: PDF page margins (top, right, bottom, left) - defaults to '10mm'PDF_BASE_FONT_SIZE: Base font size for CV body text (12px ≈ MS Word 9pt, 13px ≈ 10pt)PDF_LINE_HEIGHT: Line height for text (1.4 recommended for compact layout)PDF_H1_FONT_SIZE: Font size for name/title headingPDF_H2_FONT_SIZE: Font size for section headingsPDF_H3_FONT_SIZE: Font size for job titles and subsectionsPDF_PARAGRAPH_SPACING: Spacing between paragraphsPDF_SECTION_SPACING: Spacing between major sections
Example Usage with Claude Desktop
Once connected to Claude Desktop, you can use natural language to interact with the CV maker:
1. Parse Job Requirements
"Can you parse this job posting for me:
Job Title: Senior Software Engineer
Company: TechCorp Inc
Description: We are looking for a Senior Software Engineer with 5+ years of experience in JavaScript, React, and Node.js. Must have experience with cloud platforms and agile methodologies. Strong communication skills required."
2. Generate Tailored CV (Simple One-Step Process - PDF by Default)
"Generate a tailored CV for me based on this job posting:
Job Title: Senior Software Engineer
Company: TechCorp Inc
Job Description: We are looking for a Senior Software Engineer with 5+ years of experience in JavaScript, React, and Node.js. Must have experience with cloud platforms and agile methodologies.
My Profile:
- Full Name: John Doe
- Email: john@example.com
- Phone: +1-555-0123
- Experience: 6 years as Software Engineer at various companies
- Skills: JavaScript, Python, React, Node.js, AWS, Docker
- Education: BS Computer Science from State University
Please save it to C:\Users\John\Documents\CVs with filename 'john_doe_senior_engineer_techcorp'"
Note: This will automatically generate a PDF file (default format) unless you specify a different format.
3. Generate Different Formats
"Can you generate my CV in multiple formats? I need:
1. A professional PDF for applications (default format)
2. A Markdown version for my GitHub
3. An HTML version for my website
Save them all to C:\Users\John\Documents\CVs with the base filename 'john_doe_cv'"
Or specify format explicitly:
"Generate my CV in HTML format and save it to C:\Users\John\Documents\CVs"
Or specify custom page size and margins for PDF:
"Generate my CV as a PDF with Letter page size and 1 inch margins on all sides, save it to C:\User
…
## Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [thechandanbhagat](https://github.com/thechandanbhagat)
- **Source:** [thechandanbhagat/cv-forge](https://github.com/thechandanbhagat/cv-forge)
- **License:** MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.