Skip to main content
Glama

Apply resume suggestions for a job

apply_vacancy_resume_suggestions

Apply resume-improvement suggestions from a vacancy analysis. indices (into the vacancy's resume_suggestions list from get_vacancy_detail) pick which to apply; omitted applies all except the questions without a fact and the suggestions whose last apply changed nothing (unchanged_suggestion_indices). target='copy' rewrites an inactive tailored copy linked to this vacancy (reused when it exists, otherwise duplicated from the active resume — consumes one resume generation, 'limit_exceeded' on quota); target='current' rewrites the active resume. Without target it goes where the Tailoring tab defaults: the copy when one exists or a resume generation is left, otherwise the active resume; copy_created and resume_id in the output say which. Runs asynchronously — returns a task_id and the target resume_id; each applied suggestion saves a new resume version; get_task_status(task_id) reports progress and the outcome, with unchanged_count for suggestions that changed nothing because the resume states nothing they build on. A suggestion whose kind is 'needs_fact' is a question to the user: it applies only with their own answer in facts. Returns 'not_found' if the vacancy does not belong to the current user, 'invalid_payload' if there are no suggestions, an index is out of range, a fact is too long or nothing is left to apply, 'fact_required' if a 'needs_fact' index has no fact.

Input Schema

NameRequiredDescriptionDefault
inputYes

Output Schema

NameRequiredDescriptionDefault
statusNoAlways 'processing' — the job runs asynchronously.processing
task_idYesBackground task id (informational; get_vacancy_detail shows progress).
resume_idNoId of the resume the suggestions are being applied to.
vacancy_idYesId of the vacancy analysis the task operates on.
copy_createdNoTrue when a new tailored copy was created for this call (target='copy').

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Adds extensive behavior beyond annotations: runs asynchronously returning a task_id, each applied suggestion creates a resume version, quota consumption with 'limit_exceeded', and explicit error codes ('not_found', 'invalid_payload', 'fact_required'). Notifications of what gets skipped and unchanged_count enrich this further.

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?

Front-loaded with purpose and indices/target semantics, but dense — a nearly continuous paragraph with nested parentheticals. Every sentence is relevant, though the density slightly harms scanability.

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?

Even though an output schema exists, the description explains the async task model, task_id/resume_id/copy_created returns, and how to poll via get_task_status. Nothing an agent needs to call or follow up correctly is missing.

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

Parameters5/5

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

Description adds real meaning beyond schema: indices selection logic, what omitted indices skip, where target defaults (Tailoring tab default), and the conditions for fact_required vs skip. The default-target resolution rule is a genuinely valuable clarification not present in 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+resource: 'Apply resume-improvement suggestions from a vacancy analysis,' with the indices indexed from the vacancy's resume_suggestions list. Clearly distinguishable from siblings like get_resume_suggestions and request_vacancy_resume_suggestions.

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

Usage Guidelines5/5

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

Explains when to omit indices (applies all except fact-less questions and no-op suggestions), what target='copy' vs 'current' mean, what the default target does, and that 'needs_fact' suggestions require the user's own answer. Rival siblings and selection conditions are explicit.

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.