Skip to main content
Glama

Indeed Remote MCP Server

Server Details

Indeed job listings by keyword and location, and full postings, as structured JSON.

Ownership verified
Status
Healthy
Uptime
87.5% over 54 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
HasData/indeed-mcp
GitHub Stars
11
Server Listing
Indeed MCP Server

TDQS

A4.4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools are cleanly separated: one searches/lists jobs by keyword and location, the other fetches a single posting's full detail by URL. There is no overlap in purpose or inputs, and the discovery-to-enrichment workflow is explicitly described.

Naming Consistency5/5

Both names follow the same provider-prefixed pattern (hasdata_indeed_…) with consistent camelCase verb_noun structure: getJobDetails and getJobListings. The convention is uniform and predictable.

Tool Count3/5

Two tools is thin for a job-market data surface, even though list+detail is a coherent minimal pair. The server feels like a narrow slice of an API rather than a well-scoped toolset.

Completeness4/5

List and detail cover the core read workflow for job postings, which is the stated purpose, and no write operations are expected. Minor gaps exist, such as lookup by jobKey rather than only a viewjob URL, and no company- or salary-facet tools.

Available Tools

2 tools
hasdata_indeed_job_getJobDetailsindeed_job: GET /A
Read-only
Inspect

Get Indeed Job Details

Fetches a single Indeed job posting by its viewjob URL. Returns job title, company, location, salary/compensation, employment type, full description, and benefits. Use for ATS/CRM enrichment, compensation benchmarking, resume-to-JD matching with LLMs, and structured archival of postings discovered via the Indeed Listing endpoint.

NameRequiredDescriptionDefault
urlYesThe URL of the job vacancy to retrieve details for.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds behavioral value by enumerating what is returned (title, company, location, salary, employment type, description, benefits) and noting it works on a single posting. No rate-limit or auth detail, but nothing contradicts the annotations.

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, followed by return payload and use cases. Every sentence earns its place, though the use-case list is slightly long and not all items are equally informative.

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 and only one required parameter, the description carries the return-value burden itself and does so by enumerating returned fields. Nothing an agent needs in order to call this 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% for the single parameter, giving a baseline of 3. The description goes beyond the generic schema text ('URL of the job vacancy') by specifying it must be a 'viewjob URL', which constrains the expected input format meaningfully.

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+resource ('Fetches a single Indeed job posting by its viewjob URL') and explicitly distinguishes itself from the sibling listing endpoint. An agent can tell it apart from hasdata_indeed_listing_getJobListings and hasdata_glassdoor_job_getJobDetails without opening any 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?

Gives concrete usage contexts (ATS/CRM enrichment, compensation benchmarking, resume-to-JD matching, archival) and names the Listing endpoint as the discovery counterpart. It doesn't state exclusions or prerequisites, but the context is clear enough to select the tool correctly.

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

hasdata_indeed_listing_getJobListingsindeed_listing: GET /A
Read-only
Inspect

Get Indeed Job Listings

Searches Indeed job listings by keyword and location with sort (relevance/date), country domain targeting, date-posted (1/3/7/14 days) and remote/hybrid filters, and offset-based pagination (start). Returns an array of jobs with title, company, location, salary, posted date, job URL, sponsored flag, and jobKey (Indeed's stable job id, the only reliable dedup key for sponsored postings) for the requested page. With sponsoredOnly the request exits from the domain's country, where Indeed serves Canadian searches as sponsored postings. Use for job-market dashboards, role/geo hiring-trend analysis, sourcing pipelines, and generating URL lists to feed into the Indeed Job endpoint.

NameRequiredDescriptionDefault
sortNoThe sorting option for the search results.
startNoThe starting index of the results to retrieve (optional).
domainNoThe domain of the Indeed site (optional). Provide one exact documented value (62 allowed), e.g. `ar.indeed.com`, `au.indeed.com`.
keywordYesThe keyword used to search for job listings.
locationYesThe location to search for job listings.
datePostedNoReturns only jobs posted within the given number of days.
remoteTypeNoReturns only remote (`remote`) or hybrid (`hybrid`) jobs. In the US, Indeed ties fully remote jobs to the country rather than a city, so use a country-wide location such as `United States`: with a city, Indeed returns few or no remote jobs.
sponsoredOnlyNoWhen enabled, the request is made in a way that returns more sponsored listings. Defaults to false.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only/open-world, and the description layers on genuinely useful behavior: the returned field set, the warning that jobKey is the only reliable dedup key for sponsored postings, and the sponsoredOnly quirk where requests exit from the domain's country (Canadian results served as sponsored). These are non-obvious traits not derivable from annotations.

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 paragraph that leads with purpose then progresses through filters, return shape, edge cases, and use cases. Dense but each clause carries information; slight overload on return-field enumeration.

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?

No output schema exists, so the description correctly compensates by listing the returned job fields and the stable jobKey. For an 8-parameter read tool with full annotation coverage, no call-critical information 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 the baseline is 3, but the description adds real semantic value beyond the schema: it clarifies jobKey's dedup role and the sponsoredOnly country-domain behavior. The remoteType country-vs-city nuance largely restates the schema description.

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?

Opens with a specific verb+resource ('Searches Indeed job listings by keyword and location') and enumerates the filter scope. It also distinguishes itself from the sibling hasdata_indeed_job_getJobDetails by framing its output as URL lists to feed into the Indeed Job endpoint.

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?

Gives concrete application contexts (job-market dashboards, hiring-trend analysis, sourcing pipelines, URL-list generation for the Job endpoint). Clear when-to-use, but no explicit exclusions or statement of when the sibling detail endpoint should be preferred instead.

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. 1 tool update
    • Changedhasdata_indeed_listing_getJobListings3 fields changed
      • addedInput schema / properties / datePosted
        Added value: +{
        +  "description": "Returns only jobs posted within the given number of days.",
        +  "enum": [
        +    1,
        +    3,
        +    7,
        +    14
        +  ],
        +  "type": "number"
        +}
      • addedInput schema / properties / remoteType
        Added value: +{
        +  "description": "Returns only remote (`remote`) or hybrid (`hybrid`) jobs. In the US, Indeed ties fully remote jobs to the country rather than a city, so use a country-wide location such as `United States`: with a city, Indeed returns few or no remote jobs.",
        +  "enum": [
        +    "remote",
        +    "hybrid"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / sponsoredOnly
        Added value: +{
        +  "description": "When enabled, the request is made in a way that returns more sponsored listings. Defaults to false.",
        +  "type": "boolean"
        +}
  2. 2 tool updates
    • First observedhasdata_indeed_job_getJobDetails
    • First observedhasdata_indeed_listing_getJobListings

Publisher details

Operator
HasData · Publisher source
Vendor relationship
Independent · Publisher source
Trust center
Not available
Restrictions
A free HasData account covers 1,000 credits a month with no card. Heavier use needs a paid plan. No admin approval, no regional limits and no custom OAuth app. · Publisher source

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Live Indeed job-postings data for AI agents via the RolesAPI REST API: search listings by keyword and location, and fetch role details, salary, description, company, and benefits. Available as drop-in agent skills or a hosted remote MCP server.
    1
    MIT No Attribution
  • A
    license
    A
    quality
    A
    maintenance
    Enables searching Glassdoor job listings by keyword and location, then reading full postings with employer ratings, salary figures, and salary provenance as structured JSON.
    2
    13 npm
    27 PyPI
    12
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables searching live job postings, aggregating labour-market slices, and reporting how long listings have been open, with filters for titles, location, salary, and more.
    4
    21 npm
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables searching job postings across multiple boards like Indeed and LinkedIn from a single request, returning titles, companies, and salaries as JSON.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.