Skip to main content
Glama

Read a resume

get_resume
Read-only

Get a specific resume by id, including all 12 editable sections (full_name, title, contacts, summary, experience, education, skills, projects, languages, interests, publications, references) plus the current visual style. Sections use the exact shapes and field names update_resume_section accepts, and every list entry carries an 'id' to echo back in edits. Returns 'not_found' if the resume does not exist or does not belong to the current user.

Input Schema

NameRequiredDescriptionDefault
inputYes

Output Schema

NameRequiredDescriptionDefault
idYes
undoNoSet only by an edit that changed something: the versions around it.
styleNoCurrent visual style. Read-only here; change via set_resume_style.
titleNoProfessional title/headline (section: title).
skillsNo
summaryNo
contactsNo
languageNoLocale code the resume content is written in, e.g. en_EN. Not the spoken languages list.
projectsNo
educationNo
full_nameNoPerson's full name (section: full_name).
interestsNo
languagesNo
experienceNo
referencesNo
updated_atNo
resume_nameYesDocument name shown in list_resumes; change it via rename_resume, not update_resume_section.
publicationsNo
content_versionNoContent version of this read: a hash of the content, so equal content gives an equal version, also across copies. Entry ids belong to it; update_resume_section takes it as expected_content_version and answers 'resume_changed' once the resume has changed since.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral detail: the exact structure returned, the presence of 'id' fields for edits, the not_found condition, and the ownership constraint ('does not belong to the current user'). This goes beyond what annotations alone provide.

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

Conciseness4/5

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

The description is front-loaded with the core action and return structure, then adds useful context about edit compatibility and error handling. It is a bit dense but every sentence adds value. Could be slightly more concise, but no wasted words.

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 that an output schema exists, the description needn't detail return values, but it helpfully summarizes them. It covers the ownership constraint and not_found behavior. However, it does not mention any potential pagination or size limits, and the parameter semantics are thin. Overall, it is complete enough for a read tool with annotations and output schema.

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 coverage is 0%, so the description must compensate. It does mention that the resume is identified by id and that sections use field names accepted by update_resume_section, but it doesn't explain the format or constraints of the resume_id parameter itself beyond what the schema title implies. The schema provides the field name 'resume_id' with a description, but coverage is low. Baseline 3 is appropriate given the description partially compensates by linking to other tools.

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 clearly states it retrieves a specific resume by id and enumerates exactly what is returned (12 sections plus style). It distinguishes itself from siblings like list_resumes and get_resume_revision through the scope and detail of the return payload. However, it doesn't explicitly contrast with get_resume_history or get_resume_pdf_url, leaving minor ambiguity.

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

Usage Guidelines3/5

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

Usage is implied (call this when you need the full resume by id), but there is no explicit when-to-use versus alternatives like list_resumes or get_resume_revision. The description mentions the not_found return condition, which gives some context, but no exclusion guidance.

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.