Skip to main content
Glama

Update Job Preferences

getmattered_update_job_preferences
DestructiveIdempotent

Changes the job titles, locations and other preferences GetMattered searches for, then searches again. Lists replace what is saved; add_target_roles and add_locations add to it.

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_update_job_preferences"
  }
}

Input Schema

NameRequiredDescriptionDefault
pausedNoTrue pauses new matches for the user; false resumes them. It never changes auto-apply.
job_typesNoJob types to match: full_time, part_time, contract, internship, freelance, temporary. REPLACES the saved list.
locationsNoFull list of locations to search in. REPLACES the saved list. add_locations adds to the saved list and keeps it.
salary_maxNoHighest yearly salary to target, in salary_currency.
salary_minNoLowest yearly salary the user accepts, in salary_currency (e.g. 120000).
descriptionNoWhat the user wants, in their own words (e.g. "remote only, 120k+, senior, no crypto"). Fields passed explicitly win over it. Uses AI credits.
remote_onlyNoDeprecated name of include_remote, with the same meaning.
work_stylesNoWork styles to match: onsite, hybrid, remote. REPLACES the saved list.
target_rolesNoFull list of job titles to hunt for. REPLACES the saved list. add_target_roles adds to the saved list and keeps it.
add_locationsNoLocations to add to the saved list (e.g. "San Francisco, CA"). The saved locations stay.
include_remoteNoWhether remote jobs in the user's region are included alongside their locations.
salary_currencyNoCurrency of the salary band (default usd).
add_target_rolesNoJob titles to add to the saved list. The saved titles stay.
experience_levelsNoSeniority to match: intern, entry, junior, mid, senior, lead, executive. REPLACES the saved list.
exclude_industriesNoIndustries to never match (e.g. ["Crypto"]). REPLACES the saved list.
application_answersNoAnswers employer forms ask for, saved to the user's application profile: phone, city, state, zip_code, country, linkedin_url, work_authorization, willing_to_relocate, available_start_date, notice_period. Each holds a value the user stated, never a guess.
needs_visa_sponsorshipNoTrue when the user needs visa sponsorship to take the job.

Output Schema

NameRequiredDescriptionDefault
pausedYes
jobTypesYes
locationsYes
salaryMaxYes
salaryMinYes
workStylesYes
targetRolesYes
includeRemoteYes
salaryCurrencyYes
remoteWorldwideYes
visaSponsorshipYes
describedSummaryYesHow GetMattered understood `description`, when one was given.
experienceLevelsYes
excludeIndustriesYes
onboardingCompletedYesTrue when this call finished the account setup, so GetMattered starts searching for these roles.
applicationAnswersSavedYesThe application_answers fields written to the application profile.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / add_locations
      Added value: +{
      +  "description": "Locations to add to the saved list (e.g. \"San Francisco, CA\"). The saved locations stay.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / add_target_roles
      Added value: +{
      +  "description": "Job titles to add to the saved list. The saved titles stay.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / locations / description
      Previous value: -"Full list of locations to search in. REPLACES the saved list."New value: +"Full list of locations to search in. REPLACES the saved list. add_locations adds to the saved list and keeps it."
    • changedInput schema / properties / target_roles / description
      Previous value: -"Full list of job titles to hunt for. REPLACES the saved list."New value: +"Full list of job titles to hunt for. REPLACES the saved list. add_target_roles adds to the saved list and keeps it."
  2. Changed1 schema field changed
    • changedInput schema / properties / locations / description
      Previous value: -"Full list of preferred locations. REPLACES the saved list."New value: +"Full list of locations to search in. REPLACES the saved list."
  3. Changed3 schema fields changed
    • changedInput schema / properties / application_answers / description
      Previous value: -"Answers employer forms ask for, saved to the user's application profile: phone, city, state, zip_code, country, linkedin_url, work_authorization, willing_to_relocate, available_start_date, notice_period. Only values the user stated, never guesses."New value: +"Answers employer forms ask for, saved to the user's application profile: phone, city, state, zip_code, country, linkedin_url, work_authorization, willing_to_relocate, available_start_date, notice_period. Each holds a value the user stated, never a guess."
    • changedInput schema / properties / include_remote / description
      Previous value: -"Include remote jobs in the user's region alongside their locations."New value: +"Whether remote jobs in the user's region are included alongside their locations."
    • changedInput schema / properties / remote_only / description
      Previous value: -"Deprecated name of include_remote. Use include_remote."New value: +"Deprecated name of include_remote, with the same meaning."
  4. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and idempotentHint=true, so the risk profile is declared. The description nonetheless contributes real context beyond that: it spells out that whole lists are overwritten while the add_* parameters preserve saved values, and that a new search is triggered as a consequence of the update.

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?

Two short sentences with the primary action front-loaded and the replacement semantics immediately following. 'and other preferences' is the only vague filler, but the rest earns its place given the 17-parameter surface.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the description covers the main hazard (list replacement) plus the re-search side effect. It omits any mention that some inputs consume AI credits, though the schema field for description does note this.

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%, so the baseline is 3; every parameter, including the nested application_answers object, is already documented in the schema. The description's REPLACE vs add_* distinction largely restates what the schema fields already say, adding only a summary-level framing.

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?

States a specific verb and resource: changes the job titles, locations and other search preferences, then re-runs the search. The 'searches again' clause adds a concrete side effect. It does not distinguish itself from sibling mutation tools such as getmattered_update_saved_search or getmattered_update_application_profile, leaving the agent to infer the boundary.

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?

The description gives useful in-tool guidance on replace-vs-append behavior ('Lists replace what is saved; add_target_roles and add_locations add to it'), but never says when to pick this tool over update_saved_search or update_application_profile. Usage is implied rather than stated with exclusions.

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.