openlinkedinmcp
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., "@openlinkedinmcpsearch for data analyst jobs"
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.
openlinkedinmcp
Playwright-powered MCP server for LinkedIn. Automate jobs, profile edits, messaging, network actions, feed posts, and more using a real logged-in browser session.
LinkedIn’s official API cannot cover most member actions. This server drives linkedin.com in Chromium instead. UI changes can break selectors — treat tools as best-effort automation.
Requirements
Node.js 20+
Chromium for Playwright (
npx playwright install chromium)
Related MCP server: LinkedIn MCP Server
Setup
npm install
npm run buildInstall into Cursor / Claude (recommended)
Register this server in your MCP client config (builds if needed, merges without wiping other servers):
./scripts/install.sh # interactive: Cursor, Claude, or both
./scripts/install.sh --cursor # ~/.cursor/mcp.json
./scripts/install.sh --claude # Claude Code (~/.claude.json) and Desktop if present
./scripts/install.sh --both
./scripts/install.sh --dry-run --both # preview onlyOr via npm:
npm run install:mcp -- --cursorClaude targets: Claude Code CLI (claude mcp add when available, else ~/.claude.json) and Claude Desktop (claude_desktop_config.json on macOS/Linux/Windows when the app config dir exists).
Session data (cookies / browser profile) is stored at:
~/.openlinkedinmcp/browser-profileOverride with OPENLINKEDINMCP_DATA_DIR.
Manual MCP config
If you prefer to edit configs by hand, add (path must be absolute):
{
"mcpServers": {
"openlinkedinmcp": {
"command": "node",
"args": ["/absolute/path/to/openlinkedinmcp/dist/index.js"],
"env": {
"OPENLINKEDINMCP_HEADLESS": "1"
}
}
}
}Typical locations:
Cursor:
~/.cursor/mcp.jsonClaude Code:
~/.claude.jsonClaude Desktop (macOS):
~/Library/Application Support/Claude/claude_desktop_config.jsonClaude Desktop (Linux):
~/.config/Claude/claude_desktop_config.json
For local iteration without building:
{
"command": "npx",
"args": ["tsx", "/absolute/path/to/openlinkedinmcp/src/index.ts"]
}First-time login
Call
linkedin_loginfrom your MCP client.A visible browser window opens on LinkedIn’s login page.
Sign in (complete 2FA if prompted).
When the feed loads, the tool returns success and the session is reused.
Environment flags:
Variable | Meaning |
| Always show the browser |
| Login wait (default |
| Default Playwright timeout |
| Custom data directory |
Tools
Auth
linkedin_login— interactive Playwright loginlinkedin_auth_statuslinkedin_logout
Profile
get_my_profile,get_profileupdate_headline,update_aboutopen_profile_section— experience, education, skills, featured, interests, contact-info
Jobs
search_jobs,get_job,save_jobget_saved_jobs,get_job_applicationseasy_apply_job— defaults todry_run=true
Feed
get_feed,create_post,like_post,comment_on_post,repost
Messaging
list_conversations,get_conversation,send_message,start_conversation
Network
search_people,send_connection_requestget_pending_invitations,accept_invitationget_connections,follow_person
Companies & notifications
search_companies,get_company,follow_companyget_notifications
Browser helpers
navigate,screenshot_page,close_browser
Destructive or outbound actions (create_post, send_message, easy_apply_job, connection requests, etc.) support dry_run where noted. Prefer dry runs until you trust the flow.
Scripts
npm run dev # stdio MCP via tsx
npm run build # compile to dist/
npm run typecheck # tsc --noEmit
npm start # node dist/index.js
npm run install:mcp # register with Cursor / Claude (see Setup)License
MIT (see LICENSE).
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
- AlicenseAqualityDmaintenanceAn MCP server for LinkedIn automation that enables users to search for jobs, retrieve profile details, manage connections, and read or send messages. It leverages Playwright and Browserbase to interact with LinkedIn through an existing authenticated browser session.681MIT
- AlicenseAqualityCmaintenanceFully featured MCP server that provides automation tools for LinkedIn, supporting browser-based scraping and API-based operations for content management, media uploads, and reactions.63MIT
- Alicense-qualityDmaintenanceHigh-performance autonomous MCP server that turns LinkedIn into an API for AI workflows, enabling profile management, job search, content posting, and document generation.1MIT
- Alicense-qualityDmaintenanceMCP server for LinkedIn automation that enables AI agents to perform LinkedIn actions (search, inbox, feed, jobs, etc.) safely with human-like evasion and two-phase commit preview.72MIT
Related MCP Connectors
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
MCP server for LeadDelta — manage LinkedIn connections and CRM data via AI assistants.
MCP server for AI job search — find jobs, track applications, get alerts. Claude, ChatGPT, Cursor.
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/tiagoyamashita/openlinkedinmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server