Skip to main content
Glama

Set Resume

getmattered_set_resume
Destructive

Sets the base resume every application is tailored from, from exactly one source. A new upload uses AI tokens; a saved document does not. A local file path is not a URL. The resume is saved unchanged. In ChatGPT, resume_file takes a resume file the user attached. It replaces the user's current base resume; the old one stays in their documents.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "getmattered_set_resume"
  }
}

Input Schema

NameRequiredDescriptionDefault
resume_urlNoAn https link to the resume file: PDF, DOCX or plain text, up to 10 MB. Either this, resume_text or document_id.
document_idNoOne of the user's saved resumes to make the base (an id from getmattered_get_account). Free. Either this, resume_text or resume_url.
resume_fileNoA resume file the user attached in ChatGPT, as the file itself. GetMattered reads it once: PDF, DOCX or plain text, up to 10 MB.
resume_textNoThe user's resume text exactly as they gave it, word for word, with every date, employer, title and fact unchanged. Either this, resume_url or document_id.

Output Schema

NameRequiredDescriptionDefault
parsedYesFalse when the resume is still being read. getmattered_get_account shows when it is done.
sourceYes
fullNameYes
documentIdYesThe resume now used as the base for every application.
skillsCountYes
currentJobTitleYes
preferencesSeededYesTrue when empty job preferences were filled from this resume.
suggestedJobTitlesYes
onboardingCompletedYesTrue when the account setup is finished, so GetMattered searches for this user.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / resume_file / description
      Previous value: -"A resume file the user attached in ChatGPT, as the file itself rather than retyped text. Other clients use resume_text or resume_url. GetMattered reads it once: PDF, DOCX or plain text, up to 10 MB."New value: +"A resume file the user attached in ChatGPT, as the file itself. GetMattered reads it once: PDF, DOCX or plain text, up to 10 MB."
    • changedOutput schema / properties / parsed / description
      Previous value: -"False when the resume is still being read; call getmattered_get_account in a minute."New value: +"False when the resume is still being read. getmattered_get_account shows when it is done."
  2. Changed4 schema fields changed
    • changedInput schema / properties / document_id / description
      Previous value: -"One of the user's saved resumes to make the base (an id from getmattered_get_account). Free. Pass this OR resume_text OR resume_url."New value: +"One of the user's saved resumes to make the base (an id from getmattered_get_account). Free. Either this, resume_text or resume_url."
    • changedInput schema / properties / resume_file / description
      Previous value: -"Only for a resume file the user attached in ChatGPT: pass the attached file here, not retyped text. In any other client pass resume_text or resume_url. It is downloaded once, right away: PDF, DOCX or plain text, up to 10 MB."New value: +"A resume file the user attached in ChatGPT, as the file itself rather than retyped text. Other clients use resume_text or resume_url. GetMattered reads it once: PDF, DOCX or plain text, up to 10 MB."
    • changedInput schema / properties / resume_text / description
      Previous value: -"The user's resume text exactly as they gave it, word for word. Never change dates, employers, titles or any fact. Pass this OR resume_url OR document_id."New value: +"The user's resume text exactly as they gave it, word for word, with every date, employer, title and fact unchanged. Either this, resume_url or document_id."
    • changedInput schema / properties / resume_url / description
      Previous value: -"An https link to the resume file: PDF, DOCX or plain text, up to 10 MB. Pass this OR resume_text OR document_id."New value: +"An https link to the resume file: PDF, DOCX or plain text, up to 10 MB. Either this, resume_text or document_id."
  3. Changed2 schema fields changed
    • changedInput schema / properties / resume_file / description
      Previous value: -"In ChatGPT the user can attach a resume file; pass it as resume_file. It is downloaded once, right away: PDF, DOCX or plain text, up to 10 MB."New value: +"Only for a resume file the user attached in ChatGPT: pass the attached file here, not retyped text. In any other client pass resume_text or resume_url. It is downloaded once, right away: PDF, DOCX or plain text, up to 10 MB."
    • changedInput schema / properties / resume_text / description
      Previous value: -"The full text of the resume. Pass this OR resume_url OR document_id."New value: +"The user's resume text exactly as they gave it, word for word. Never change dates, employers, titles or any fact. Pass this OR resume_url OR document_id."
  4. First observed

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true. The description adds real value beyond that: the old resume stays in the user's documents, the resume is stored unchanged, and uploads cost tokens. Those points soften the destructive profile and are genuinely useful, but pagination/return behavior is left to the output schema.

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 key fact — one source only, replacing the current base resume — is front-loaded, and each sentence adds a distinct constraint. The fragmented sentence style is dense but efficient, with no filler.

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?

Given an output schema, full annotation coverage, and 100% schema description coverage, the description fills the remaining gaps: cost implications, the replacement effect on the previous base resume, the one-source rule, and the local-path caveat. Nothing essential for correct invocation 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 already 100%, so the baseline is 3. The description still adds meaning the schema does not: a local file path is not a URL, resume_file carries a ChatGPT-attached file, and exactly one source must be supplied. That goes beyond restating the schema.

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 states a specific verb and resource: setting the base resume that every application is tailored from, constrained to exactly one source. That is clearly distinct from siblings like create_resume_draft or optimize_resume, though no sibling is named explicitly.

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?

It implies usage context by noting that an upload costs AI tokens while a saved document is free, which hints at a preference for document_id when available. However, it never states when to choose getmattered_set_resume over getmattered_create_resume_draft or getmattered_optimize_resume, so routing guidance is only implied.

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.