LinkedIn MCP Server
A Model Context Protocol (MCP) server that enables interaction with LinkedIn through Claude and other AI assistants. This server allows you to scrape LinkedIn profiles, companies, jobs, and perform job searches.
stickerdaniel
README
LinkedIn MCP Server
A Model Context Protocol (MCP) server that enables interaction with LinkedIn through Claude and other AI assistants. This server allows you to scrape LinkedIn profiles, companies, jobs, and perform job searches.
📋 Features
- Profile Scraping: Get detailed information from LinkedIn profiles
- Company Analysis: Extract company information, including employees if desired
- Job Search: Search for jobs and get recommended positions
🔧 Installation
Installing via Smithery
To install LinkedIn MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @stickerdaniel/linkedin-mcp-server --client claude
Prerequisites
- Python 3.8 or higher
- Chrome browser installed
- ChromeDriver matching your Chrome version
- A LinkedIn account
Step 1: Clone or Download the Repository
git clone https://github.com/stickerdaniel/linkedin-mcp-server
cd linkedin-mcp-server
Or download and extract the zip file.
Step 2: Set Up a Virtual Environment
Using uv
(recommended):
# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create and activate virtual environment
uv venv
source .venv/bin/activate # On macOS/Linux
# OR
.venv\Scripts\activate # On Windows
Step 3: Install Dependencies
Using uv
:
uv add "mcp[cli]" selenium httpx inquirer pyperclip
uv add "git+https://github.com/stickerdaniel/linkedin_scraper.git"
Step 4: Install ChromeDriver
ChromeDriver is required for Selenium to interact with Chrome. You need to install the version that matches your Chrome browser.
-
Check your Chrome version:
- Open Chrome and go to the menu (three dots) > Help > About Google Chrome
- Note the version number (e.g., 123.0.6312.87)
-
Download matching ChromeDriver:
- Go to ChromeDriver Downloads / Chrome for Testing (Chrome-Version 115+)
- Download the version that matches your Chrome version
- Extract the downloaded file
-
Make ChromeDriver accessible:
- Option 1: Place it in a directory that's in your PATH (e.g.,
/usr/local/bin
on macOS/Linux) - Option 2: Set the CHROMEDRIVER environment variable to the path where you placed it:
export CHROMEDRIVER=/path/to/chromedriver # macOS/Linux # OR set CHROMEDRIVER=C:\path\to\chromedriver.exe # Windows
- Option 3: The server will attempt to auto-detect or prompt you for the path when run
- Option 1: Place it in a directory that's in your PATH (e.g.,
🚀 Running the Server
- Start the server once manually:
# Using uv (recommended)
uv run main.py --no-lazy-init --no-headless
-
Lazy initialization (default behavior):
- The server uses lazy initialization, meaning it will only create the Chrome driver and log in when a tool is actually used
- You can set environment variables for non-interactive use:
export LINKEDIN_EMAIL=your.email@example.com export LINKEDIN_PASSWORD=your_password
-
Configure Claude Desktop:
- The server will display and copy to your clipboard the configuration needed for Claude Desktop
- Open Claude Desktop and go to Settings > Developer > Edit Config
- Paste the configuration provided by the server
- Edit the configuration to include your LinkedIn credentials as environment variables
Example Claude Desktop configuration:
{
"mcpServers": {
"linkedin-scraper": {
"command": "/path/to/uv",
"args": ["--directory", "/path/to/project", "run", "main.py", "--no-setup"],
"env": {
"LINKEDIN_EMAIL": "your.email@example.com",
"LINKEDIN_PASSWORD": "your_password"
}
}
}
}
🔄 Using with Claude Desktop
- After adding the configuration to Claude Desktop, restart the application
- Start a conversation with Claude
- You'll see tools available in the tools menu (hammer icon)
- You can now ask Claude to retrieve LinkedIn profiles, search for jobs, etc.
Examples of what you can ask Claude:
- "Can you tell me about Daniels work experience? His LinkedIn profile is https://www.linkedin.com/in/stickerdaniel/"
- "Search for machine learning engineer jobs on LinkedIn"
- "Tell me about Google as a company based on their LinkedIn page"
🔐 Security and Privacy
- Your LinkedIn credentials can be provided through environment variables or stored locally at
~/.linkedin_mcp_credentials.json
with user-only permissions - Credentials are never exposed to Claude or any other AI and are only used for the LinkedIn login to scrape data
- The server runs on your local machine, not in the cloud
- All LinkedIn scraping happens through your account - be aware that profile visits are visible to other users
⚠️ Troubleshooting
ChromeDriver Issues
If you encounter ChromeDriver errors:
- Ensure your Chrome browser is updated
- Download the matching ChromeDriver version
- Set the CHROMEDRIVER path correctly
- Try running with administrator/sudo privileges if permission issues occur
Authentication Issues
If login fails:
- Verify your LinkedIn credentials
- Check if your account has two-factor authentication enabled
- Try logging in manually to LinkedIn first, then run the server
- Check your LinkedIn mobile app for a login request after running the server
- Try to run the server with
--no-headless
to see where the login fails - Try to run the server with
--debug
to see more detailed logs
Connection Issues
If Claude cannot connect to the server:
- Ensure the server is running when you start it manually
- Verify the configuration in Claude Desktop is correct
- Restart Claude Desktop
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements
- Based on the LinkedIn Scraper by joeyism
- Uses the Model Context Protocol (MCP) for integration with AI assistants
Note: This tool is for personal use only. Use responsibly and in accordance with LinkedIn's terms of service. Web scraping may violate LinkedIn's terms of service in some cases.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.