Skip to main content
Glama

NeverApply

Update your profile

update_profile
DestructiveIdempotent

Update only the career fields the member explicitly supplied. Omitted fields remain unchanged. Use ISO country codes for work statuses and citizenships; never infer a work status, residence or citizenship. The residence is one record: supply residence_country and residence_city together, with residence_state, residence_postal_code and residence_street_address when the member gives them (an omitted part keeps its stored value, null clears it; send them all when the member moved). Supply amount, period and currency together for salary. Sending mode does not grant this client permission to submit applications. Matching updates asynchronously.

Input Schema

NameRequiredDescriptionDefault
rolesNo
urgencyNo
languagesNo
locationsNo
work_modeNo
worldwideNo
top_skillsNo
remote_onlyNo
citizenshipsNoThe complete list of countries the member says they are a citizen of, as real ISO alpha-2 codes, primary first. An empty list means the member says they are stateless. Replaces the stored list.
remote_reachNo
sending_modeNo
work_statusesNoCountry ISO code to how the member says they can work there: permanent_resident, open_permit (any employer, no end date), open_permit_that_ends (needs a sponsor later: OPT, PGWP, a graduate visa), employer_tied (a new employer must sponsor: H-1B, Skilled Worker, an employment visa) or needs_sponsor. Only countries no citizenship of the member covers. Merges into the stored list.
residence_cityNo
experience_bandNo
residence_stateNoState or province; send with residence_country and residence_city.
residence_countryNoReal ISO alpha-2 country code; send with residence_city.
salary_floor_amountNoNull explicitly clears the salary floor.
salary_floor_periodNo
residence_postal_codeNoPostal or ZIP code; send with residence_country and residence_city.
salary_floor_currencyNoSupported ISO currency code.
location_country_codesNoLocation label to real ISO alpha-2 country code, e.g. {"London":"GB"}.
include_worldwide_remoteNo
residence_street_addressNoStreet line, for example 12 Baker Street; send with residence_country and residence_city.

Output Schema

NameRequiredDescriptionDefault
nextYes
profile_completenessYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / citizenships
      Added value: +{
      +  "description": "The complete list of countries the member says they are a citizen of, as real ISO alpha-2 codes, primary first. An empty list means the member says they are stateless. Replaces the stored list.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "maxItems": 10,
      +  "type": "array"
      +}
    • addedInput schema / properties / residence_postal_code
      Added value: +{
      +  "description": "Postal or ZIP code; send with residence_country and residence_city.",
      +  "maxLength": 20,
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / residence_state
      Added value: +{
      +  "description": "State or province; send with residence_country and residence_city.",
      +  "maxLength": 120,
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / residence_street_address
      Added value: +{
      +  "description": "Street line, for example 12 Baker Street; send with residence_country and residence_city.",
      +  "maxLength": 200,
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • removedInput schema / properties / visa
      Removed value: -{
      -  "description": "Country ISO code to the member’s exact answer: Citizen or resident, Have a permit, Need sponsorship later (can work now, needs a sponsor later), or Need sponsorship. Applies only to that country.",
      -  "type": "object"
      -}
    • addedInput schema / properties / work_statuses
      Added value: +{
      +  "description": "Country ISO code to how the member says they can work there: permanent_resident, open_permit (any employer, no end date), open_permit_that_ends (needs a sponsor later: OPT, PGWP, a graduate visa), employer_tied (a new employer must sponsor: H-1B, Skilled Worker, an employment visa) or needs_sponsor. Only countries no citizenship of the member covers. Merges into the stored list.",
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Given annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, the description still adds substantial meaning: partial-update semantics (omitted fields keep old values, explicit null clears), the grouping rule for the residence record and salary, and the side effect that 'matching updates asynchronously'. These are exactly the traits an agent needs to act safely, though the destructive scope is implied rather than spelled out in full.

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?

The text is dense but front-loaded with the single most important constraint (only explicitly supplied fields, omitted unchanged). Sentences are packed but each carries a rule. Minor deduction for the trailing 'Matching updates asynchronously

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 23-parameter update tool with clustered nullable fields, the description covers the fetch-and-merge pattern, the partial-update contract, and the clearing semantics that would otherwise cause data loss. The remaining gap of the schema fields is minor; the definition is complete enough for an agent to act without guessing.

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 23 parameters at 39% schema description coverage, the description carries a large semantic burden and delivers on the hardest cases: ISO codes, paired residence fields, salary triple, work_statuses merge behavior, cititzenships replace behavior. Some fields (urgency, world_mode, top_topics, experience_level) remain undefined, but the high-risk ones are explained with meaning not present in the schema.

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?

The opening sentence names a specific verb (update) and resource (the member's profile), and narrows the scope to 'only the career fields the member explicitly supplied'. An agent can distinguish this from the read-only sibling get_profile by the verb alone, though the description never names that sibling explicitly to route between them.

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

Usage Guidelines4/5

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

Offers unusually concrete usage conditions: only fields the member explicitly supplied, omit fields that shouldn't change, never infer work status, residence or citizenship, and the notable exclusion that 'sending mode does not grant this client permission to submit applications'. The only gap is it never names the alternatives (e.g. update vs. the screening/application flow) by name.

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.

Resources