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.
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)

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:
- Irrelevant "Promoted" Jobs: LinkedIn aggressively pushes promoted jobs that often have nothing to do with your search.
- 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.
- 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.
- 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:
- Clone this repository.
- Install dependencies and the browser:
npm install npx playwright install --with-deps chromium - Create a
.env.localfile in the root directory and add your Groq API key:GROQ_API_KEY=gsk_your_groq_api_key_here - 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" ] } } } - 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):
- Open your Web AI interface (like Claude for Enterprise, Cursor, etc).
- Add a new Custom MCP Connector or Integration.
- Select SSE (Server-Sent Events) as the connection type.
- Enter your live Hugging Face URL:
https://anjanii-linkedin-job-scraper.hf.space/mcp(Orhttp://localhost:7860/mcpif 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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.