
CV Forge
io.github.thechandanbhagat由 GitHub 账号 thechandanbhagat 发布v1.0.1更新于 Oct 24, 2026
Forge powerful, ATS-friendly CVs tailored to any job - an MCP server for intelligent CV generation
概览
根据职位描述和用户资料生成针对性的、对 ATS 友好的简历、求职信和申请邮件模板,并可保存为 PDF、HTML、Markdown 或文本。
- 可以做什么
- CV Forge 会解析职位描述,提取技能、资历、联系邮箱和招聘经理姓名,并据此调整简历内容。它还能生成求职信和申请邮件模板,并可通过一次调用产出完整的申请材料包。输出会写入你指定的目录,默认生成 PDF,也支持 HTML、Markdown 和文本格式。
- 适用场景
- 适合在投递职位时使用,让每份简历和求职信都针对具体职位调整,而无需手动重写。适合已经整理好经历、教育和技能等结构化资料的用户。
- 运行要求
- 需要本地 Node.js 运行环境;通过 npm 安装 cv-forge 包,并在 Claude Desktop 配置文件中配置。仅支持桌面端,无远程端点。可选环境变量如 DEFAULT_OUTPUT_PATH、TEMP_DIR 以及 PDF_* 样式选项用于控制输出位置和排版。未声明需要账号或 API 密钥。
安装
在 SourceWeft 中
- 打开 控制台中的 CV Forge,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
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
Installation
Via npm (Recommended)
Install globally:
Or install locally in your project:
From Source
- Clone this repository
- Install dependencies:
- Build the project:
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
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:
Or if installed locally, specify the full path:
Step 4: (Optional) Add environment configuration
You can customize the server with environment variables:
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:
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:
3. save_cv_text
Saves CV content as a formatted text file.
Parameters:
cvData(object, required): Tailored CV data object (from generate_cv_data)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 DEFAULT_OUTPUT_PATH 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 PDF_PAGE_SIZE env var if not providedmargins(object, optional): PDF margins with top, right, bottom, left properties (e.g., '10mm', '0.8in') - uses PDF_MARGIN_* 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 DEFAULT_OUTPUT_PATH 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 generate_cv_data)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 generate_cv_data)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 generate_cv_data)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), "follow_up", "inquiry", "thank_you"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:
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
2. Generate Tailored CV (Simple One-Step Process - PDF by Default)
Note: This will automatically generate a PDF file (default format) unless you specify a different format.
3. Generate Different Formats
Or specify format explicitly:
Or specify custom page size and margins for PDF:
3. Generate Cover Letters
4. Generate Email Templates
5. Draft Complete Application Package (Recommended)
This will generate:
techcorp_application_CV.pdf- Tailored CVtechcorp_application_Cover_Letter.pdf- Professional cover lettertechcorp_application_Email_Template.txt- Email template (if email address found in job description)
6. Generate Follow-up Email Template
7. Direct Tool Usage Examples
If you want to use the tools directly (advanced usage):
-
Parse a job posting:
-
Generate tailored CV:
-
Generate PDF CV:
-
Generate Markdown CV:
-
Generate HTML CV:
-
Save CV as text file:
How It Works
-
Job Analysis: The server parses job descriptions to extract:
- Required technical skills
- Preferred qualifications
- Company industry and size
- Experience level requirements
-
CV Tailoring: Based on the analysis, it:
- Prioritizes relevant skills and experience
- Adjusts the professional summary
- Reorders and emphasizes matching achievements
- Incorporates job-specific keywords for ATS optimization
-
Output Generation: Creates a well-formatted text CV that:
- Uses ATS-friendly formatting
- Includes relevant keywords
- Maintains professional structure
- Highlights the most relevant qualifications
File Structure
Development
Building
Starting Development Server
Project Structure
src/index.ts: Main MCP server with tool registrationsrc/lib/job-parser.ts: Parses job requirements, extracts key information, emails, and hiring manager namessrc/lib/cv-generator.ts: Generates tailored CV content based on job requirementssrc/lib/cover-letter-generator.ts: Generates personalized cover letters for job applicationssrc/lib/email-template-generator.ts: Creates professional email templates for various application scenariossrc/lib/document-generator.ts: Multi-format document generation (PDF, HTML, Markdown)src/lib/word-generator.ts: (Future) Word document generation functionality
Troubleshooting
PDF not saving to configured location
- Ensure
DEFAULT_OUTPUT_PATHis set in your Claude Desktop config - Restart Claude Desktop after changing configuration
- Check that the path exists or the application has permission to create it
Font size too large or small
- Adjust
PDF_BASE_FONT_SIZEin environment variables (12px ≈ 9pt, 13px ≈ 10pt MS Word) - Modify
PDF_LINE_HEIGHTfor tighter/looser spacing - Restart Claude Desktop after changes
PDF generation fails
- Check that output directory exists and is writable
- Verify
TEMP_DIRpath is valid - Ensure sufficient disk space
Custom page size not working
- Ensure page size is a valid format (A4, Letter, Legal, A3, A5, etc.)
- Check that the page size is supported by the PDF generator
- Use standard page size names (case-sensitive)
Custom margins not applied
- Use proper units: 'mm', 'cm', 'in', 'px', 'pt'
- Example: '10mm', '0.8in', '72pt'
- Restart Claude Desktop after changing environment variables
Future Enhancements
- Enhanced Word document generation with advanced formatting
- Multiple CV and cover letter templates (modern, classic, minimal)
- Advanced keyword optimization algorithms
- Integration with job boards for automatic job parsing
- LinkedIn profile integration for automatic profile data
- Interview preparation questions based on job requirements
- Salary negotiation guidance based on market data
- Multi-language support for international applications
- AI-powered writing suggestions and improvements
Dependencies
@modelcontextprotocol/sdk: Core MCP functionalityzod: Schema validation and type safetytypescript: TypeScript compilermd-to-pdf: PDF generation from Markdownmarkdown-it: Markdown parsing and HTML conversiondocx: Word document generation (for future Word output)
License
This project is available under the MIT License.
Contributing
Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.
来源:README.md,提交 a1cf021
工具
0版本历史
1- v1.0.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分