Skip to main content
Glama

Get or save the user's answers

freeapply_user_answers
DestructiveIdempotent

Retrieves and saves the user's own answers to specific job application questions so later forms can reuse them instead of guessing.

Instructions

Gets or saves the user's own answers to application questions, so you never guess one. Unlike freeapply_get_settings (the user's general details) it holds answers to specific form questions, and unlike freeapply_update_job status needs_info it asks the user nothing new. Use get before retrying a job the user re-queued from the Needs you tab, and save when the user answers a question in this conversation, so later forms can reuse it. Save only the user's own words: saved answers count as facts in freeapply_check_text. Behavior: get is read-only. save replaces an answer saved under the same question; an empty answer removes it. Parameters: action get needs job_id. action save needs label, the question as forms word it (e.g. "Are you willing to relocate?"), and answer, the user's words. Returns: get {job_id, answers, saved_answers}: answers are the {label, answer} pairs the user gave for that job (empty when none), saved_answers maps questions to reusable answers. save {label, saved, removed, saved_answers}. Errors: get without job_id or with an unknown one, save without label, or another action.

Input Schema

NameRequiredDescriptionDefault
labelNoFor save: the question, worded as forms ask it, e.g. "Are you willing to relocate?".
actionYesget a job's answers, or save one reusable answer.
answerNoFor save: the user's answer in their own words; empty to remove a saved answer.
job_idNoFor get: the job whose answers you need.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.2

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare destructiveHint=true but say nothing about what is destroyed; the description fills that gap by stating that save replaces an answer under the same question and that an empty answer removes it, plus that get is read-only. It also warns that saved answers count as facts in freeapply_check_text, which is non-obvious downstream behavior.

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 sibling contrast, then organized under Behavior, Parameters, Returns and Errors headings, which makes it easy to scan. It is longer than strictly necessary because the Parameters section restates schema content, but nearly every sentence carries information.

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?

With no output schema, the description supplies return shapes for both actions (answers vs saved_answers for get, label/saved/removed for save) and enumerates error conditions. For a dual-action tool with conditional parameters, nothing an agent needs in order to call it correctly is missing.

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% and the schema already documents each parameter including the label example, so the description's 'Parameters:' recap is largely duplicative. It adds only marginal semantics, namely that the answer should be 'the user's own words' and that an empty answer is the removal mechanism.

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 opens with a specific verb pair and resource ('Gets or saves the user's own answers to application questions') and explicitly contrasts itself with freeapply_get_settings (general details) and freeapply_update_job status needs_info, so an agent can distinguish it from siblings without opening either schema.

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?

It gives concrete triggers: use get before retrying a job the user re-queued from the Needs you tab, and save when the user answers a question in this conversation. It also names the two nearest alternatives and states what differs, which is exactly the when/when-not/alternatives pattern.

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