LinkedIn MCP Pro Max
Integrates OpenAI's API for AI-powered content generation, used to create LinkedIn posts, resumes, and cover letters.
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 MCP Pro Maxsearch for data scientist jobs at Google"
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.
Quick Start
1. Prerequisites
Ensure you have uv installed:
curl -LsSf https://astral.sh/uv/install.sh | sh2. Installation & Setup
Method A: Automated Setup (Recommended)
chmod +x scripts/setup.sh
./scripts/setup.shThe script handles dependency syncing, .env bootstrapping, and stealth browser provisioning.
Method B: Manual Setup
uv sync
uv run python -m patchright install chromium
cp .env.example .envEdit .env with your LinkedIn credentials:
LINKEDIN_EMAIL="your-email@example.com"
LINKEDIN_PASSWORD="your-secure-password"
LINKEDIN_USERNAME="your-profile-slug"4. First-Run Authentication
uv run linkedin-mcp-pro-max --login5. Connect to Claude Desktop (or any MCP client)
Add to your claude_desktop_config.json:
{
"mcpServers": {
"linkedin-mcp-pro-max": {
"command": "/home/naimul/.local/bin/uv",
"args": [
"--directory",
"/home/naimul/linkedin-mcp-pro-max",
"run",
"linkedin-mcp-pro-max"
]
}
}
}Related MCP server: @isteam/linkedin-mcp
The MCP Toolkit (14 Unified Tools)
Category | Tool | Actions | Description |
Profile |
|
| Manage deep profile data, AI analysis, and identity updates |
|
| Manage professional experience entries | |
|
| Manage education entries | |
|
| Manage skills on your profile | |
| - | Get detailed corporate metadata and insights | |
Jobs & Intel |
|
| Discover, analyze, and apply for job postings |
|
| Manage internal job application tracking | |
Content |
| - | Publish AI-generated posts autonomously |
|
| Engage with feed posts via URL | |
Documents |
| - | Generate a professional resume from your profile |
| - | Target your resume to match a specific Job ID | |
| - | Create a personalized contextual cover letter | |
| - | View all available document templates | |
System |
|
| Manage the MCP server lifecycle |
Architecture
Built on Clean Architecture with a one-way dependency rule and a Unified Component Registry that eliminates all manual wiring.
[tools/] → [services/] → [browser/actors/ + browser/scrapers/]
ctx.my_svc manager.my_actor / manager.my_scraperDirectory Structure
src/
├── app.py # Composition root — auto-wires from registry
├── helpers/
│ └── registry.py # Unified discovery engine (ServiceMeta, ActorMeta, ScraperMeta)
├── tools/ # MCP tool definitions (@mcp.tool) — auto-discovered
├── services/ # Business logic layer — auto-wired via SERVICE markers
├── browser/
│ ├── actors/ # Write operations (UI interaction) — auto-registered
│ ├── scrapers/ # Read operations (data extraction) — auto-registered
│ ├── manager.py # Orchestrator — auto-instantiates actors/scrapers
│ └── helpers/ # Low-level browser utilities (driver, sniffer, dom)
├── api/ # LinkedIn internal API client
├── db/ # Database repositories
├── schema/ # Pydantic domain models
├── config/ # Settings and environment
└── providers/ # AI provider wrappers (OpenAI, Claude)The Zero-Config Flow
At startup, helpers/registry.py scans services/, browser/actors/, and browser/scrapers/ automatically:
discover_all()
├── services/*.py → SERVICE = ServiceMeta(...) → injected into AppContext
├── browser/actors/* → ACTOR = ActorMeta(...) → instantiated in BrowserManager
└── browser/scrapers/ → SCRAPER = ScraperMeta(...) → instantiated in BrowserManagerNo manual registration. No editing app.py or manager.py.
Adding New Features
For the complete development pipeline, debugging guide, and working examples, see the Tool Development Guide.
A full feature (scraper + service + tool) requires exactly 3 new files. No existing file is modified.
1. Browser Scraper — src/browser/scrapers/my_feature.py
from helpers.registry import ScraperMeta
class MyFeatureScraper:
def __init__(self, page): ...
async def scrape(self): ...
SCRAPER = ScraperMeta(attr="my_feature_scraper", cls=MyFeatureScraper)2. Service — src/services/my_feature.py
from helpers.registry import ServiceMeta
class MyFeatureService:
def __init__(self, browser=None): ...
async def do_work(self): ...
SERVICE = ServiceMeta(attr="my_feature", cls=MyFeatureService, deps=["browser"], lazy=True)3. Tool — src/tools/my_feature.py
from app import mcp, get_ctx
@mcp.tool()
async def my_feature_tool(param: str) -> str:
"""Description the AI reads to decide when to use this tool."""
ctx = await get_ctx()
await ctx.initialize_browser()
result = await ctx.my_feature.do_work()
return json.dumps(result)app.py, manager.py, services/__init__.py, tools/__init__.py — never touched.
uv run linkedin-mcp-pro-max # Start MCP server
uv run linkedin-mcp-pro-max --login # Autonomous headless login
uv run linkedin-mcp-pro-max --status # Check authentication status
uv run linkedin-mcp-pro-max --logout # Clear session and cookiesDocumentation
Document | Description |
Full pipeline: creating tools, services, actors, scrapers. Debugging guide. | |
Service layer conventions and dependency rules | |
Actor conventions and browser interaction patterns | |
Pydantic model conventions |
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
- 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
- AlicenseAqualityDmaintenanceMCP server for LinkedIn that enables AI agents to post, comment, like, and manage content on LinkedIn.1061MIT
- AlicenseAqualityAmaintenanceSelf-hosted, ban-safe MCP server for LinkedIn that provides 22 tools for profiles, search, jobs, posts, connections, and messages. Integrates with any MCP-compatible client like Claude Desktop.581MIT
- AlicenseNot gradedqualityCmaintenanceAI-powered LinkedIn automation server for content generation, profile/company data extraction, and connection request automation, integrating with MCP clients like Claude Desktop.MIT
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.
Give AI agents the LinkedIn tools to find, qualify, engage, and follow up with prospects.
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/mdnaimul22/linkedin-mcp-pro-max'
If you have feedback or need assistance with the MCP directory API, please join our Discord server