LinkedIn Agent Toolkit
Click on "Deploy 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 Agent Toolkitupdate my LinkedIn headline to Senior AI Engineer building autonomous agents"
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 Agent Toolkit (MCP + CLI)
Safe, Zero-Credential Model Context Protocol (MCP) Server & CLI for Autonomous AI Agents and Developers.
π‘ The Problem
Every AI coding assistant (Claude Code, Google Antigravity, OpenCode, Codex, Cursor) struggles when asked to update or inspect LinkedIn:
No Public API: LinkedIn provides zero public REST endpoints to update personal profile sections (Headline, About, Projects, Experience).
Aggressive Bot & Fingerprint Detection: Stock headless browsers (Selenium, stock Puppeteer) trigger instant anti-bot checkpoints, CAPTCHAs, or account suspensions.
Session & 2FA Invalidation: Automated login scripts fail when challenged with two-factor SMS/email authentication.
Obfuscated, Volatile DOM: Profile editors use nested React/Ember microfrontends,
div[role="textbox"], dynamic modals, and multilingual tabs that cause AI scripts to waste hours guessing selectors.
Related MCP server: LinkedIn MCP Server
β‘ The Solution
linkedin-agent-toolkit bridges AI agents directly to LinkedIn using the Chrome DevTools Protocol (CDP) attached to an authentic, user-controlled browser session:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AI Agents (Claude Code, Antigravity, OpenCode, etc.) β
βββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β Model Context Protocol (stdio)
βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββ
β linkedin-agent-toolkit (MCP) β
β (Tools: get_profile, update_headline, add_project) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β linkedin CLI Tool β
β (Direct terminal commands: linkedin status, add...) β
βββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β Chrome DevTools Protocol (:9222)
βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββ
β Google Chrome (Local authenticated session) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββπ 100% Zero-Credential Security (Audited by AI Grand Council)
No stored passwords or tokens: Your credentials never leave your browser.
No scraping proxy dependencies: Works entirely locally on your machine.
Ban-proof: Uses your real browser fingerprint, real IP, and authentic cookies.
Non-destructive: Disconnects cleanly (
browser.disconnect()) without closing your browser windows.
π Quickstart
1. Installation
Clone this repository and install dependencies:
git clone https://github.com/PabloIan92/linkedin-agent-toolkit.git
cd linkedin-agent-toolkit
npm install
npm link # (Optional: makes 'linkedin' and 'linkedin-mcp' available globally)2. Launch the Chrome Bridge
Run the built-in launcher to start Chrome with remote debugging on port 9222:
npm run start:browser
# Or via CLI:
node bin/cli.js start-browserNote: If it is your first time, simply log into LinkedIn in the opened Chrome window. That session remains saved locally in your isolated user profile directory.
3. Check Connection Status
Verify that the bridge is ready:
node bin/cli.js statusOutput:
{
"connected": true,
"cdpUrl": "http://127.0.0.1:9222",
"hasLinkedInTab": true,
"authenticated": true
}π€ MCP Server Setup for AI Agents
Add linkedin-agent-toolkit to your AI assistant configuration:
For Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"linkedin": {
"command": "node",
"args": ["<PATH_TO_LINKEDIN_AGENT_TOOLKIT>/bin/mcp-server.js"]
}
}
}For Antigravity / OpenCode (mcp_config.json)
{
"mcpServers": {
"linkedin": {
"command": "node",
"args": ["<PATH_TO_LINKEDIN_AGENT_TOOLKIT>/bin/mcp-server.js"]
}
}
}π οΈ MCP Tools Reference
AI agents receive access to the following tools via JSON-RPC:
Tool Name | Parameters | Description |
|
| Diagnoses CDP connection and LinkedIn authentication status. |
|
| Spawns dedicated Chrome browser with remote debugging port. |
|
| Extracts profile data (Name, Headline, About, Projects, Experience). |
|
| Updates the professional headline, with multilingual tab support. |
|
| Updates the About / Summary section. |
|
| Adds a project to the profile via canonical form routes. |
|
| Adds a job position / work experience item. |
|
| Publishes or drafts a status update in the feed. |
|
| Takes a screenshot for agent visual verification and debugging. |
π» CLI Usage
You can also execute all commands directly from your terminal:
# Get profile overview
node bin/cli.js profile get
# Update headline in English
node bin/cli.js profile set-headline "Automation Specialist | APIs | n8n | Remote" --lang en
# Update headline in Spanish
node bin/cli.js profile set-headline "Especialista en AutomatizaciΓ³n | APIs | n8n | Remoto" --lang es
# Update About section
node bin/cli.js profile set-about "Automation specialist with expertise in cloud integrations..." --lang en
# Add a project
node bin/cli.js project add --name "Chatbot n8n + Chatwoot" --desc "Omnichannel bot for WhatsApp & Web" --url "https://github.com/..."
# Add work experience
node bin/cli.js experience add --title "Automation Developer" --company "Independent" --location "Remote" --desc "Built end-to-end API integrations."
# Draft a post for review
node bin/cli.js post "Excited to share our new open source LinkedIn Agent Toolkit!" --draft
# Capture page screenshot
node bin/cli.js screenshot --output ./screenshots/current_profile.pngποΈ Audited by the AI Grand Council
This architecture was designed and vetted in session with the AI Grand Council (PabloIan92/ai-grand-council):
Security Auditor: Enforced strict credential isolation, local CDP attachment, and sanitized
.gitignore.Logician & Systems Engineer: Created selector resiliency, verified toasts, and eliminated
browser.close()process-killing hazards.Protocol Architect: Implemented official
@modelcontextprotocol/sdkschemas and dual MCP/CLI capability.Developer Experience Minimalist: Reduced setup to a single command with auto-discovery.
π License
MIT Β© Pablo Ian Laurino
This server cannot be deployed
Maintenance
Related MCP Connectors
Full LinkedIn access for AI agents: leads, messaging, and campaigns with safe limits built in.
LinkedIn for AI agents: inbox, invitations, Sales Navigator search, posts, jobs, quotas, webhooks.
Give AI agents the LinkedIn tools to find, qualify, engage, and follow up with prospects.
Live LinkedIn data for AI agents: profiles, companies, jobs, posts, email finding. No account risk.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI assistants to interact with LinkedIn by scraping profiles, companies, job postings, and getting personalized job recommendations using authenticated browser automation.1714,598 PyPI3,633Apache 2.0
- AlicenseAqualityBmaintenanceLets an AI assistant operate LinkedIn through an authenticated browser session, enabling profile management, posting, networking, messaging, job search, and automated applications.10014 npm1MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to search LinkedIn jobs and read LinkedIn profiles read-only using a real Chrome session via CDP, with tools for job listings, full job details, profile data, and session management.5Apache 2.0
- AlicenseAqualityBmaintenanceControls the user's LinkedIn account through a logged-in browser session, enabling post publishing, profile viewing and editing, job searching, and Easy Apply submissions from chat.11MIT