Skip to main content
Glama

searchnapply

Update a job monitor

monitor_update
DestructiveIdempotent

Purpose: Change a saved monitor without losing what it collected or what the user decided; send only what changes, since everything else stays as saved, and a change that makes it match another saved monitor is refused. When: The user wants a different title, location, company, keyword or field on a saved monitor. Cost: About 160 tokens for the saved monitor.

Input Schema

NameRequiredDescriptionDefault
keywordsNoWords that must appear in the posting's text.
companiesNoCompany names; a posting from any of them is kept, and leaving them out watches the whole market.
locationsNoReal location names in plain words, each read as the closest known location, so check monitor.locations in the result for what it watches.
monitorIdYesThe monitor id from monitor_list.
salaryMaxNoHighest yearly salary to keep, in US dollars after the same conversion.
salaryMinNoLowest yearly salary to keep, in US dollars after each posting's published salary is converted.
titleTextNoWords of the job title, matched to one of searchnapply's known roles when one fits (resolvedRole.display names it), which the monitor then watches, and otherwise matched against posting titles.
datePostedNoHow recently the posting was published; leave it out for any date.
departmentNoOne department slug, to narrow a title that spans departments; call job_postings_search_fields for what each one holds.
experienceNoExperience level to keep, given as exact, since a monitor keeps one level and no lowest level.
includeFamilyNoAlso return postings from the resolved role's wider family; leave it out to keep the monitor's current setting.
locationTypesNoWorkplace types to keep.
employmentTypeNoEmployment type to keep.
salaryCurrencyNoA three-letter currency code that only labels the monitor.
excludeKeywordsNoWords that must not appear in the title or the text, 1 to 10 words.
includeNoSalaryNoKeep postings that publish no salary; true by default.

Output Schema

NameRequiredDescriptionDefault
monitorYesThe monitor as saved.
titleNoteNoPresent when no role matched: the title words are matched against posting titles.
resolvedRoleNoThe role the title words were read as; absent when no role matched.
unrecognizedLocationsNoThe location names that matched no known location and were left out.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations declare destructiveHint=true, so the description earns credit for explaining what is actually preserved ('without losing what it collected or what the user decided') and that only supplied fields are replaced. Two behaviors not visible in annotations are disclosed: a uniqueness rule ('a change that makes it match another saved monitor is refused') and an approximate token cost. It does not say what the returned monitor payload contains or how a refusal surfaces, but the output schema covers the return shape.

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?

Three labeled lines (Purpose/When/Cost) front-load the essential points and contain no filler; the preservation semantics appear in the first sentence where an agent will read them. The 'Cost' line is unusual but short enough to justify itself as a budget signal.

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?

For a 16-parameter, nested-object mutation with full schema coverage, an output schema, and complete annotations, the description supplies the missing pieces an agent needs: partial-update semantics, the uniqueness refusal, and the trigger condition. Remaining gaps (error behaviors on a bad monitorId, what the response contains) are low-risk given the output schema.

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 would be 3; the description adds the crucial update-specific semantic that omitted fields are left as saved rather than cleared, which no property description states. The enumeration of changeable areas (title, location, company, keyword, field) maps loosely onto the 16 parameters without adding per-field detail beyond 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?

States a specific verb and resource ('Change a saved monitor') and adds the defining property of a partial update: only what changes is sent and everything else stays as saved. It is clearly distinct from monitor_create/monitor_delete by implication, but never names a sibling tool to route against.

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?

The 'When:' line gives an explicit trigger ('the user wants a different title, location, company, keyword or field on a saved monitor'), which is the right level of context. It never states a when-not or points to alternatives such as monitor_create for new monitors or monitor_get for inspection.

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