Skip to main content
Glama

generate_cv

Create a structured CV template in JSON format for professional resume generation. This tool helps organize personal information, work experience, education, and skills into a standardized template.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
languageNoen

Implementation Reference

  • The generate_cv tool implementation. It returns a CV JSON template populated with the requested language, incorporating detailed docstring instructions for the AI on how to structure the CV data before generating it.
    def generate_cv(language: str = "en") -> str:
        """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.
        """
        template = json.loads(json.dumps(TEMPLATE))
        template["cv_language"] = language
        return json.dumps(template, indent=2)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Guid-Lab/cv-forge-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server