Skip to main content
Glama

Search jobs by driving commute

search_jobs
Read-onlyIdempotent

Anonymous searches require filters.origin as {lat,lng}; filters.home is only a display label. Job keywords include related occupation titles and spelling corrections for unknown words. Saved filters are available with filters:read; otherwise an explicit origin is required. Overrides never save preferences. Drive times use typical weekday rush-hour traffic. Returns a stable result snapshot, one fastest site per job. Pagination accepts cursor=next_cursor and optionally limit, without filters; cursors expire after 15 minutes.

Input Schema

NameRequiredDescriptionDefault
limitNo
cursorNoOpaque next_cursor from the previous page. Omit filters when continuing; expires after 15 minutes.
filtersNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / filters / properties / origin / description
      Previous value: -"Driving start coordinates. Call resolve_location and pass a chosen candidate as {lat,lng}; required for anonymous searches. Null clears a saved origin."New value: +"Driving start coordinates. Coordinates as {lat,lng}; required for anonymous searches. Null clears a saved origin."
  2. Changed9 schema fields changed
    • changedInput schema / properties / filters / properties / function / description
      Previous value: -"Function code from get_filter_options; empty string clears."New value: +"Function code from get_filter_options, or several comma-separated to match any of them; empty string clears."
    • changedInput schema / properties / filters / properties / function / maxLength
      Previous value: -40New value: +400
    • changedInput schema / properties / filters / properties / industry / description
      Previous value: -"Industry code from get_filter_options; empty string clears."New value: +"Industry code from get_filter_options, or several comma-separated to match any of them; empty string clears."
    • changedInput schema / properties / filters / properties / industry / maxLength
      Previous value: -40New value: +400
    • changedInput schema / properties / filters / properties / level / description
      Previous value: -"Seniority inferred from title and experience; empty string clears."New value: +"Seniority inferred from title and experience: intern, entry, mid, senior, manager or director, or several comma-separated to match any of them; empty string clears."
    • removedInput schema / properties / filters / properties / level / enum
      Removed value: -[
      -  "",
      -  "intern",
      -  "entry",
      -  "mid",
      -  "senior",
      -  "manager",
      -  "director"
      -]
    • addedInput schema / properties / filters / properties / level / maxLength
      Added value: +100
    • addedInput schema / properties / filters / properties / level / pattern
      Added value: +"^((intern|entry|mid|senior|manager|director)(,(intern|entry|mid|senior|manager|director))*)?$"
    • changedInput schema / properties / filters / properties / sort / description
      Previous value: -"Shortest commute, newest first, or highest annualized pay first; default commute."New value: +"Closest (shortest commute), newest first, or highest annualized pay first; default commute."
  3. Changed1 schema field changed
    • changedInput schema / properties / filters / properties / max_minutes / description
      Previous value: -"Maximum one-way driving minutes, excluding live traffic; default 20."New value: +"Maximum one-way driving minutes; default 20."
  4. Changed14 schema fields changed
    • addedInput schema / properties / cursor / description
      Added value: +"Opaque next_cursor from the previous page. Omit filters when continuing; expires after 15 minutes."
    • removedInput schema / properties / cursor / pattern
      Removed value: -"^[a-f0-9]{64}\\.[a-f0-9]{32}$"
    • addedInput schema / properties / filters / properties / function / description
      Added value: +"Function code from get_filter_options; empty string clears."
    • addedInput schema / properties / filters / properties / home / description
      Added value: +"Display label only; never geocoded. Pass origin coordinates to search."
    • addedInput schema / properties / filters / properties / include_near_misses / description
      Added value: +"Include routed jobs up to 1.5 times max_minutes; default false."
    • addedInput schema / properties / filters / properties / include_no_pay / description
      Added value: +"Include unknown pay when min_pay is set; default true."
    • addedInput schema / properties / filters / properties / industry / description
      Added value: +"Industry code from get_filter_options; empty string clears."
    • addedInput schema / properties / filters / properties / level / description
      Added value: +"Seniority inferred from title and experience; empty string clears."
    • addedInput schema / properties / filters / properties / max_minutes / description
      Added value: +"Maximum one-way driving minutes, excluding live traffic; default 20."
    • addedInput schema / properties / filters / properties / min_pay / description
      Added value: +"Minimum annual USD pay, using posted range midpoint and 2080 hours/year; 0 clears."
    • addedInput schema / properties / filters / properties / origin / description
      Added value: +"Driving start coordinates. Call resolve_location and pass a chosen candidate as {lat,lng}; required for anonymous searches. Null clears a saved origin."
    • addedInput schema / properties / filters / properties / query / description
      Added value: +"Title/company words or related occupation titles; empty string clears."
    • addedInput schema / properties / filters / properties / saved_only / description
      Added value: +"Intersect results with account bookmarks; requires jobs:read; default false."
    • addedInput schema / properties / filters / properties / sort / description
      Added value: +"Shortest commute, newest first, or highest annualized pay first; default commute."
  5. Changed2 schema fields changed
    • addedInput schema / properties / cursor
      Added value: +{
      +  "pattern": "^[a-f0-9]{64}\\.[a-f0-9]{32}$",
      +  "type": "string"
      +}
    • removedInput schema / properties / offset
      Removed value: -{
      -  "default": 0,
      -  "maximum": 100000,
      -  "minimum": 0,
      -  "type": "integer"
      -}
  6. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Beyond readOnly/idempotent annotations, it discloses that drive times use typical weekday rush-hour traffic, results are a stable snapshot with one fastest site per job, keyword matching expands to related titles and corrects unknown words, and cursors expire after 15 minutes. These are substantive behavior facts an agent cannot get from the annotations or schema.

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?

Dense but economical – each sentence carries a distinct operational fact (origin requirement, keyword behavior, auth, pagination). It is somewhat telegraphic and parallel, but no sentence is filler.

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 nested-filter search tool with no output schema and no sample coverage, member coverage of return shape (one fastest site per job), freshness/pagination, and auth (filters:read, jobs:read for saved_only implied) is strong. Minor gaps remain on default sort/mode behavior and intersection semantics of multiple filters.

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 low (33%), and the description compensates: it clarifies origin is mandatory for anonymous searches while home is only a display label, explains keyword expansion behavior, and states the cursor/filters exclusivity for pagination. It leaves many nested filters (mode, sort, level, min_pay, include_near_misses) to the schema, so it adds value but not complete coverage.

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 concrete verb and resource ('Search jobs') scoped to driving commute, and adds a distinctive output fact ('one fastest site per job, stable result snapshot') that separates it from generic listing siblings like get_jobs. It does not explicitly name a sibling alternative, but the scope is unambiguous.

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?

Specifies the origin-required condition for anonymous searches versus the filters:read saved-filter path, and states 'Overrides never save preferences,' which implicitly routes persistence to set_filters/save_search siblings without naming them. Pagination rules are given (cursor + optional limit, omit filters), so when-conditions are clear, though alternatives are only implied.

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