cv-forge-mcp
Server Quality Checklist
Latest release: v1.3.0
- 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/5All 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/5With 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/5The 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.
Average 4.4/5 across 4 of 4 tools scored. Lowest: 3.7/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and discloses substantial behavioral context: files are saved to the system temp directory, the editor_url expires after 5 minutes, the ATS PDF is text-based for ATS compatibility, and the Pretty PDF requires browser interaction. It details the return values (absolute path and URL format) that would otherwise be unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections for purpose, input requirements, return values, and Args. The length is justified by the complexity (dual outputs, file locations, expiration timing). Every sentence adds necessary context, though the Args section slightly repeats information provided earlier in the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and 0% schema coverage, the description adequately compensates by detailing the return values (ats_pdf path and editor_url), file locations, URL expiration, and the distinction between ATS and visual PDF outputs. It successfully explains what the tool produces without needing to reference an external output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate entirely. It identifies cv_data as a 'Complete CV data dictionary' and references the generate_cv template structure, listing the four required top-level sections (personal, experience, education, skills). However, it does not detail the nested object schemas or data types within those sections, leaving significant semantic gaps given the freeform nature of the parameter (additionalProperties: true).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates an 'ATS-optimized PDF' and provides a visual editor link, using specific verbs and resources. It distinguishes between the ATS PDF (text-based) and Pretty PDF (visually styled) outputs. However, it does not explicitly differentiate from sibling tool generate_docx (which presumably outputs Word documents rather than PDFs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear prerequisites (complete CV JSON with personal, experience, education, skills fields filled) and references the generate_cv template structure. It explains the workflow (get ATS PDF immediately vs. use editor_url for styled PDF). However, it lacks explicit guidance on when to choose this over generate_docx or the relationship to cv_forge_setup in the broader workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full disclosure burden. It comprehensively explains behavioral constraints: URLs must be official websites, date format is 'Month YYYY', contact values must not use mailto/tel prefixes, and language level keys must use specific values. Explains that the returned template requires AI population before use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with critical workflow instructions, but the extensive 'Template field reference' section (covering dates, employer_groups, bullets, contact types, themes, etc.) makes it quite verbose. While the semantic constraints add value beyond what a schema typically provides, the length approaches over-documentation for a single-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of CV generation and the presence of an output schema, the description provides sufficient context: it explains the empty-template behavior, the pre-call data gathering requirement, and detailed field semantics. It appropriately focuses on how to populate the template rather than repeating output schema structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage for the single 'language' parameter. The description fully compensates by documenting: 'CV language for section headers — en, pl, de, fr, or es', adding both purpose and valid enum values absent from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool 'Return an empty CV JSON template for the AI to fill in' — specific verb (Return), resource (CV JSON template), and scope (empty, for AI to fill). It clearly distinguishes this data/template generation step from sibling tools like generate_docx/pdf which likely render the final document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit workflow guidance: 'Before calling this tool, gather the user's information first' and lists required sections to collect. Includes explicit prohibitions: 'Do NOT generate a CV with placeholder or empty fields.' Clearly defines prerequisites and when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It reveals the file is saved to 'system temp directory,' describes the interactive editor capabilities including layout/color adjustments, and discloses the critical 5-minute expiration on the URL. This comprehensive coverage includes side effects (temporary file creation) and resource constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses an efficient structure with clear sections for purpose, input requirements, return values, and arguments. While slightly redundant in mentioning cv_data requirements twice (prose and Args section), each sentence conveys specific information without excessive verbosity. The format earns its length by documenting complex output behavior including expiration semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a file generation tool with nested object inputs, the description provides comprehensive coverage including input validation rules, output file location (temp directory), and interactive features (editor URL with token). It adequately prepares the agent for both successful invocation and handling of returned resources including the time-limited browser interface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage for the cv_data object, the description compensates effectively by documenting required sections (personal, experience, education, skills) and referencing the generate_cv template structure. It clarifies that additionalProperties are accepted through 'Complete CV data dictionary' while emphasizing completeness requirements, successfully bridging the schema documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Generate an ATS-optimized DOCX from CV data,' providing a specific verb, resource format, and optimization criteria. It distinguishes itself from sibling tools by referencing the generate_cv template structure, clarifying data expectations. The scope is precisely bounded to DOCX generation with ATS formatting requirements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies clear prerequisites ('All required fields... must be filled in') and input requirements ('complete CV JSON object'). While it references generate_cv for structural guidance, it lacks explicit guidance on when to select this over generate_pdf or generate_cv. The temporal constraint (5-minute link expiration) adds important usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full disclosure burden. Rich behavioral details: environment detection, Docker image size (~1.7 GB), hosted demo URL (cv.guidlab.pl), auto-detection logic, and interactive user-prompting behavior for mode selection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with critical prerequisite front-loaded. Clear separation of mode explanations. Slightly verbose in describing auto-mode interaction logic, but all sentences provide actionable value. 'Args:' section effectively bridges schema gap.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Single-parameter tool with output schema present (so return values need no description). Despite 0% schema coverage and no annotations, description fully explains the setup workflow, environment requirements, and sibling dependencies. Complete for tool complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. Description compensates by documenting all valid enum values ('local', 'remote', 'auto'), their meanings, and noting the default. Could explicitly state the parameter is optional (implied by 'default' mention but not explicit).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clear specific verb ('Set up') + resource ('CV Forge backend'). Explicitly distinguishes from sibling generation tools by stating 'MUST be called before generate_pdf or generate_docx', establishing the prerequisite relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit prerequisite declaration ('MUST be called before...'). Clear when-to-use guidance for each mode: local requires Docker, remote needs no install, auto detects availability. Explains interactive behavior for 'auto' mode (present options to user).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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