Skip to main content
Glama

Find jobs

find_jobs
Read-onlyIdempotent

Open job listings, newest first: jobs read from employers' own job boards, jobs posted on Noozra, and jobs from We Work Remotely, RemoteOK and Arbeitnow. A job from another job board names its source and links to the original listing; an employer's own job and a job posted on Noozra also carry the employer's text, cut short here. Name the source and link the job's url when you show it. A free key reaches jobs posted in the last 14 days.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHow many jobs to return (1 to 100).
queryNoWords to find in the job title or the company, e.g. "rust engineer".
remoteNoOnly fully remote jobs.
companyNoOnly this company's jobs: its whole name, any case, e.g. "Stripe".
countryNoOnly jobs in this country, as a two-letter code such as DE. Jobs from other job boards name no country, and an employer's job names one when its location does.
categoryNoOnly jobs in this category. Leave it out for every category.
from_employerNoOnly jobs read from employers' own job boards.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
jobsYesNewest first.
countYesHow many jobs are in jobs.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / country / description
      Previous value: -"Only jobs in this country, as a two-letter code such as DE. Jobs from other job boards, and from employers' Greenhouse boards, name no country."New value: +"Only jobs in this country, as a two-letter code such as DE. Jobs from other job boards name no country, and an employer's job names one when its location does."
  2. Changed10 schema fields changed
    • addedInput schema / properties / company
      Added value: +{
      +  "description": "Only this company's jobs: its whole name, any case, e.g. \"Stripe\".",
      +  "maxLength": 200,
      +  "type": "string"
      +}
    • changedInput schema / properties / country / description
      Previous value: -"Only jobs in this country, as a two-letter code such as DE. Only jobs posted on Noozra name a country."New value: +"Only jobs in this country, as a two-letter code such as DE. Jobs from other job boards, and from employers' Greenhouse boards, name no country."
    • addedInput schema / properties / from_employer
      Added value: +{
      +  "default": false,
      +  "description": "Only jobs read from employers' own job boards.",
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / jobs / items / properties / apply_url / description
      Previous value: -"Only for some jobs posted on Noozra: the employer's application link."New value: +"Only for an employer's own job or one posted on Noozra: where to apply."
    • changedOutput schema / properties / jobs / items / properties / country / description
      Previous value: -"The country as a two-letter ISO 3166-1 code, e.g. DE. Only jobs posted on Noozra name one; null otherwise."New value: +"The country as a two-letter ISO 3166-1 code, e.g. DE, when the listing names one; jobs from other job boards and from employers' Greenhouse boards never do. Null otherwise."
    • changedOutput schema / properties / jobs / items / properties / description / description
      Previous value: -"Only for a job posted on Noozra: the employer's text, cut to 600 characters and ended with … when longer."New value: +"Only for an employer's own job or one posted on Noozra: the employer's text, cut to 600 characters and ended with … when longer."
    • addedOutput schema / properties / jobs / items / properties / from_employer
      Added value: +{
      +  "description": "Read from the employer's own job board.",
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / jobs / items / properties / noozra_url / description
      Previous value: -"The job's page on Noozra, with its discussion."New value: +"The job's page on Noozra."
    • changedOutput schema / properties / jobs / items / properties / source / description
      Previous value: -"Where the job was posted, e.g. Noozra, We Work Remotely, RemoteOK or Arbeitnow."New value: +"Where the job was posted, e.g. Stripe careers, Noozra, We Work Remotely, RemoteOK or Arbeitnow."
    • changedOutput schema / properties / jobs / items / required
      Previous value: -[
      -  "id",
      -  "title",
      -  "company",
      -  "location",
      -  "country",
      -  "remote",
      -  "hybrid",
      -  "employment_type",
      -  "categories",
      -  "posted_at",
      -  "expires_at",
      -  "source",
      -  "url",
      -  "noozra_url"
      -]New value: +[
      +  "id",
      +  "title",
      +  "company",
      +  "location",
      +  "country",
      +  "remote",
      +  "hybrid",
      +  "employment_type",
      +  "categories",
      +  "posted_at",
      +  "expires_at",
      +  "source",
      +  "from_employer",
      +  "url",
      +  "noozra_url"
      +]
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "count": {
      +      "description": "How many jobs are in jobs.",
      +      "type": "integer"
      +    },
      +    "jobs": {
      +      "description": "Newest first.",
      +      "items": {
      +        "description": "One job.",
      +        "properties": {
      +          "apply_url": {
      +            "description": "Only for some jobs posted on Noozra: the employer's application link.",
      +            "type": "string"
      +          },
      +          "categories": {
      +            "description": "The categories it is listed under; [\"any\"] means every category.",
      +            "items": {
      +              "description": "A category slug.",
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "company": {
      +            "description": "The hiring company.",
      +            "type": "string"
      +          },
      +          "country": {
      +            "description": "The country as a two-letter ISO 3166-1 code, e.g. DE. Only jobs posted on Noozra name one; null otherwise.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "description": {
      +            "description": "Only for a job posted on Noozra: the employer's text, cut to 600 characters and ended with … when longer.",
      +            "type": "string"
      +          },
      +          "description_truncated": {
      +            "description": "Present with description: true when it was cut.",
      +            "type": "boolean"
      +          },
      +          "employment_type": {
      +            "description": "FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN or OTHER; null when the listing does not say.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "expires_at": {
      +            "description": "When the listing closes, as an RFC 3339 time in UTC.",
      +            "type": "string"
      +          },
      +          "hybrid": {
      +            "description": "Part on site, part remote.",
      +            "type": "boolean"
      +          },
      +          "id": {
      +            "description": "The listing's id.",
      +            "type": "string"
      +          },
      +          "location": {
      +            "description": "Where the job is, as the listing says, e.g. Remote.",
      +            "type": "string"
      +          },
      +          "noozra_url": {
      +            "description": "The job's page on Noozra, with its discussion.",
      +            "type": "string"
      +          },
      +          "posted_at": {
      +            "description": "When it was posted, as an RFC 3339 time in UTC.",
      +            "type": "string"
      +          },
      +          "remote": {
      +            "description": "Fully remote.",
      +            "type": "boolean"
      +          },
      +          "salary": {
      +            "description": "The salary, only when the listing gives one.",
      +            "properties": {
      +              "currency": {
      +                "description": "An ISO 4217 code, e.g. USD.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "max": {
      +                "description": "Upper bound.",
      +                "type": [
      +                  "integer",
      +                  "null"
      +                ]
      +              },
      +              "min": {
      +                "description": "Lower bound, per year unless the listing says otherwise.",
      +                "type": [
      +                  "integer",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "min",
      +              "max",
      +              "currency"
      +            ],
      +            "type": "object"
      +          },
      +          "source": {
      +            "description": "Where the job was posted, e.g. Noozra, We Work Remotely, RemoteOK or Arbeitnow.",
      +            "type": "string"
      +          },
      +          "title": {
      +            "description": "The job title.",
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "The original listing, or the job's page on Noozra for a job posted there: link this when you show it.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "title",
      +          "company",
      +          "location",
      +          "country",
      +          "remote",
      +          "hybrid",
      +          "employment_type",
      +          "categories",
      +          "posted_at",
      +          "expires_at",
      +          "source",
      +          "url",
      +          "noozra_url"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "jobs",
      +    "count"
      +  ],
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), yet the description adds substantial behavior: heterogeneous provenance per result, source attribution and original-listing linking for third-party boards, truncated employer text for direct/Noozra jobs, and a free-tier freshness ceiling of 14 days. These are access, data-quality, and presentation details 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-loaded with the core action and ordering, and every sentence carries information (sources, provenance behavior, freshness limit). The middle sentence about which results carry employer text is somewhat convoluted and could be split, but there is no 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?

With an output schema present, return-value explanation is unnecessary, and the description covers source composition, the free-key freshness restriction, and display expectations. Minor gaps remain around empty-result behavior and result ordering relative to filters, but nothing critical for correct invocation is missing.

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 seven parameters including the country caveat and enum for category. The description adds only indirect meaning (e.g., the source mix explains why country is often absent) and does not describe parameter syntax beyond the schema, 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?

The description opens with a concrete verb+resource ('Open job listings, newest first') and enumerates the data sources it aggregates (employer boards, Noozra, We Work Remotely, RemoteOK, Arbeitnow). This cleanly separates it from the news/post-oriented siblings (search_news, community_posts, latest_news), which return entirely different resources.

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?

It gives clear context on what the tool returns and a practical constraint ('A free key reaches jobs posted in the last 14 days'), plus a display obligation ('Name the source and link the job's url when you show it'). There is no competing job-search sibling, so no explicit alternative routing is needed, but there is also no when-not 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.

Resources