Skip to main content
Glama

Resume Booster Job Board

Read several jobs

get_jobs
Read-onlyIdempotent

Full detail for up to 10 job ids in one call: the shortlist form of get_job. Ids that closed, aged out or were never on this board come back in unavailable with the reason, so one dead id never costs the others. Set includeDescription=false for cards and freshness only.

Input Schema

NameRequiredDescriptionDefault
idsYesJob ids from search_jobs, up to 10.
includeDescriptionNoDefault true. Each description is cut at 8,000 characters and the whole answer at 40,000.

Output Schema

NameRequiredDescriptionDefault
jobsYes
returnedNo
requestedNo
notFetchedNo
unavailableYes
truncatedForSizeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed42 schema fields changed
    • changedInput schema / properties / ids / description
      Previous value: -"Job ids from search_jobs. Up to 10 per call — each one is a separate detail read that may fetch the employer's page."New value: +"Job ids from search_jobs, up to 10."
    • changedInput schema / properties / includeDescription / description
      Previous value: -"Default true. Descriptions are capped at 8,000 characters here; call get_job for the whole text of one."New value: +"Default true. Each description is cut at 8,000 characters and the whole answer at 40,000."
    • removedOutput schema / additionalProperties
      Removed value: -true
    • removedOutput schema / properties / jobs / items / additionalProperties
      Removed value: -true
    • removedOutput schema / properties / jobs / items / properties / agency / description
      Removed value: -"Present and true when the posting comes from a staffing/recruiting agency."
    • removedOutput schema / properties / jobs / items / properties / agentReady
      Removed value: -{
      -  "description": "True when request_application can submit to this hiring system.",
      -  "type": "boolean"
      -}
    • addedOutput schema / properties / jobs / items / properties / applyForm
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / jobs / items / properties / applyUrl / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • removedOutput schema / properties / jobs / items / properties / category
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • changedOutput schema / properties / jobs / items / properties / company / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • removedOutput schema / properties / jobs / items / properties / companyToken / description
      Removed value: -"The employer handle; pass it back in search_jobs `companies`."
    • changedOutput schema / properties / jobs / items / properties / companyToken / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • removedOutput schema / properties / jobs / items / properties / country / description
      Removed value: -"ISO-2."
    • changedOutput schema / properties / jobs / items / properties / country / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • removedOutput schema / properties / jobs / items / properties / department / description
      Removed value: -"The employer's own team name. ABSENT when the posting carries none."
    • changedOutput schema / properties / jobs / items / properties / employmentType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • removedOutput schema / properties / jobs / items / properties / experienceBand / description
      Removed value: -"ABSENT when the posting's seniority could not be read."
    • removedOutput schema / properties / jobs / items / properties / id / description
      Removed value: -"vendor:employer:externalId — the id every other tool takes."
    • changedOutput schema / properties / jobs / items / properties / location / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • removedOutput schema / properties / jobs / items / properties / matchScope / description
      Removed value: -"Which part of the posting matched the query. ABSENT when the board's path did not say."
    • removedOutput schema / properties / jobs / items / properties / minYears / description
      Removed value: -"Years of experience the posting asks for. ABSENT when it names none (most postings)."
    • removedOutput schema / properties / jobs / items / properties / postedAt / description
      Removed value: -"The employer's own date, ISO-8601. Null when the feed carries none — never the date we first saw it."
    • changedOutput schema / properties / jobs / items / properties / postedAt / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • removedOutput schema / properties / jobs / items / properties / recheckedAt / description
      Removed value: -"When the employer's feed was last fetched and still carried this employer's board."
    • removedOutput schema / properties / jobs / items / properties / salary / description
      Removed value: -"The employer's own pay text, verbatim and unparsed."
    • changedOutput schema / properties / jobs / items / properties / salary / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • removedOutput schema / properties / jobs / items / properties / salaryCurrency / description
      Removed value: -"ISO-4217, as stated. ABSENT when unstated."
    • removedOutput schema / properties / jobs / items / properties / salaryMaxAnnual / description
      Removed value: -"Annual USD-equivalent ceiling. ABSENT when unstated."
    • removedOutput schema / properties / jobs / items / properties / salaryMinAnnual / description
      Removed value: -"Annual USD-equivalent floor, parsed by the board. ABSENT when the posting states no pay — absence is not zero."
    • removedOutput schema / properties / jobs / items / properties / salaryPeriod / description
      Removed value: -"The period the employer stated: hour, month, year. ABSENT when unstated (most postings)."
    • removedOutput schema / properties / jobs / items / properties / siteUrl / description
      Removed value: -"The posting's page on resumebooster.work."
    • changedOutput schema / properties / jobs / items / properties / title / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • removedOutput schema / properties / jobs / items / properties / workMode / description
      Removed 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."
    • changedOutput schema / properties / jobs / items / properties / workMode / enum
      Previous value: -[
      -  "remote",
      -  "hybrid",
      -  "onsite",
      -  null
      -]New value: +[
      +  "remote",
      +  "hybrid",
      +  "onsite"
      +]
    • changedOutput schema / properties / jobs / items / properties / workMode / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • changedOutput schema / properties / jobs / items / required
      Previous value: -[
      -  "id",
      -  "agentReady"
      -]New value: +[
      +  "id"
      +]
    • removedOutput schema / properties / notFetched / description
      Removed value: -"Ids past the per-call cap — sent, not read. Call again with these."
    • addedOutput schema / properties / truncatedForSize
      Added value: +{
      +  "type": "boolean"
      +}
    • removedOutput schema / properties / unavailable / items / additionalProperties
      Removed value: -true
    • removedOutput schema / properties / unavailable / items / properties / agedOut
      Removed value: -{
      -  "additionalProperties": true,
      -  "type": "object"
      -}
    • removedOutput schema / properties / unavailable / items / properties / closed
      Removed value: -{
      -  "additionalProperties": true,
      -  "type": "object"
      -}
    • changedOutput schema / properties / unavailable / items / properties / reason / enum
      Previous value: -[
      -  "closed",
      -  "agedOut",
      -  "notFound",
      -  "error"
      -]New value: +[
      +  "closed",
      +  "agedOut",
      +  "notFound",
      +  "restricted",
      +  "error"
      +]
  2. Changed4 schema fields changed
    • addedOutput schema / properties / jobs / items / 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 / jobs / items / 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 / jobs / items / 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 / jobs / items / properties / siteUrl
      Added value: +{
      +  "description": "The posting's page on resumebooster.work.",
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • changedOutput schema / properties / jobs / items / 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."
  4. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description earns credit for adding behavior beyond them: dead ids surface in `unavailable` with a reason so one bad id does not break the batch. It also clarifies the practical consequence of includeDescription truncation. It does not discuss auth or rate limits, but for this read tool that is a minor gap.

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?

Three front-loaded sentences with zero filler. The batch scope is stated first, the failure-isolation behavior second, and the parameter shortcut last, which is exactly the order an agent needs.

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?

With an output schema present, the description need not explain return shape, and annotations already carry the safety profile. It closes the remaining gaps that matter for this tool: batch limits, partial-failure handling via `unavailable`, and when to use the lightweight description mode. Nothing an agent needs to call it correctly is missing.

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 is 3. The description adds meaning beyond the schema by explaining that includeDescription=false yields 'cards and freshness only', giving the parameter a use case rather than just a truncation limit. The second sentence reinforces the up-to-10 batch constraint already in the schema, which is useful but less additive.

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 clause states a specific verb and resource: 'Full detail for up to 10 job ids in one call'. It explicitly positions itself as 'the shortlist form of get_job', which distinguishes it from the singular sibling. However, the phrase 'Full detail' sits awkwardly next to 'shortlist form', and the description never names search_jobs as the source of ids, leaving a small ambiguity.

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?

Naming it 'the shortlist form of get_job' clearly implies the batch alternative to calling get_job repeatedly, and 'Set includeDescription=false for cards and freshness only' gives a concrete usage condition for that parameter. It stops short of explicitly stating when not to use it or contrasting with check_jobs_open/search_jobs, so it is strong context but not full routing guidance.

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.