mcpField
M
mcp-linkedin-jobs-feed

mcp-linkedin-jobs-feed

Local
github.com/mambalabsdevBusiness & Marketing0Updated 1w ago

About mcp-linkedin-jobs-feed

An MCP server that retrieves public LinkedIn job search results through an Apify actor and adds an employer website domain to each job row. It supports job discovery by location and filters, as well as tracking new listings across runs.

Key features

  1. 01Searches public jobs without login
  2. 02Adds employer domains to job rows
  3. 03Filters by location and posting date
  4. 04Filters workplace, experience, and job type
  5. 05Returns only new jobs across runs

Use cases

  1. 01Find recent jobs in chosen locations
  2. 02Narrow searches to remote roles or experience levels
  3. 03Track new employer postings on a schedule

MCP support

It exposes the search_linkedin_jobs tool to MCP clients, accepting keywords, locations, and other filters and returning job and search rows from the Apify dataset.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"com-mambabuilt-mcp-linkedin-jobs-feed": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-linkedin-jobs-feed"
],
"env": {
"APIFY_TOKEN": "<APIFY_TOKEN>"
}
}
}
}
Run commandnpx -y @mambalabsdev/mcp-linkedin-jobs-feed
Environment variables to set
APIFY_TOKENSecretApify API token from https://console.apify.com/account/integrations

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@mambalabsdev/mcp-linkedin-jobs-feed1.0.1

Tools

1

Saved tool list · updated 1w ago

ParameterTypeRequiredDescription
keywordsarrayNoOne job search per line, as you would type it in LinkedIn's job search, for example account executive, or sdr manager saas. Up to 50 searches per run (keywords times locations)
only_newenumNotrue returns only jobs that an earlier run with the same state key did not return. The first run returns every job in the windowfalse | true
job_typesarrayNoOptional. Any of: full_time, part_time, contract, temporary, internship, volunteer, other
locationsarrayNoOptional. One location per line, as LinkedIn's job search takes it: a country (Germany), a city (London, England, United Kingdom), or a region (European Union). Each search runs once per location. Empty searches worldwide
state_keystringNoNames the saved state for only new jobs. Use one key per schedule, for example ae-germany-daily
reset_stateenumNotrue forgets the saved state for this state keyfalse | true
posted_withinenumNoOnly jobs posted in this window, as LinkedIn dates them24h | week | month | any
max_charge_usdstringNoOptional. The run stops before it would charge more than this
include_detailsenumNotrue reads each job's public posting page. No extra chargetrue | false
workplace_typesarrayNoOptional. Any of: on_site, remote, hybrid
exclude_companiesarrayNoOptional. Drop jobs whose company name contains one of these, ignoring case, for example staffing agencies you do not want
experience_levelsarrayNoOptional. Any of: internship, entry, associate, mid_senior, director, executive
find_company_domainenumNotrue looks up each employer's own website domain by name with a web search, and returns it only when the domain clearly matches the name. No extra chargetrue | false
max_jobs_per_searchstringNoJob rows returned per search, newest first. Default 100, up to 1000 (LinkedIn shows guests about 1,000 results per search)

Details

From the project README

LinkedIn Jobs Feed MCP Server

Glama score MCP Registry npm version npm downloads license mcpservers.org

An MCP server for the Mamba Labs LinkedIn Jobs Feed actor on Apify. Give it job searches and locations. It returns one row per job from LinkedIn's public job search, with the employer's own website domain attached.

What's Inside

What it does

  • Source: LinkedIn's public guest job search and job posting pages only. No login, no cookie, no profile or company page reads.
  • Employer domain: a company name autocomplete, then a web search, once per employer and cached; returned only when the domain clearly matches the company name (domain_status resolved), otherwise empty and labeled.
  • Rows: one job row per job with the posting details, and one free search row per search and location with jobs_found and jobs_returned.
  • Filters and schedules: posted within, workplace type, experience level, job type, excluded companies, and only_new with a state_key.

All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.

Quick start

You need Node.js 18 or newer and an Apify account with an API token.

Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:

{
  "mcpServers": {
    "mamba-linkedin-jobs-feed": {
      "command": "npx",
      "args": [
        "-y",
        "@mambalabsdev/mcp-linkedin-jobs-feed"
      ],
      "env": {
        "APIFY_TOKEN": "your-apify-token"
      }
    }
  }
}

Restart the client. The search_linkedin_jobs tool appears.

Prerequisites

Example prompts

  • "Find account executive jobs posted in Germany this week and give me the hiring companies' domains."
  • "Which companies in London posted a head of sales or SDR manager job in the last 24 hours?"
  • "Every morning, list new remote RevOps jobs in the United States with the company domain."

Tool

search_linkedin_jobs. One tool. Example arguments:

{
  "keywords": [
    "account executive"
  ],
  "locations": [
    "Germany"
  ],
  "max_jobs_per_search": "5"
}

Inputs

Every buyer facing input of the actor, unchanged. Omitted inputs take the actor's own defaults. Numbers and booleans are sent as strings.

InputTypeDescription
keywordsarrayOne job search per line, as you would type it in LinkedIn's job search, for example account executive, or sdr manager saas. Up to 50 searches per run (keywords times locations)
locationsarrayOptional. One location per line, as LinkedIn's job search takes it: a country (Germany), a city (London, England, United Kingdom), or a region (European Union). Each search runs once per location. Empty searches worldwide
posted_withinstringOnly jobs posted in this window, as LinkedIn dates them
workplace_typesarrayOptional. Any of: on_site, remote, hybrid
experience_levelsarrayOptional. Any of: internship, entry, associate, mid_senior, director, executive
job_typesarrayOptional. Any of: full_time, part_time, contract, temporary, internship, volunteer, other
max_jobs_per_searchstringJob rows returned per search, newest first. Default 100, up to 1000 (LinkedIn shows guests about 1,000 results per search)
exclude_companiesarrayOptional. Drop jobs whose company name contains one of these, ignoring case, for example staffing agencies you do not want
include_detailsstringtrue reads each job's public posting page. No extra charge
find_company_domainstringtrue looks up each employer's own website domain by name with a web search, and returns it only when the domain clearly matches the name. No extra charge
only_newstringtrue returns only jobs that an earlier run with the same state key did not return. The first run returns every job in the window
state_keystringNames the saved state for only new jobs. Use one key per schedule, for example ae-germany-daily
reset_statestringtrue forgets the saved state for this state key
max_charge_usdstringOptional. The run stops before it would charge more than this

Pricing

Pay per event on Apify, billed to your Apify account. Prices in USD.

EventFree planBronzeSilverGold
job-row, one job returned, with details and the employer domain$0.0015$0.001425$0.00135$0.001275
apify-actor-start, per run start$0.001$0.001$0.001$0.001

Search rows and the row for a refused input are free. Posting details and the domain lookup carry no extra charge.

Your keys

The actor needs no key and no LinkedIn account. It reads public job pages and a public search results page and holds no key of any kind. Mamba Labs pays the platform and proxy costs of the run.

Full actor documentation

apify.com/mambalabs/linkedin-jobs-feed

License

MIT. See LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.