Skip to main content
Glama

CV Forge MCP Server

PyPI License

MCP (Model Context Protocol) server for CV Forge. Lets AI assistants generate professional CVs as PDF/DOCX from conversation data.

How It Works

  1. You describe your experience to the AI (or paste LinkedIn profile text)

  2. AI fills in the CV template using the generate_cv tool

  3. AI calls generate_pdf or generate_docx to produce the document

  4. You get a PDF/DOCX file and a link to the visual editor for manual tweaks

The MCP server automatically pulls and starts the CV Forge Docker container — no manual setup needed.

Related MCP server: cvmaker-mcp

Requirements

Quick Start

Claude Code

claude mcp add cv-forge -- uvx cv-forge-mcp

Claude Desktop

Add to ~/.config/claude/claude_desktop_config.json (Linux) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "cv-forge": {
      "command": "uvx",
      "args": ["cv-forge-mcp"]
    }
  }
}

Manual install (alternative)

pip install cv-forge-mcp

Available Tools

Tool

Description

generate_cv

Returns an empty CV JSON template for the AI to fill in

generate_pdf

Generates ATS PDF from CV data, returns file path + editor URL

generate_docx

Generates ATS DOCX from CV data, returns file path + editor URL

AI Instructions

See INSTRUCTIONS.md for the full system prompt and workflow guidelines for AI assistants using CV Forge.

Available Tools

4 tools
cv_forge_setupA

Set up CV Forge backend. MUST be called before generate_pdf or generate_docx.

Detects the environment and lets the user choose how to run CV Forge:

  • "local": Run locally via Docker (pulls image if needed, ~1.7 GB)

  • "remote": Use the hosted demo at cv.guidlab.pl (no install needed)

  • "auto": Auto-detect — use local if Docker is available, otherwise remote

If mode is "auto", present the user with the available options and ask which they prefer. If only one option is available, use it automatically.

Args: mode: "local", "remote", or "auto" (default).

Inputs: mode. Returns: result

generate_cvA

Return an empty CV JSON template for the AI to fill in.

IMPORTANT: Before calling this tool, gather the user's information first. Ask the user about each section they want to include:

  • Full name, job title, contact details (email, phone, LinkedIn, GitHub, location)

  • Work experience: company names, roles, dates, key achievements/responsibilities

  • Education: institutions, degrees, dates

  • Skills: categorized technical and soft skills

  • Certifications, projects, courses, languages (if applicable)

Do NOT generate a CV with placeholder or empty fields. Ask follow-up questions for any missing critical sections (at minimum: personal info, experience, education, skills).

IMPORTANT: Always fill in URLs for employers, education institutions, and certification issuers. Use their official website URLs (e.g. url: "https://www.google.com" for Google, issuer_url: "https://www.offensive-security.com" for OffSec). The editor uses these URLs to automatically fetch company/institution logos.

Template field reference:

  • Dates: 'Month YYYY' format (e.g. 'January 2023'), use 'Present' for current positions

  • employer_groups: group_name is the company name, display_company in each position should also be set to the company name (or subsidiary/brand name if different)

  • bullets: array of achievement/responsibility strings for each position

  • Contact values: use plain text, NOT prefixed with mailto: or tel: schemes (e.g. "john@example.com" not "mailto:john@example.com", "+48123456789" not "tel:+48123456789")

  • Contact types: location (no link), email, phone, linkedin, github, website

  • Flag codes: 2-letter country code (gb, us, de, pl, fr, es, etc.)

  • Language levels (keys): native, full_professional, professional_working, limited_working, elementary (labels are auto-translated based on cv_language)

  • desc_format: 'bullets' (list) or 'paragraph' (rich_description field)

  • disabled_sections: array of section names to hide (e.g. ['projects', 'courses'])

  • theme: sidebar, topbar, minimal, executive, modern, elegant

  • color_scheme: navy, ocean, forest, wine, slate, charcoal

  • font_preset: calibri, helvetica, georgia, garamond, inter, roboto

  • heading_color: black, auto, navy, graphite, steel, ocean, forest, wine, brown, indigo

Args: language: CV language for section headers — en, pl, de, fr, or es.

Inputs: language. Returns: result

generate_docxA

Generate an ATS-optimized DOCX from CV data.

Takes a complete CV JSON object (same structure as generate_cv template). All required fields (personal, experience, education, skills) must be filled in.

Returns:

  • file: absolute path to the generated DOCX file (saved in system temp directory)

  • editor_url: URL to open in the browser (http://localhost:5000/?load=) where the user can preview their CV visually, adjust layout/colors, and download alternative formats. The link expires after 5 minutes.

Args: cv_data: Complete CV data dictionary with all sections filled in.

Inputs: cv_data (required). Returns: result

generate_pdfA

Generate an ATS-optimized PDF and provide a link to the visual editor.

Takes a complete CV JSON object (same structure as generate_cv template). All required fields (personal, experience, education, skills) must be filled in.

Returns:

  • ats_pdf: absolute path to the generated ATS PDF file (saved in system temp directory)

  • editor_url: URL to open in the browser (http://localhost:5000/?load=) where the user can preview their CV with full visual styling, customize colors/layout, and download a Pretty PDF version. The link expires after 5 minutes.

The ATS PDF is a clean, text-based document optimized for applicant tracking systems. For a visually styled PDF with colors, logos, and layout — direct the user to open the editor_url in their browser and click "Download Pretty PDF" there.

Args: cv_data: Complete CV data dictionary with all sections filled in.

Inputs: cv_data (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a distinct, non-overlapping purpose: setup initializes the backend, generate_cv creates a template, generate_docx produces a DOCX file, and generate_pdf produces a PDF file. The descriptions clearly differentiate their roles in the CV creation workflow, with no ambiguity about which tool to use for each step.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case: cv_forge_setup, generate_cv, generate_docx, and generate_pdf. The naming is predictable and readable, making it easy for an agent to understand the action each tool performs based on its name alone.

    Tool Count5/5

    With 4 tools, this server is well-scoped for its purpose of CV generation and formatting. Each tool earns its place by covering essential steps: setup, template creation, and output generation in two common formats. The count is neither too thin nor excessive for the domain.

    Completeness4/5

    The tool set covers the core CV creation workflow from setup to final output, with no obvious dead ends. A minor gap exists in the lack of tools for updating or deleting CV data, but agents can work around this by regenerating from scratch, and the domain focus on generation rather than management makes this acceptable.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers