Skip to main content
Glama

Parse a resume

parse_resume

Parse a resume or CV into typed JSON: name, contact details, every role with normalised dates, education, skills, certifications and languages. Give EITHER file_base64 holding a PDF, DOCX, JPEG, PNG or WebP file encoded as base64 (scans and photos work), OR text holding the resume as plain text. A field the CV does not state comes back null.

Input Schema

NameRequiredDescriptionDefault
textNoThe resume as plain text, when there is no file.
file_base64NoThe resume file, base64-encoded.
output_languageNoOptional. Write extracted text values in this language, e.g. "French" or "pt-BR". Omit to keep the CV's own language.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It does useful work by disclosing supported formats (PDF, DOCX, JPEG, PNG, WebP) and the null-field convention for absent data, but says nothing about size limits, multi-page limits, failure modes on unreadable scans, or whether parsing is synchronous. Adequate but incomplete for a zero-annotation tool.

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, zero filler: output shape first, input modes second, edge-case behavior third. Front-loaded with the result the agent gets, which is the most decision-relevant fact.

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

Completeness3/5

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

There is no output schema, so the description is the only source of return-value information — the field list helps but does not describe JSON structure (e.g. roles as an array of objects). More importantly, with zero required parameters, the description never states that at least one of `file_base64` or `text` must be provided.

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 baseline is 3, and the description earns one more by constraining the base64 parameter to five specific formats and clarifying that images are acceptable. It does not mention `output_language` at all, leaving the language-override behavior entirely to the 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?

States a specific verb and resource ("Parse a resume or CV into typed JSON") and enumerates the extracted fields (name, contact details, roles with normalised dates, education, skills, certifications, languages). An agent knows exactly what the tool produces without opening the schema. No siblings exist, so no differentiation is needed.

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 "EITHER `file_base64` ... OR `text`" phrasing clearly routes between the two input modes, and "scans and photos work" tells the agent not to pre-OCR. It stops short of saying what happens if both are supplied or if neither is — a real gap given required parameters is 0.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources