Skip to main content
Glama

freehire

Save screening answers

screening_answers_set
Destructive

Record the candidate's own answer to one or more of the six screening questions that repeat across job-application forms: which countries they are authorized to work in, whether they need visa sponsorship, their desired salary, their notice period, whether they are willing to relocate, and whether they are 18 or older. Call this the moment the candidate states one of these facts, so it is available to fill their next application form. Only pass fields the candidate actually stated — never guess or infer one. A field you leave out keeps whatever was already recorded; it is not cleared. To withdraw an answer — the candidate says it no longer holds, or they no longer want it given to employers — name it in clear; auto-apply then asks them instead of answering. privacy_consent is a permission, not a fact: set it only when the candidate says, in so many words, that they agree to employers' privacy and personal-data terms being accepted for them on every application.

Input Schema

NameRequiredDescriptionDefault
clearNoAnswers to withdraw back to unstated, by field name. Never name a field you also set.
age_18_or_olderNoWhether the candidate is 18 years of age or older.
privacy_consentNoWhether the candidate agrees to the privacy / personal-data processing terms an employer's form requires being accepted for them. Ticks only that condition of applying — never a marketing, future-openings, SMS or diversity opt-in.
notice_period_daysNoHow many days' notice the candidate must give their current employer.
willing_to_relocateNoWhether the candidate is willing to relocate for a role.
authorized_countriesNoCountries the candidate is authorized to work in, as names or codes (e.g. "Germany", "US").
desired_salary_amountNoThe candidate's stated desired salary figure.
desired_salary_periodNoThe period the desired salary figure is stated over.
desired_salary_currencyNoThe three-letter ISO 4217 currency of the desired salary (e.g. "USD", "EUR").
visa_sponsorship_neededNoWhether the candidate needs an employer to sponsor a work visa.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructiveHint=true and non-idempotent, and the description adds genuinely non-obvious behavior beyond them: omitted fields retain prior values rather than being cleared, and 'clear' must not overlap with fields being set. It also separates privacy_consent as a permission rather than a fact, which prevents a likely mis-write; nothing contradicts the annotations.

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, then timing, then write semantics, then the consent special case — a logical progression. The first sentence is long and enumerative but every clause carries information; a small amount of repetition around 'never guess or infer' could be trimmed.

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?

For a 10-parameter, all-optional mutation tool with no output schema, the description covers exactly what an agent could get wrong: partial-update behavior, withdrawal semantics, and the consent exception. Nothing essential to calling it correctly 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 100%, so the baseline is 3, but the description adds real semantic framing: the fields represent facts the candidate stated aloud, 'clear' means revert to unstated, and privacy_consent is scoped to employer privacy terms only. It does not restate enum or format details, which is correct since the schema carries them.

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?

Names a specific verb (record) and resource (the candidate's screening answers), then enumerates the six distinct facts covered, making the scope concrete. It is clearly a write counterpart to screening_answers_get in the sibling list, so an agent can route between them 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?

Timing is explicit: 'Call this the moment the candidate states one of these facts,' with the downstream reason given (so it can fill the next form). It also states a negative rule — never guess or infer — and covers the withdraw path via 'clear' including the two triggering situations.

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.