Skip to main content
Glama
sauravss98
by sauravss98

check_salary

Read-only

Compare a gross annual salary and 4-digit SOC code against UK Skilled Worker thresholds to see if it meets the required going rate, and get the rule applied.

Instructions

Check a salary against the Skilled Worker salary requirement for an occupation.

The requirement is the higher of a general threshold and the occupation's published going rate, so both the salary and the occupation code are needed.

Args: salary: Gross annual salary offered, in pounds. soc_code: 4-digit SOC 2020 occupation code for the job, e.g. "2136". Ask the user or the employer for it; do not guess a code from the job title. new_entrant: True if the applicant qualifies for the new entrant rate, e.g. under 26, a recent UK student or graduate, in professional training, or in an eligible postdoctoral role.

Returns a verdict (meets, below, occupation_ineligible, going_rate_unavailable, unknown_occupation), the required salary and the rule that produced it, the other discount options the job could qualify under, and the date the thresholds were published.

Input Schema

NameRequiredDescriptionDefault
salaryYes
soc_codeYes
new_entrantNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already mark this as read-only and not open-world, but the description adds substantial behavioral context: the full set of possible verdicts, the required salary and rule that produced it, other applicable discount options, and the threshold publication date. There is no contradiction with 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, then Args and Returns are cleanly separated. The length is justified by the domain complexity and the absence of an output schema; every sentence adds useful meaning without 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?

Given no output schema, zero schema descriptions, and minimal annotations, the description supplies everything an agent needs to invoke the tool correctly: required inputs, new_entrant semantics, return structure, and relevant domain context. No material gap remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description carries the full burden and succeeds: salary is defined as gross annual salary in pounds, soc_code is specified as a 4-digit SOC 2020 code with an example and explicit warning not to guess from job title, and new_entrant is explained with eligibility conditions.

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?

The description names a specific verb and resource: checking a salary against the Skilled Worker salary requirement for an occupation. It clearly distinguishes this from sibling tools like check_sponsor and search_sponsors, which concern sponsor/register information rather than salary thresholds.

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?

It explains that both salary and occupation code are required and gives clear conditions for the new_entrant flag, including under 26, recent UK student/graduate, professional training, and eligible postdoctoral roles. It also instructs the agent to ask the user or employer for the SOC code rather than guessing, though it does not explicitly name when-not-to-use cases or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.