Skip to main content
Glama

Resume Booster Job Board

Get one job

get_job
Read-onlyIdempotent

Full detail for one job id (from search_jobs), including the complete description text and when the employer's feed last confirmed it open. A resumebooster.work/jobs?job= link's id is this argument (and fetch's, check_apply_support's and request_application's). For several ids at once, use get_jobs — it costs ONE call against the daily quota instead of one per posting. Needs a key or a sign-in. With neither, call fetch with the same id.

Input Schema

NameRequiredDescriptionDefault
idYesThe job id, e.g. 'greenhouse:acme:12345'.

Output Schema

NameRequiredDescriptionDefault
idNovendor:employer:externalId — the id every other tool takes.
jobNoPresent and null when there is no posting to return; read `closed` / `agedOut` / `notFound` beside it.
noteNo
titleNo
agencyNoPresent and true when the posting comes from a staffing/recruiting agency.
closedNoThe board watched this posting come down: title, company, closedAt.
salaryNoThe employer's own pay text, verbatim and unparsed.
agedOutNoPast the 30-day freshness cap.
companyNo
countryNoISO-2.
siteUrlNoThe posting's page on resumebooster.work.
applyUrlNo
categoryNo
locationNo
minYearsNoYears of experience the posting asks for. ABSENT when it names none (most postings).
notFoundNoNo posting with this id — never on this board, or gone long enough that nothing is remembered.
postedAtNoThe employer's own date, ISO-8601. Null when the feed carries none — never the date we first saw it.
workModeNoThe employer's own statement: the option they chose in their ATS, or their own words on the posting (title, location, department). null has THREE meanings: neither source says anything, the two disagree and the board refuses to choose, or the posting is older than the vendor field this board now reads. Never inferred from the description, and silence is never read as onsite.
agentReadyNoTrue when request_application can submit to this hiring system.
departmentNoThe employer's own team name. ABSENT when the posting carries none.
matchScopeNoWhich part of the posting matched the query. ABSENT when the board's path did not say.
descriptionNoThe posting's full text, truncated at 24,000 characters with a [truncated] marker.
recheckedAtNoWhen the employer's feed was last fetched and still carried this employer's board.
companyTokenNoThe employer handle; pass it back in search_jobs `companies`.
salaryPeriodNoThe period the employer stated: hour, month, year. ABSENT when unstated (most postings).
employmentTypeNo
experienceBandNoABSENT when the posting's seniority could not be read.
salaryCurrencyNoISO-4217, as stated. ABSENT when unstated.
salaryMaxAnnualNoAnnual USD-equivalent ceiling. ABSENT when unstated.
salaryMinAnnualNoAnnual USD-equivalent floor, parsed by the board. ABSENT when the posting states no pay — absence is not zero.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedOutput schema / properties / matchScope
      Added value: +{
      +  "description": "Which part of the posting matched the query. ABSENT when the board's path did not say.",
      +  "enum": [
      +    "title",
      +    "description"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / minYears / description
      Previous value: -"Years of experience the posting asks for. ABSENT when it names none (~71%)."New value: +"Years of experience the posting asks for. ABSENT when it names none (most postings)."
    • changedOutput schema / properties / salaryPeriod / description
      Previous value: -"The period the employer stated: hour, month, year. ABSENT when unstated (~89% of the board)."New value: +"The period the employer stated: hour, month, year. ABSENT when unstated (most postings)."
    • addedOutput schema / properties / siteUrl
      Added value: +{
      +  "description": "The posting's page on resumebooster.work.",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / properties / workMode / description
      Previous value: -"Stated or inferred from title/location; null when neither says."New value: +"The employer's own statement: the option they chose in their ATS, or their own words on the posting (title, location, department). null has THREE meanings: neither source says anything, the two disagree and the board refuses to choose, or the posting is older than the vendor field this board now reads. Never inferred from the description, and silence is never read as onsite."
  3. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover the read-only, idempotent, open-world safety profile, so the bar is lower; the description adds real behavioral context beyond them — credential/sign-in requirement and the quota cost differential vs get_jobs. It stops short of describing error or rate-limit behavior, so it is not a 5.

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 core purpose, then layers routing and auth guidance in tight, self-contained sentences. It is information-dense rather than wasteful, though the parenthetical links in the final sentences make it slightly harder to scan.

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?

An output schema exists so return values need no explanation. With purpose, routing alternatives, credential requirements, the quota trade-off, and a fallback path all covered, an agent has everything needed to select and invoke it correctly.

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 description coverage is 100%, so baseline is 3, but the description adds genuine meaning: the id is the same value found in a resumebooster.work/jobs?job=<id> link and is shared with fetch, check_apply_support, and request_application. That mapping is not in the schema.

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+resource ('full detail for one job id') and immediately discloses the payload contents (complete description text, last-confirmed-open timestamp). It clearly differentiates from the sibling get_jobs by scoping to a single id.

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?

Explicit when-to-use ('from search_jobs', single id) and when-not (several ids → get_jobs, which 'costs ONE call against the daily quota'). It also gives an auth precondition and a concrete fallback ('with neither, call fetch with the same id').

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.