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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。