Skip to main content
Glama

Haystack Jobs

Server Details

Search live jobs from employers' own careers sites in plain English (US, UK, Canada, Australia, India, Europe), filter on no experience, no degree or visa sponsorship, and see which employers reply to applications and how fast. Free, no sign-in. Docs: https://github.com/haystackapp/haystack-mcp

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation4/5

The tools mostly target distinct resources: job search, job detail, employer-level application facts, and ATS-level application facts. There is some overlap because employer reply rates and form questions also appear in get_job, so an agent could occasionally hesitate between get_job and employer_facts.

Naming Consistency3/5

All names use snake_case and are readable, but the conventions are mixed: get_job and search_jobs are verb_noun, while application_system_facts and employer_facts are noun phrases with no action verb.

Tool Count5/5

Four tools are well-scoped for a jobs-data server: search, detail lookup, employer facts, and ATS facts. Each tool has a clear role and none feels redundant or excessive.

Completeness4/5

The surface covers the core job-search and application-intelligence workflows: searching live jobs, retrieving job details, and getting employer or ATS-level facts. Minor gaps include the 20-result search cap with no explicit pagination and no separate employer or ATS listing tool, though filters and aggregate modes provide workarounds.

Available Tools

4 tools
application_system_factsApplication system factsA
Read-onlyIdempotent
Inspect

Facts about an application system (ATS) from applications Haystack's AI agent sent: how many fields its forms have, the questions they ask most, and how fast employers on it reply. Without a system, the overall figures.

NameRequiredDescriptionDefault
systemNoThe application system.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety needs no restating. The description earns credit by disclosing what data actually comes back (field counts, frequent questions, reply latency), which matters because there is no output schema. It stops short of stating sourcing, freshness, or handling when an ATS has no data.

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?

A single front-loaded sentence with no filler; the subject (facts about an application system) comes first and the return content follows. The trailing default-behavior clause is slightly tacked-on but earns its place.

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 one-optional-parameter, read-only lookup with no output schema, the description covers purpose, return contents, and the no-argument default. Only minor gaps remain: nothing about what happens for an ATS with no data, or the grain/recency of the statistics.

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 coverage is 100% with an enum, so the schema already defines the legal values, giving a baseline of 3. The description does add one piece of meaning beyond the schema: that omitting the parameter yields overall aggregate figures rather than an error, which is a genuine semantic contribution.

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 specific resource (facts about an application system/ATS) and enumerates the concrete contents: form field counts, most-asked questions, and employer reply speed. It is clearly separable from employer_facts and the job tools, though it never names those siblings to sharpen the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The clause 'Without a system, the overall figures' implicitly tells the agent to call it bare for aggregate stats and with a system for per-ATS detail. There is no explicit when-to-use vs when-not, and no mention of when employer_facts would be the better call.

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

employer_factsEmployer factsA
Read-onlyIdempotent
Inspect

What Haystack knows about applying to an employer: live roles, the share of applications that got a reply, the median time to the first reply, how many fields its form has and the questions it asks. Pass no company to get the employers most likely to reply to an application.

NameRequiredDescriptionDefault
companyNoEmployer name, e.g. 'Monzo', 'Stripe'. Leave out for the employers most likely to reply.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuine context beyond that: it enumerates the metrics returned and explains the fallback behavior when no company is supplied, which the annotations cannot convey. Pagination and response shape are unaddressed, keeping it off a 5.

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?

Two sentences, front-loaded with the scope statement and then the enumeration of metrics, with the no-argument fallback called out last. It is dense but every clause carries information; the 'What Haystack knows about' framing is slightly wordy but sets context efficiently.

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?

Because there is no output schema, the description must describe returns — and it does, listing each metric by name. With only one optional string parameter and full annotation coverage, nothing critical is missing; only paging/multi-employer behavior is left implicit.

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 coverage is 100% and the sole parameter is fully documented with an example and a leave-out instruction, so the baseline is 3. The description restates the omit-for-top-employers behavior but adds no format, casing or matching semantics (e.g. partial names) beyond the schema.

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 description names a concrete resource (employer-level hiring facts) and enumerates the specific payload: live roles, reply share, median time to first reply, form field count and questions. It is clearly distinct from get_job/search_jobs, though it never explicitly contrasts itself with application_system_facts, which sounds adjacent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives one concrete usage rule — omit the company argument to get employers most likely to reply — which is real guidance. But there is no explicit statement of when to choose this over application_system_facts or search_jobs, so the agent has to infer the boundary between them.

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

get_jobGet a jobA
Read-onlyIdempotent
Inspect

One job's details by its Haystack id: title, employer, location, pay, work mode, skills, what the advert says (no experience, no degree, visa sponsorship), the description, and facts about applying to that employer from Haystack's data (reply rate, time to reply, form questions) when known.

NameRequiredDescriptionDefault
job_idYesThe job's id from search_jobs.

TDQS

A3.7/5.0
Behavior4/5

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

The annotations already establish that this is a safe, read-only, idempotent operation. The description adds useful behavioral context by listing the job fields returned and noting that employer application facts are included when known. It does not describe not-found or invalid-id behavior, which keeps it from a 5.

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?

The description is a single front-loaded sentence that immediately states what the tool returns. The field list is dense but purposeful, though it is long and could be slightly easier to scan if split or bulleted.

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 simple one-parameter retrieval tool with annotations covering safety and no output schema, the description does enough by enumerating the returned content and noting conditional employer facts. It leaves minor gaps around error or empty-result behavior, preventing a full 5.

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%, and the single parameter is already documented as the job id from search_jobs. The description reinforces that the id is a Haystack id but adds no syntax, format, or validation details beyond the schema, so the baseline 3 is appropriate.

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 description states a clear retrieval action and resource: one job's details by its Haystack id. It enumerates the returned fields, making the tool's scope concrete. It does not explicitly distinguish itself from siblings such as employer_facts, especially since it also mentions employer reply-rate facts, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by requiring a Haystack id, and the schema notes that the id comes from search_jobs. However, it does not explicitly say when to use this instead of search_jobs or employer_facts, nor does it state exclusions or prerequisites beyond the id requirement.

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

search_jobsSearch live jobsA
Read-onlyIdempotent
Inspect

Search live jobs on Haystack, newest first. Filter by job title words, country, city, remote, and by what the advert says: no experience needed, no degree needed, visa sponsorship offered. Returns up to 20 jobs, each with its link, and an Auto Apply link when Haystack's AI agent can fill in and submit the employer's form.

NameRequiredDescriptionDefault
cityNoCity, e.g. 'London', 'New York', 'Toronto'.
limitNo
queryNoWords in the job title, e.g. 'product manager', 'nurse', 'data analyst'.
remoteNoOnly remote roles.
countryNoCountry name or code, e.g. 'United States', 'UK', 'Canada', 'Germany'.
no_degreeNoOnly roles whose advert says no degree is needed (or asks for a high school diploma or equivalent).
no_experienceNoOnly roles whose advert says no experience is needed or training is provided.
auto_apply_onlyNoOnly roles Haystack's AI agent can apply to.
visa_sponsorshipNoOnly roles whose advert says the employer offers visa sponsorship.

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, which covers the safety profile. The description adds real behavioral context beyond that: newest-first ordering, a hard cap of 20 results (schema default 10), and that each item carries a link plus a conditional Auto Apply link. It omits pagination behavior and whether results are a stable snapshot, so it adds value without being rich.

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?

Two dense sentences with the core action and ordering front-loaded, followed by filter groups and return shape. No filler, no restatement of the title.

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 9-parameter, zero-required search with no output schema, the description covers both the filtering model and the return payload (up to 20 jobs, link, conditional Auto Apply link). Pagination or how to retrieve beyond the first 20 results is the one notable gap.

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 89%, so the baseline is 3, and the description earns above it by clarifying that no_degree, no_experience and visa_sponsorship filter on what the advert states rather than verified employer attributes. It also groups the filters conceptually, which helps an agent compose a query; it does not explain the limit parameter beyond the cap already implied.

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 ("Search live jobs on Haystack"), plus ordering ("newest first"), the filterable dimensions, and the result cap. The singular read counterpart get_job is implicitly distinguished by the search semantics, so an agent can tell search from fetch without opening either schema.

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?

The description makes the use case clear: find jobs matching title words, location, remote, and advert-declared criteria. It does not name siblings (get_job, employer_facts) or state when-not-to-use, so routing is inferred rather than prescribed.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedapplication_system_facts
    • First observedemployer_facts
    • First observedget_job
    • First observedsearch_jobs

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources