Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.
PopNx MCPMCP servers for people who use AI · explained in plain words

HasData Indeed

by HasDataversion 1.0.8i★ 6iComputer or cloud
Registry namecom.hasdata/indeed

How to install

What it does

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

  • Connects Computer or cloud
  • Account or key Cloud: Needs x-api-key · Local: Needs HASDATA_API_KEY
  • Category Travel, maps & weather

Install

Pick the AI app you use, then copy the settings.

Passed 5/5 checks · What you ask goes through the maker’s server (mcp.hasdata.com)

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude · about 5 min

You need a HasData Indeed key (create it on the maker’s site) · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it

  1. Sign up and create a HasData Indeed key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the HasData Indeed site ↗

  2. Open Claude’s Connectors page

    CustomizeConnectors

    CustomizeConnectors1+ Add2https://…3Add4
  3. Click “+ Add” → “Add custom connector” and fill in these 2 fields

    Copy each value into the field with the same name in Claude, then click Continue

    Name · NameHasData Indeed
    Remote MCP server URL · Addresshttps://mcp.hasdata.com/mcp?apis=indeed

    Under Request headers, add this name and value

    Header namex-api-key
    Value<paste your key here>

    Paste the key only into the app’s field, never into a chat or to anyone

    Leave Authentication as Claude detected it, then click Add

  4. Turn it on in a chat

    +ConnectorsHasData Indeed

  5. Try it

    Use HasData Indeed and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using HasData Indeed or shows a HasData Indeed tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

ChatGPT cannot connect HasData Indeed yet

HasData Indeed needs your own key to connect, but OpenAI’s help page only describes OAuth sign-in; there is no key option we could verify

What you can do instead

A · Use an app that can connect HasData Indeed

  • You need a HasData Indeed key (create it on the maker’s site) · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
  • You need a HasData Indeed key (create it on the maker’s site)
  • You need a HasData Indeed key (create it on the maker’s site)
  • You need a HasData Indeed key (create it on the maker’s site)

B · Others in Travel, maps & weather that work with ChatGPT

Picked from the most used in the same category, only ones that connect by address with no key

Works with Claude Code · about 5 min

You need a HasData Indeed key (create it on the maker’s site)

  1. Sign up and create a HasData Indeed key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the HasData Indeed site ↗

  2. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  3. Paste this command and press Enter

    claude mcp add --transport http --scope user indeed 'https://mcp.hasdata.com/mcp?apis=indeed' --header 'x-api-key: your-value'

    Replace “your-value” with your key before pressing Enter

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Type /mcp in Claude Code

    You should see HasData Indeed listed as connected

  5. Try it

    Use HasData Indeed and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using HasData Indeed or shows a HasData Indeed tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor · about 5 min

You need a HasData Indeed key (create it on the maker’s site)

  1. Sign up and create a HasData Indeed key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the HasData Indeed site ↗

  2. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  3. Fill in your key

    In the HasData Indeed settings, x-api-key is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Open the AI chat in Cursor in Agent mode

  5. Try it

    Use HasData Indeed and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using HasData Indeed or shows a HasData Indeed tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code · about 5 min

You need a HasData Indeed key (create it on the maker’s site)

  1. Sign up and create a HasData Indeed key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the HasData Indeed site ↗

  2. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  3. Fill in your key

    In the HasData Indeed settings, x-api-key is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Open the AI chat in VS Code in Agent mode

  5. Try it

    Use HasData Indeed and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using HasData Indeed or shows a HasData Indeed tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

Address for apps that connect over the web

Addresshttps://mcp.hasdata.com/mcp?apis=indeed

JSON settings are under “For developers” below

Stuck? Ask people who use HasData Indeed💬 Discussion →
For developers: Terminal commands and JSON settings

Over the web

Claude Code

claude mcp add --transport http --scope user indeed 'https://mcp.hasdata.com/mcp?apis=indeed' --header 'x-api-key: your-value'

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "indeed": {
      "url": "https://mcp.hasdata.com/mcp?apis=indeed",
      "headers": {
        "x-api-key": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "indeed": {
      "type": "http",
      "url": "https://mcp.hasdata.com/mcp?apis=indeed",
      "headers": {
        "x-api-key": "your-value"
      }
    }
  }
}

Installed on your computer

Claude Code

claude mcp add --scope user indeed --env HASDATA_API_KEY=your-value -- npx -y @hasdata/indeed-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "indeed": {
      "command": "npx",
      "args": [
        "-y",
        "@hasdata/indeed-mcp"
      ],
      "env": {
        "HASDATA_API_KEY": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "indeed": {
      "command": "npx",
      "args": [
        "-y",
        "@hasdata/indeed-mcp"
      ],
      "env": {
        "HASDATA_API_KEY": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "indeed": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@hasdata/indeed-mcp"
      ],
      "env": {
        "HASDATA_API_KEY": "your-value"
      }
    }
  }
}

Values you fill in

  • HASDATA_API_KEY secret required env
    HasData API key, created at app.hasdata.com. 1,000 free credits every month, no card.
  • x-api-key secret required HTTP header
    HasData API key, created at app.hasdata.com. 1,000 free credits every month, no card.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
102/wk
Verified domain
✓ hasdata.com
Connection
Computer or cloud
Transport
stdio, streamable-http
Latest versioni
1.0.8
Published to registryi
Sep 24, 2026
Code last changedi
Oct 29, 2026
Maker
HasData
Packages
npm: @hasdata/indeed-mcp
pypi: hasdata-indeed-mcp
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Connect over the internet in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

Run on your computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

All apps, with pros and cons →

Related guides

What it can do

Tool names and descriptions exactly as the server reported them on Nov 12, 2026. The maker wrote them, not us; we show them as plain text.

  • hasdata_indeed_job_getJobDetails

    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 s

  • hasdata_indeed_listing_getJobListings

    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. For pagination, pass the pagination.nextPage returned by the previous page back as the nextPag

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 12, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain hasdata.com (the registry checks domain ownership)

  • ✓ Pass

    Still maintained

    Code last changed 14 days ago

  • ✓ Pass

    Has a licence

    Uses MIT

  • ✓ Pass

    Endpoint responds

    Responded in 43 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 2 tool descriptions and found no hidden instructions to the AI

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Travel, maps & weatheri

  • More stars than 97% of the other 1853 servers in this category
  • Published to the registry more recently than 37% of the other 1853 servers in this category
  • Basic checks equal to or better than 100% of the other 1853 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is HasData Indeed safe?

It passed 5 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: x-api-key, HASDATA_API_KEY

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed 14 days ago, and the latest version (1.0.8) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT Business and above.

What can I use instead?

In the same category: LetsFG — Flights & Hotels, Google Maps MCP Server, Mu

Others in the same category

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

LetsFG — Flights & Hotels

Search and book flights and hotels: hundreds of airlines, plus bookable hotel rates.

by LetsFGWidely used↓ 204/wk★ 2.3KUpdated 2 months ago

Computer or cloud

Google Maps MCP Server

18 Google Maps tools for AI agents — geocode, search, directions, weather, and more.

by cablateGrowing↓ 1.3K/wk★ 493Updated 2 months ago

Runs on your computer

Mu

News, web search, mail, markets, weather, places, files, calendar, contacts. 67 tools, one endpoint.

by microGrowing★ 439Updated 3 months ago

Runs in the cloud✓ micro.mu

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Indeed MCP Server

A hosted Indeed MCP server that gives Claude, Cursor, Windsurf and any other MCP client two read-only Indeed tools. Search job listings by keyword and location, and read a single posting in full, all as structured JSON, with no Indeed developer account and no partner approval.

It reads public job postings that a signed-out visitor can see.

1,000 free credits every month, no card required, which is 100 Indeed calls.

https://mcp.hasdata.com/mcp?apis=indeed
  • Prompts and resources

Contents

  • What you need
  • Quick start
  • Example prompts
  • Tools
  • Errors and failure paths
  • Pricing, free tier and limits
  • Tool selection
  • How it compares
  • FAQ
  • HasData links
  • Development
  • Contributing
  • License

What you need

An MCP client and a HasData API key from the dashboard, free to create with no card, and the free tier covers about 100 calls a month at the 10-credit rate. This is a remote server, so the simplest path is a URL and an x-api-key header, with no container to run and no Indeed developer account anywhere in the flow. A client that only speaks stdio reaches it through a thin launcher, published as @hasdata/indeed-mcp on npm and hasdata-indeed-mcp on PyPI, shown below.

Quick start

The server URL is the same for every client. We run it hands-on in Claude Code and Claude Desktop. The other blocks follow each client's own documented format for a remote server.

FieldValue
URLhttps://mcp.hasdata.com/mcp?apis=indeed
TransportHTTP, streamable
Auth headerx-api-key: HASDATA_API_KEY

Clients with OAuth support can add the same URL as a connector and sign in without putting a key in a config file.

Claude Code

claude mcp add --transport http indeed "https://mcp.hasdata.com/mcp?apis=indeed" \

--header "x-api-key: HASDATA_API_KEY"

Claude Desktop

Settings, then Connectors, then Add custom connector, then paste https://mcp.hasdata.com/mcp?apis=indeed and sign in.

For the config-file route, Claude Desktop loads only local (stdio) servers, so it reaches a remote server through a stdio launcher. The @hasdata/indeed-mcp package is that launcher, and it reads the key from the environment. Add this to claude_desktop_config.json:

{

"mcpServers": { "indeed": { "command": "npx", "args": ["-y", "@hasdata/indeed-mcp"], "env": { "HASDATA_API_KEY": "YOUR_KEY" } } } }

For Python instead of Node, swap the launcher for the PyPI package, which uvx runs without a manual install:

{

"mcpServers": { "indeed": { "command": "uvx", "args": ["hasdata-indeed-mcp"], "env": { "HASDATA_API_KEY": "YOUR_KEY" } } } }

Cursor

~/.cursor/mcp.json for every project, or .cursor/mcp.json for one:

{

"mcpServers": { "indeed": { "url": "https://mcp.hasdata.com/mcp?apis=indeed", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }

Windsurf

~/.codeium/windsurf/mcp_config.json. Windsurf calls the field serverUrl, not url:

{

"mcpServers": { "indeed": { "serverUrl": "https://mcp.hasdata.com/mcp?apis=indeed", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }

VS Code

.vscode/mcp.json in the workspace:

{

"servers": { "indeed": { "type": "http", "url": "https://mcp.hasdata.com/mcp?apis=indeed", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }

Example prompts

Prompts, not code. Paste one in and the agent picks the tool itself. Each is annotated with the calls it takes, because every successful call costs 10 credits.

Search Indeed for "python developer" jobs in New York sorted by date, and give me the ten most recent with company and salary.

*One call, 10 credits. A listing page carries company, salary and posted date already.*

Take the top posting from that search and pull its full description and requirements.

*One call, 10 credits. The listing carries a job URL, which the details tool takes directly.*

Find "data analyst" jobs in Austin, then pull full details on the three that list a salary.

*Four calls, 40 credits. One listing, then one details call for each of the three.*

Compare the salaries posted for "registered nurse" in Chicago against Houston.

*Two calls, 20 credits, one listing per city.*

Salary is on a listing only when the posting states one, so a "jobs with salary" prompt filters on the field rather than assuming it. Paging costs a call each time, through the start offset.

Tools

ToolWhat it returns
hasdata_indeed_job_getJobDetailsJob title, company, location, salary/compensation, employment type, posted date, full description, requirements/benefits, and apply URL. 10 credits a call
hasdata_indeed_listing_getJobListingsAn array of jobs with title, company, location, salary, posted date, job URL, and jobKey for the requested page. 10 credits a call

Two tools, read-only. Samples below are trimmed from real calls, and the numbers move as Indeed updates. Read them as shapes. Each tool name links to its endpoint reference, which carries the full field list.

The samples are the payload, not the whole response. A tools/call result carries one text block, and that text is itself JSON holding url, status, text and json, with the scraped data under json. From a raw JSON-RPC response the path is result.content[0].text, parsed, then .json. A chat client unwraps that for you and code talking to the endpoint directly does not.

Get Indeed job listings

hasdata_indeed_listing_getJobListings

A page of search results by keyword and location.

ParameterTypeRequiredNotes
keywordstringyesThe search term, as a candidate would type it
locationstringyesCity and state, or any location string Indeed accepts
sortstringrelevance by default, or date for newest first
domainstringA country site such as au.indeed.com. Defaults to the US site
startnumberResult offset for the next page, a number and not a URL. Read the offset from pagination.nextPage in the previous response

Returns searchInformation, a jobs array, peopleAlsoSearchFor, and pagination whose nextPage is the URL of the following page. Each job carries title, company, location, url, a short description, sponsored, the relative date and the absolute isoDate, a details array of labels like Full-time and Hybrid work, a benefits array, and a salary object when the posting states one.

A listing carries details as an array of plain strings. The job-details tool below returns details as an object with jobType and workSetting arrays. Same name, different shape, so read each per its own tool.

{

"title": "Hedge Fund Application Developer", "company": "TBA", "location": "Stamford, CT 06901", "url": "https://www.indeed.com/pagead/clk?...", "sponsored": true, "date": "30+ days ago", "isoDate": "2025-06-03T17:22:54.869Z", "details": ["Full-time", "Hybrid work"], "benefits": ["Health insurance", "401(k)", "401(k) matching"], "salary": { "min": 80000, "max": 150000, "type": "YEARLY" } }

Get Indeed job details

hasdata_indeed_job_getJobDetails

One posting in full, by its job URL.

ParameterTypeRequiredNotes
urlstringyesA posting URL, the url field from a listing result

Returns title, company, location, sponsored, a details object with jobType and workSetting arrays, a salary object when present, and the posting body in both description (plain text) and descriptionHtml (the same content with its list and paragraph markup kept). Use descriptionHtml when you want the structure and description when you want to feed clean text to a model.

{

"title": "Python Developer", "company": "Think IT Technologies", "location": "New York, NY 10114", "sponsored": false, "details": { "jobType": ["Contract"], "workSetting": ["In-person"] }, "salary": { "min": 60.5, "max": 65, "type": "HOURLY" }, "description": "Overview\nWe are seeking a Python Developer...", "descriptionHtml": " Overview We are seeking a Python Developer... " }

Prompts and resources

The server ships one prompt, a ready-made workflow a client can offer instead of making the user compose a tool call.

PromptWhat it does
indeed_hiring_mapSee where a role is being hired for and at what salary.

Alongside them the server exposes 4 resources, one per parameter whose accepted values are a fixed list. Reading one is cheaper than learning the vocabulary from a rejected call, and it costs no credits. Each URI is hasdata://indeed/ .

ParameterValuesWhat it selects
sort2The sorting option for the search results.
domain62The domain of the Indeed site (optional).
datePosted4Returns only jobs posted within the given number of days.
remoteType2Returns 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.

Both lists are served without an API key, so a client can read them before a user has signed up.

Errors and failure paths

Your client almost never sees an HTTP error code from a tool call. The MCP layer answers 200 and puts the failure inside the result, with isError set to true and the reason as text. The agent reads a message where you might expect a status line.

A wrong key surfaces as tool output, not as a failed connection. tools/list accepts any non-empty key and returns both tools, so the client completes its handshake and shows green. The first tool call then comes back with `isError: tr

Only the beginning is shown; read the rest in the repo