LinkedIn Job Scraper MCP Server

LinkedIn Job Scraper MCP Server

Enables AI assistants to search, filter, and extract job listings from LinkedIn using an automated headless browser with semantic AI filtering and deduplication.

Category
Visit Server

README

LinkedIn Scraper MCP Server

An automated, intelligent LinkedIn Job Scraper that runs as a Model Context Protocol (MCP) server. This allows AI assistants (like Claude) to actively search, filter, and extract job listings from LinkedIn using an automated headless browser.

🚀 Hosted Server URL

If you want to connect your AI directly to the hosted remote server, use this SSE endpoint:

👉 https://anjanii-linkedin-job-scraper.hf.space/mcp


✨ Features

  • Playwright Automation: Safely navigates LinkedIn and loads dynamic content using a headless Chromium browser.
  • Semantic AI Filtering: Integrates with Groq (llama-3.3-70b-versatile) to semantically filter irrelevant job titles, enforcing strict requirements (e.g. keeping "Fresher" while rejecting "Senior" level).
  • Deduplication: Automatically cleans and removes duplicate job postings.
  • Rich Job Details: Extracts deep metadata including Salary, Employment Type, Seniority, Applicant count, and Required Skills.
  • Dual Connection Modes: Supports both SSE (for remote web clients) and Stdio (for the local Claude Desktop app).
  • Dual-Purpose Architecture: Hosts both the MCP Server (at /mcp) and a Next.js Web Dashboard (at /) simultaneously on port 7860.

🖥️ Web Dashboard (UI)

Dashboard UI Claude result claude result2

Because this project uses a custom Next.js server architecture, if you visit your live server's root URL: 👉 https://anjanii-linkedin-job-scraper.hf.space (or http://localhost:7860 locally), you will see the Next.js web interface! You can use this to build a visual frontend dashboard to track jobs alongside your Claude integration.


🤔 Why use this instead of LinkedIn directly?

If you've ever searched for an entry-level or specific role on LinkedIn, you know the pain:

  1. Irrelevant "Promoted" Jobs: LinkedIn aggressively pushes promoted jobs that often have nothing to do with your search.
  2. Broken Seniority Filters: You search for "Intern" or "Junior", but half the results are for "Senior Manager" because the company mentioned "Junior" somewhere deep in the description. Our Groq LLM Semantic Filter fixes this by physically rejecting listings that don't match your true intent.
  3. Information Overload: To find the salary, required skills, or applicant count, you normally have to open 50 different tabs. This scraper pulls all of that deep metadata out for you at once.
  4. AI-Ready Format: Because the data is returned as structured JSON directly to Claude, Claude can instantly read all 25+ jobs, summarize the market, pick the best matches for your resume, or even start drafting cover letters for them immediately!

💻 Connecting to Claude Desktop (Local)

To run this tool locally on your own machine alongside the Claude Desktop App:

  1. Clone this repository.
  2. Install dependencies and the browser:
    npm install
    npx playwright install --with-deps chromium
    
  3. Create a .env.local file in the root directory and add your Groq API key:
    GROQ_API_KEY=gsk_your_groq_api_key_here
    
  4. Add the following to your Claude Desktop config file (%APPDATA%\Claude\claude_desktop_config.json):
    {
      "mcpServers": {
        "linkedin-scraper": {
          "command": "npx",
          "args": [
            "tsx",
            "/absolute/path/to/repository/mcp-claude.ts"
          ]
        }
      }
    }
    
  5. Restart the Claude Desktop app.

🌉 Connecting Claude Desktop to Hugging Face (Remote Bridge)

If you want to use the Claude Desktop App but run the actual scraper backend in the cloud on Hugging Face Spaces (so it doesn't use your computer's CPU or require local Playwright installation), you can use the mcp-remote bridge!

Add the following to your Claude Desktop config file (%APPDATA%\Claude\claude_desktop_config.json on Windows or ~/Library/Application Support/Claude/claude_desktop_config.json on Mac):

{
  "mcpServers": {
    "linkedin-scraper-remote": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://anjanii-linkedin-job-scraper.hf.space/mcp"
      ]
    }
  }
}

This automatically bridges the cloud Server-Sent Events (SSE) stream into a local format that your Claude App can read!


🌐 Connecting to a Web MCP Client (Remote)

If you are hosting this on Hugging Face Spaces (or running the SSE server locally):

  1. Open your Web AI interface (like Claude for Enterprise, Cursor, etc).
  2. Add a new Custom MCP Connector or Integration.
  3. Select SSE (Server-Sent Events) as the connection type.
  4. Enter your live Hugging Face URL:

    https://anjanii-linkedin-job-scraper.hf.space/mcp (Or http://localhost:7860/mcp if testing locally).


☁️ Deployment

A Dockerfile is included specifically for deploying this project to Hugging Face Spaces (Docker tier). Simply upload the repository files to a new Docker Space, add your GROQ_API_KEY to the Space Settings -> Variables and secrets, and Hugging Face will automatically build the environment and host the MCP server for you. itory files to a new Docker Space, add your GROQ_API_KEY to the Space Settings -> Variables and secrets, and Hugging Face will automatically build the environment and host the MCP server for you.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured