Skip to main content
Glama

Get Job Matches

getmattered_get_matches
Read-onlyIdempotent

Retrieve and review job matches ranked by fit, with options to filter by title, location, or remote status and read full postings for selected matches.

Instructions

List the user's matched jobs: the roles GetMattered found for them against their saved job preferences, best matches first, each with a job_match_id, title, company, location, match score, a 500-character excerpt of the posting and the apply URL. Pass job_match_ids (up to 10) to read the full posting, skills and benefits of specific matches; job_url to read any posting without saving it; query, location or remote_only to narrow the list; after_job_match_id with the newestJobMatchId you stored to see only matches newer than your last check. Read-only: it spends no credits and changes nothing. Do not use it to change what the user is matched against; use getmattered_update_job_preferences for that. Next: pass a job_match_id to getmattered_apply, or save or skip a match with getmattered_save_matches or getmattered_skip_matches.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, starting at 1 (e.g. 2 for the next page)
limitNoMatches per page, 1 to 50 (default 10)
queryNoNarrow the list to titles containing this text (e.g. "Product Designer").
job_urlNoRead any job posting by URL without saving it (e.g. "https://jobs.lever.co/acme/123").
locationNoPreferred location (e.g. "San Francisco, CA", "New York", "Remote")
saved_onlyNoIf true, only return the matches the user saved
remote_onlyNoIf true, only show remote-friendly positions
job_match_idsNoRead these matches in full: up to 10 job_match_ids (e.g. [48213]). Returns the full posting, skills, benefits and work arrangement.
after_job_match_idNoReturn only matches newer than this job_match_id. Store newestJobMatchId from each answer and pass it back.

Output Schema

NameRequiredDescriptionDefault
modeYes
pageYes
matchesYes
postingYesA posting read from job_url. Nothing was saved.
totalPagesYes
notFoundIdsYesRequested job_match_ids that do not exist on this account.
totalMatchesYes
newestJobMatchIdYesThe highest job_match_id on this page. Store it and pass it back as after_job_match_id to see only newer matches.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.10.2
    • changedOutput schema / properties / matches / items / properties / jobMatchId / description
      Previous value: -"Pass to getmattered_apply (job_match_id) or getmattered_triage_matches."New value: +"Pass to getmattered_apply (job_match_id), or to getmattered_save_matches or getmattered_skip_matches (job_match_ids)."
  2. Addedv1.9.1

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety bar is low; the description still adds real context by stating it 'spends no credits' and describing ordering and the 500-character excerpt cap. It stops short of describing pagination behavior or result-size limits beyond what the schema's page/limit fields imply.

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?

It is front-loaded with the core listing behavior and the mode-routing details follow, with no filler words. It is a long single paragraph, and the itemization of return fields overlaps with the output schema, which is mild redundancy rather than waste.

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 9-parameter, zero-required listing tool with an output schema and full annotation coverage, the description supplies everything an agent needs: mode selection, filtering, incremental polling semantics, safety/credit cost, and next-step tools. Return values are described redundantly with the output schema but nothing needed to invoke 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 baseline would be 3, but the description adds value by grouping parameters by intent (read-in-full vs. unsaved-URL vs. filtering vs. incremental polling) and by explaining the after_job_match_id round-trip ('store newestJobMatchId ... and pass it back'). The 'up to 10' cap for job_match_ids is useful framing even though the schema states the same limit.

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 opens with a specific verb and resource ('List the user's matched jobs') and immediately scopes it as the roles GetMattered found against saved preferences, ordered best-first. It names the return payload (job_match_id, title, company, match score, excerpt, apply URL), which distinguishes it from application-oriented siblings like getmattered_get_applications.

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?

It enumerates the distinct modes of the tool — job_match_ids for full posting detail, job_url for unsaved postings, query/location/remote_only to narrow, after_job_match_id for incremental checks — each with a condition that selects it. It also states an explicit exclusion ('Do not use it to change what the user is matched against') and routes to getmattered_update_job_preferences, plus names follow-up tools (apply, save_matches, skip_matches).

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