Skip to main content
Glama

Read or Update the Application Profile

getmattered_update_application_profile
DestructiveIdempotent

Read or update the user's application profile: the answers GetMattered types into employer forms. It covers contact details and links, work authorization, relocation, start date, notice period, education, the legal declarations, and the voluntary self-identification (EEO) answers. Call it with no fields to read the profile and the open questions: required fields that are empty, and details recent applications had to guess because the user never gave them. Pass fields to save them; only the passed fields change, and null clears one. Save only answers the user gave you, never guesses. The EEO answers (gender, ethnicity, veteran_status, disability_status, sexual_orientation, pronouns) are optional and sensitive: they are used only to answer the voluntary self-identification questions on employer forms, and each one accepts prefer_not_to_say to decline. Nothing is sent to any employer and nothing is spent. Do not use it to change which jobs the user is matched with; use getmattered_update_job_preferences. Next: getmattered_get_matches or getmattered_apply.

Input Schema

NameRequiredDescriptionDefault
cityNoCity.
phoneNoPhone number, as the user gave it, for example +1 555 123 4567.
stateNoState, province or region.
genderNoOptional and sensitive. Gender, for the voluntary self-identification questions on employer forms. prefer_not_to_say declines to answer.
countryNoCountry.
pronounsNoOptional and sensitive. Pronouns in the user's own words, for example she/her. Never infer them.
zip_codeNoZIP or postal code.
ethnicityNoOptional and sensitive. Ethnicity, for the voluntary self-identification questions on employer forms. prefer_not_to_say declines to answer.
github_urlNoGitHub profile URL.
linkedin_urlNoLinkedIn profile URL.
address_line1NoStreet address, line 1.
address_line2NoStreet address, line 2, such as an apartment or suite.
date_of_birthNoDate of birth as YYYY-MM-DD. Only when the user gives it; few employer forms ask for it.
notice_periodNoNotice period before the user can start.
portfolio_urlNoPortfolio or personal website URL.
veteran_statusNoOptional and sensitive. Veteran status, for the voluntary self-identification questions on employer forms. prefer_not_to_say declines to answer.
current_employerNoCurrent employer.
disability_statusNoOptional and sensitive. Disability status, for the voluntary self-identification questions on employer forms. prefer_not_to_say declines to answer.
highest_educationNoHighest education level completed.
personal_narrativeNoA short note, up to 500 characters, on career gaps, changes or short stints. Used for interview preparation.
security_clearanceNoSecurity clearance level. prefer_not_to_say declines to answer.
sexual_orientationNoOptional and sensitive. Sexual orientation, for the voluntary self-identification questions on employer forms. prefer_not_to_say declines to answer.
travel_willingnessNoHow much work travel the user accepts.
work_authorizationNoWork authorization status.
willing_to_relocateNoWhether the user is willing to relocate for a job.
years_of_experienceNoTotal years of professional experience.
available_start_dateNoEarliest start date as YYYY-MM-DD.
relocation_locationsNoPlaces the user would relocate to, as "City, Country" or "Country".
criminal_record_statusNoWhether the user has a conviction they are legally required to disclose. prefer_not_to_say declines to answer.
background_check_consentNoWhether the user consents to a background check where a role requires one. prefer_not_to_say declines to answer.
export_control_us_personNoWhether the user is a U.S. person for export-control (ITAR or EAR) purposes. prefer_not_to_say declines to answer.
related_to_employee_statusNoWhether the user is related to an employee of a company they apply to. prefer_not_to_say declines to answer.
restrictive_covenant_statusNoWhether the user is bound by a non-compete or non-solicit agreement with a former employer. prefer_not_to_say declines to answer.

Output Schema

NameRequiredDescriptionDefault
changedYesThe input fields this call saved. Empty when it only read.
profileYesThe saved answers employer forms are filled from, after this call. Field names are the API's camelCase twins of the inputs.
openQuestionsYesDetails GetMattered guessed because the user never gave them. Null when they could not be read.
missingRequiredForApplyYesFields employer forms require that are still empty. Ask the user; never guess.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior4/5

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

Adds real behavioral detail beyond annotations: partial-update semantics ('only the passed fields change'), that null clears a field, the read mode returns empty-required-fields and previously-guessed details, that EEO values are optional/sensitive and used only for voluntary self-ID, and that nothing is sent to employers. The destructiveHint=true annotation is largely covered by the explicit 'null clears one' note, though it never states a field overwrite cannot be undone.

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-loads the read/update contract and modes before the safety caveats and the sibling hand-off, so the call-critical information comes first. It is dense across ~10 sentences; the EEO enumeration and 'nothing is spent' sentence could be tightened, but no sentence is pure 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?

For a 33-parameter mutation tool with an output schema, the description supplies what structured fields cannot: the read/write mode contract, partial-update and clear semantics, an explicit no-guessing rule, sensitivity handling for EEO fields, and routing to the correct preference tool. An agent has everything needed to invoke it safely.

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?

With 100% schema description coverage the baseline is 3, but the description adds meaningful semantics the schema lacks: null clears a field, only passed fields mutate, and EEO fields accept prefer_not_to_say to decline. It also enforces the source rule 'save only answers the user gave you, never guesses', which governs every parameter.

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 pair (read/update) and the exact resource (the application profile: contact details, work authorization, education, legal declarations, EEO answers). It immediately distinguishes itself from the look-alike sibling by naming getmattered_update_job_preferences as the wrong tool for matching preferences.

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?

Gives explicit mode selection: call with no fields to read profile plus open questions, pass fields to save. It names the exclusion (job preferences → getmattered_update_job_preferences) and the follow-on tools (getmattered_get_matches, getmattered_apply).

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.