Skip to main content
Glama
18boys

matchcv-mcp

by 18boys

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation4/5

    Most tools map to a distinct pipeline stage: extract, analyze, optimize, tailor. ats_check and roast_resume overlap somewhat since both return ATS scores and recruiter feedback, but their descriptions clearly separate polite actionable feedback from a candid shareable roast, and optimize_resume vs tailor_resume are differentiated by suggestion-level vs full rewrite.

    Naming Consistency4/5

    All tool names use lowercase snake_case and mostly follow an imperative verb_noun pattern: analyze_job_description, optimize_resume, extract_resume_text, tailor_resume. ats_check is the only deviation, reading more like a noun phrase than check_ats, but the overall naming remains predictable and readable.

    Tool Count5/5

    Six tools is a well-scoped size for a resume/CV assistant, covering input extraction, job description parsing, ATS feedback, optimization, roasting, and full tailoring. Each tool has a clear role in the workflow, and there is no sense of bloat or excessive granularity.

    Completeness5/5

    The tool surface covers the core resume workflow end to end: extract text, parse job descriptions, diagnose ATS issues, suggest improvements, and generate a fully tailored resume with a preview link. There are no obvious dead ends, and the descriptions include appropriate guidance for handling limitations such as scanned PDFs or AI credit usage.

  • Average 4.3/5 across 6 of 6 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • 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.json to 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

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the full burden for behavioral context. It discloses the output type (shareable public report URL) and the tone of the feedback, but does not mention side effects such as external processing, data retention, or privacy implications of producing a public link.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three concise sentences with no waste. The main action and output are front-loaded, and the usage guidance is placed at the end effectively.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with only two parameters, one required, the description covers the purpose, output contents, and returned artifact (public shareable URL). Since there is no output schema, the description sufficiently explains what the caller will receive, though privacy details remain implicit.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already fully explains resumeText and jobTitle. The description adds no additional parameter context, but the baseline 3 applies because the schema does the heavy lifting.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description identifies a specific verb and resource ('Run the MatchCV resume roast') and clarifies what it produces: a blunt recruiter reaction and an ATS score. It does not explicitly name a sibling tool, but the candid-versus-polite phrasing helps distinguish it from more diplomatic resume tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The final sentence gives an explicit usage condition: use this tool when the user wants candid feedback rather than a polite checklist. It does not name alternative tools or state when not to use it, so it stays one level below the strongest guidance.

    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 the burden of disclosing behavior. It clearly states the transformation that occurs and enumerates the extracted fields, which effectively sets expectations for what the tool returns. It does not mention edge-case behaviors like handling malformed or very short text, but those are relatively minor gaps.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two sentences with no filler. The main parsing behavior and output fields are front-loaded, and the downstream usage is included as a useful secondary note without bloating the entry.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a single-parameter tool with no output schema and no annotations, the description provides a solid set of expected output fields and a suggested follow-up action. It is sufficiently complete for an agent to call the tool correctly, though an explicit mention of the input format beyond 'full job description text' would make it fully self-contained.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema covers the single parameter jdText with a clear description ('The full job description text.'), so schema coverage is 100%. The description adds minimal additional parameter meaning beyond calling it a job posting, which is already implied by the tool name and schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Parse') and identifies the resource ('a job posting') and the structured output fields. It clearly distinguishes the tool from siblings like extract_resume_text by focusing on job descriptions and structured 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/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides clear context: use this tool when a job posting needs to be converted into structured data. It also names a downstream tool, optimize_resume, giving the agent a next-step suggestion. However, it does not explicitly state when not to use this tool or compare it with other siblings.

    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?

    With no annotations, the description carries full behavioral disclosure burden. It covers the process, return values, and cost implications. Could add more on persistence or side effects, but this is a generation tool and the main behaviors are disclosed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three tightly packed sentences: purpose, outputs, and usage caveat. No fluff, and the heaviest-tool warning is placed at the end, allowing the front-load to establish what the tool does.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given no output schema, the description appropriately explains return values (JSON, ATS score, preview link). It lacks a note on prerequisite steps like using extract_resume_text first, but the required param makes that obvious and the use-case is fully described.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the baseline is 3. The description underscores that resumeText and jdText feed the analysis/rewrite, but adds nothing about templateId or targetLanguage beyond the schema. Acceptable, but not additive.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    States a specific action (full pipeline: analyze, structure, rewrite) with concrete outcomes, distinguishing it from siblings like analyze_job_description or ats_check. Clearly positions this as the complete tailoring tool.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Gives clear context: run once the user has settled on a target job, and warns it is the heaviest tool due to credit usage. Does not explicitly list alternatives or when not to use it, but the timing guidance is strong.

    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?

    With no annotations provided, the description carries the full burden. It states what the tool returns (four categories of output) and implies a qualitative analysis. It does not disclose performance characteristics, rate limits, or whether the score is deterministic, but for an analysis tool returning a response these gaps are minor; the return contract is clearly described.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three sentences, front-loaded with the action and outputs, followed by concrete use cases. Every sentence earns its place; no fluff or repetition of schema details.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a single-parameter analysis tool with complete schema coverage, the description covers purpose, use cases, and return contract. It does not describe the output structure beyond the contents, but with no output schema provided, an agent would need to infer format; the score appears to be a number while the issues and strengths are presumably lists. A brief format hint would push this to 5, but the current description is workable.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already documents the single parameter. The description adds context that the resume text should be plain text, and the parameter description goes further, advising to use extract_resume_text first if only a file is available. This is above the baseline of 3 for full schema coverage.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Score') and resource ('resume text for applicant tracking system'). It specifies the exact output: a 0-100 score, a recruiter take, prioritized issues with concrete fixes, and detected strengths. It is distinguishable from siblings like extract_resume_text (which appears to be a text extraction step) because it is an analysis of ATS compatibility rather than an extraction.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives explicit use cases: 'Use for is my resume ATS friendly, why am I not getting interviews, or before tailoring to a specific job.' It does not explicitly name alternative tools or say when not to use them, but the use cases and the sibling extract_resume_text's purpose (referenced in the parameter description) imply the 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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals that text extraction is unlimited, that structured parsing consumes a daily AI credit, and that scanned PDFs will fail. This is useful and non-obvious behavioral context beyond what the schema offers. It could go further by mentioning file-not-found or permission errors, but the key failure mode is surfaced.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three sentences, each earning its place: the first states the core functionality, the second explains the cost trade-off of the optional parameter, the third warns about the key failure case. It is front-loaded and free of filler.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with no output schema and no annotations, the description covers the essential call contract: input formats, parameter behavior, cost implications, and a known failure mode. It doesn't specify the exact plain-text return shape, but that is inherently obvious, and the structured JSON fields are listed. Minor gaps like missing-file errors are acceptable.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already documents both parameters. The description adds meaningful extra semantics by explaining the cost/credit implication of structured=true and reinforcing that it is optional and defaults to false. This goes beyond the schema's basic description.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific action ('Read a local PDF/DOC/DOCX/TXT resume'), the resource (local resume file), and the return value (plain text, optionally structured JSON). This distinguishes it clearly from sibling tools like ats_check or optimize_resume, which operate on extracted text rather than producing it.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives clear guidance on when to set structured=true (only when the structured form is needed, since it costs a daily AI credit) and warns that scanned/image-only PDFs will fail, instructing the agent to ask the user to paste text instead. It does not explicitly name alternatives, but the use cases are clear enough for an agent to route correctly.

    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?

    With no annotations, the description carries the full behavioral burden. It discloses the output shape ('Each suggestion has a type, priority, tip, and an example rewrite'), prioritization, and that it returns suggestions rather than modifying the resume. It doesn't mention limits or potential errors, but the core behavior is well covered.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences with no filler. The core purpose is front-loaded, and the cross-tool integration instruction is concise and actionable.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Despite no output schema, the description explains the return value structure. The input parameters are fully covered by the schema, and the description adds the only missing context: how to source optional keyword parameters. Nothing an agent needs to call this correctly is missing.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantic value beyond the schema by explaining that missingMustHave / missingNiceToHave come from analyze_job_description and should be passed to close keyword gaps, clarifying the purpose and origin of those parameters.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb and resource ('Return prioritized, rewrite-level suggestions for a resume') and clarifies optional role-targeting, which distinguishes it from sibling tools like analyze_job_description (analysis), tailor_resume (actual rewriting), and roast_resume (critique).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives clear context for optional inputs ('optionally aimed at a specific role or job description') and explicitly instructs to pass missingMustHave / missingNiceToHave from analyze_job_description to close keyword gaps. It does not explicitly name alternatives or exclusion conditions, but the cross-tool integration guidance is strong.

    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

matchcv-mcp MCP server

Copy to your README.md:

Score Badge

matchcv-mcp MCP server

Copy to your README.md:

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/18boys/matchcv-mcp'

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