Skip to main content
Glama

Open jobs at a company

company_jobs
Read-onlyIdempotent

Full LIST of open jobs at one company (up to 500), newest first, read live from its public Greenhouse, Lever, Ashby, SmartRecruiters and Recruitee job board. Use this when you need the actual postings: to read, filter or export them, find a role to apply to, or pull salaries. For counts and hiring trends use hiring_signals instead. Input: company (website domain, website URL or job-board URL); optional keywords (title contains any), remote (true = remote only) and limit (1-500, default 100). Returns company, domain, found, boards, summary, count, totalMatching and results[]: one job each with title, department, location, remote flag, posted date, apply URL, salary when the employer publishes it, function and seniority. found=false (empty results) means no supported public board was found. Limits: one company per call; answers cached for 1 hour; 20 free companies a day per IP without a key, more with a paid key in the x-api-key header. Read-only: nothing is stored or sent.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum jobs to return, 1-500 (default 100)
remoteNotrue = remote roles only (default false: all roles)
companyYesThe company, one per call: its website domain, website URL, or a job-board URL (boards.greenhouse.io/acme, jobs.lever.co/acme, jobs.ashbyhq.com/acme)
keywordsNoOptional job-title keywords; a job matches if its title contains any of them

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / company / description
      Previous value: -"Company domain or job-board URL, e.g. stripe.com or jobs.lever.co/acme"New value: +"The company, one per call: its website domain, website URL, or a job-board URL (boards.greenhouse.io/acme, jobs.lever.co/acme, jobs.ashbyhq.com/acme)"
    • addedInput schema / properties / company / examples
      Added value: +[
      +  "stripe.com"
      +]
    • changedInput schema / properties / keywords / description
      Previous value: -"Optional title keywords; a job matches if its title contains any of them, e.g. [\"engineer\", \"sales\"]"New value: +"Optional job-title keywords; a job matches if its title contains any of them"
    • addedInput schema / properties / keywords / examples
      Added value: +[
      +  [
      +    "engineer",
      +    "sales"
      +  ]
      +]
    • changedInput schema / properties / remote / description
      Previous value: -"true = remote roles only"New value: +"true = remote roles only (default false: all roles)"
  2. Changed4 schema fields changed
    • addedInput schema / properties / company / description
      Added value: +"Company domain or job-board URL, e.g. stripe.com or jobs.lever.co/acme"
    • addedInput schema / properties / keywords / description
      Added value: +"Optional title keywords; a job matches if its title contains any of them, e.g. [\"engineer\", \"sales\"]"
    • addedInput schema / properties / limit / description
      Added value: +"Maximum jobs to return, 1-500 (default 100)"
    • addedInput schema / properties / remote / description
      Added value: +"true = remote roles only"
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/openWorld annotations, it discloses caching (1 hour), rate limits (20 free companies/day per IP, more with a paid key in x-api-key), the empty-result semantics (found=false means no supported board), and that data is read live with nothing stored. These are behavioral facts the annotations cannot convey.

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 purpose and packs a lot of useful detail into a few dense sentences. It is longer than typical but nearly every clause earns its place (routing, return fields, limits); minor redundancy with the schema keeps it from a 5.

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 no output schema, the description fully documents the return shape (company, domain, found, boards, summary, count, totalMatching, results[] with per-job fields including salary). Combined with rate-limit and scoping notes, an agent has everything needed to call and interpret the response.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all four parameters (company formats, keywords as title-substring match, remote boolean, limit 1-500 default 100). The description restates these without adding syntax or edge-case detail, so the baseline 3 applies.

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 and resource ('Full LIST of open jobs at one company'), including scope (up to 500), ordering (newest first) and data source (public Greenhouse/Lever/Ashby/SmartRecruiters/Recruitee boards). It names the sibling hiring_signals as the thing it is not, so an agent can distinguish them immediately.

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?

Explicitly enumerates when to use it ('read, filter or export them, find a role to apply to, or pull salaries') and routes the alternative case to hiring_signals ('For counts and hiring trends use hiring_signals instead'). This is a clear when/when-not/alternative statement.

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