linkedin-ops
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@linkedin-opsFind remote React developer job posts and save them"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LinkedIn Ops
No more manual LinkedIn scrolling. Search for jobs on LinkedIn blazing fast with your favorite coding agent, including Claude Code, Codex, and more. Then manage them using the web frontend.
Overview
LinkedIn Ops is a Model Context Protocol (MCP) server that lets your AI assistant (Claude Code, Codex, Claude Desktop, Cursor, or any MCP-compatible client) search LinkedIn for job posts, save them locally, and manage them through a React dashboard.
Job opportunities often appear in LinkedIn posts before they hit traditional job boards. This tool helps you catch them early.
How it works
Authenticate — A browser window opens for you to log into LinkedIn. Session cookies are saved locally for future use.
Search — Your AI assistant scrapes LinkedIn posts by keyword using Chromium. The browser is visible by default, with an optional headless mode.
Store — All posts are saved to a local SQLite database. Nothing leaves your machine.
Dashboard — A React web UI at
http://localhost:4327lets you browse, filter, and track posts visually.Dual control — Manage posts through natural language AI commands or point-and-click in the dashboard. Changes sync both ways in real time.
Related MCP server: job-search-mcp
Project Structure
./app/
├── lib/ # Shared: auth, database, utilities
├── client/ # React dashboard (Vite + TailwindCSS)
└── servers/
├── mcp/ # MCP server entry point + tools
└── api/ # Express REST API (serves dashboard)Installation
Install from source
git clone https://github.com/yasir-ali/linkedin-ops.git
cd linkedin-ops
npm run install:all
npm run buildFor local development, run npm link after the build if you want to invoke your checkout with the linkedin-ops command. This creates a global symlink on your machine; it does not publish anything to npm.
Claude Code
This repository includes a project-level .mcp.json for Claude Code. After cloning, replace its args[0] value with the absolute path to your own clone:
{
"mcpServers": {
"linkedin-ops": {
"command": "node",
"args": ["/absolute/path/to/linkedin-ops/dist/servers/mcp/index.js"]
}
}
}Restart Claude Code or start a new chat in the project. The shared .claude/settings.json contains project settings; .claude/settings.local.json is intentionally ignored because it is machine-specific.
Codex
This repository includes a project-scoped .codex/config.toml. Replace the path in args with the absolute path to your own clone, then reopen the project or start a new Codex chat.
In Codex, use /mcp to confirm that linkedin-ops is connected. If the project configuration is not loaded, add the same command manually under Settings → MCP servers as a STDIO server:
Command: node
Path: /absolute/path/to/linkedin-ops/dist/servers/mcp/index.jsMCP Tools
Tool | Description | Example prompt |
| Sign in, check the LinkedIn session, or clear saved credentials. | “Check LinkedIn auth status” |
| Search LinkedIn posts and save new results locally. | “Find React developer posts, 5 pages, headless” |
| Read, count, or delete stored posts. Supports keyword, text, ID, applied, saved, limit, and offset filters. | “Show posts I haven't applied to” |
| Read or update filters shared with the dashboard. | “Show only unapplied posts” |
| Open the local dashboard at | “Open the dashboard” |
| Stop the local dashboard server. | “Stop the dashboard” |
| Inspect a LinkedIn page’s DOM while using the saved session. | “Inspect the LinkedIn search results page structure” |
Dashboard
Run manually if needed:
npm run dev # start dashboard at http://localhost:4327
npm run kill # kill whatever is holding port 4327Features:
Table and card views
Filter by keyword, date, status, and saved state
Mark posts as interested, applied, not interested, or saved
Refreshes automatically every 3 seconds
Data Storage
Data remains local. Nothing is sent to external servers.
Platform | Location |
Windows |
|
macOS/Linux |
|
Scripts
Command | Description |
| Full build (TypeScript + React) |
| Start dashboard at localhost:4327 |
| Kill dashboard process |
| Delete dist/ |
| TypeScript check without building |
License
MIT — see LICENSE for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityCmaintenanceSelf-hosted MCP server that scrapes LinkedIn jobs using your authenticated session cookies, enabling job search and details retrieval without per-run costs.Last updated
- Alicense-qualityCmaintenanceMCP server that exposes job search data from multiple boards, enabling clients to query and manage job listings via natural language.Last updated7MIT
- Alicense-qualityDmaintenanceAn MCP server that enables AI assistants to interact with LinkedIn, including job search, profile viewing, resume/cover letter generation, and application tracking.Last updatedMIT
- Alicense-qualityBmaintenanceAn MCP server that enables AI-assisted job search workflows including job discovery, application tracking, resume evaluation, and cover letter generation, with support for multiple job sources and scheduled scraping.Last updated81AGPL 3.0
Related MCP Connectors
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
MCP server for AI job search — find jobs, track applications, get alerts. Claude, ChatGPT, Cursor.
MCP server for LeadDelta — manage LinkedIn connections and CRM data via AI assistants.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yasir-ali9/linkedin-ops'
If you have feedback or need assistance with the MCP directory API, please join our Discord server