linkedin-automation-mcp
AI-powered LinkedIn automation server for content generation, profile/company data extraction, and connection request automation, integrating with MCP clients like Claude Desktop.
README
LinkedIn Automation & Content Generation MCP Server π
A comprehensive AI-powered LinkedIn automation platform built on the Model Context Protocol (MCP) architecture. This sophisticated system combines advanced AI content generation, browser automation, and business intelligence extraction to provide a complete LinkedIn automation suite for content creators, marketers, sales professionals, and business development teams.
π Key Features
π€ AI-Powered Content Generation
- Smart Content Creation: Generate viral LinkedIn posts using Google Gemini AI
- Topic Research: Analyze existing LinkedIn content for trending topics and insights
- Engagement Optimization: Create posts optimized for maximum engagement and reach
- Content Strategy: Professional storytelling frameworks and thought leadership positioning
π Business Intelligence & Analytics
- π’ Company Analysis: Extract comprehensive employee data from LinkedIn companies
- π€ Profile Intelligence: Deep profile data extraction with AI-powered insights
- π Market Research: Competitive analysis and industry intelligence gathering
- π― Lead Generation: Automated prospect identification and data collection
π€ Sales & Networking Automation
- π Connection Automation: Send personalized connection requests at scale
- οΏ½ AI Personalization: Generate custom messages based on profile analysis
- π± Outreach Management: Streamlined LinkedIn outreach workflows
- π― Targeted Networking: Strategic connection building based on company and role targeting
π οΈ Technical & Operational
- β‘ Health Monitoring: Comprehensive server health checks and status monitoring
- οΏ½ Multi-Deployment: MCP server, standalone, and cloud deployment options
- π³ Docker Ready: Complete containerization for cloud deployment
- π Session Management: Persistent LinkedIn authentication and state management
π Quick Start
π Quick Start: LinkedIn MCP Automation Suite
This guide will help you set up and run the LinkedIn MCP (Model Context Protocol) automation server on your local machine. The instructions are designed for clarity and accuracy, with no exaggeration or unnecessary complexity.
1. Prerequisites
-
Python 3.11 or higher must be installed.
Download Python -
Google Gemini API key (for AI-powered features).
Get your API key here -
LinkedIn account credentials (automation works best with a dedicated account).
-
Google Chrome or Chromium browser (required for browser automation).
2. Clone the Repository
Open a terminal and run:
git clone https://github.com/YOUR_USERNAME/linkedin-automation-mcp.git
cd linkedin-automation-mcp
3. Install Python Dependencies
Install all required packages using pip:
pip install -r requirements.txt
4. Set Up Environment Variables
Create a .env file in the root directory with the following content:
LINKEDIN_USERNAME=your_linkedin_email@example.com
LINKEDIN_PASSWORD=your_linkedin_password
GOOGLE_API_KEY=your_gemini_api_key_here
- Do not share your
.envfile publicly. - These credentials are required for all LinkedIn and AI-powered features.
5. Install Playwright Browser
Install the Chromium browser for Playwright automation:
playwright install chromium
6. Start the MCP Server
You can run the server in two ways:
A. Standard MCP Server (for local use or with MCP clients):
python src/server.py
B. Uvicorn Server (for advanced or cloud use):
python src/main.py
7. Using the Tools
You can access the automation tools in three ways:
-
Via an MCP client (such as Claude Desktop):
Connect to the running server and invoke tools likegenerate_linkedin_content,extract_linkedin_profile_data,extract_company_employees,send_connection_request, andscrape_linkedin_post. -
Direct script execution:
For quick content generation, run:python PostLinkedin.py -
API endpoint (if using Uvicorn):
Advanced users can integrate with the HTTP API.
8. Project Structure Overview
src/server.pyβ Main MCP server entry point; registers all automation tools.src/main.pyβ Alternative entry point using Uvicorn.src/tools/β Contains all core automation modules:generate_linkedin_content.pyβ AI-powered post generation.extract_linkedin_profile_data.pyβ Profile data extraction.extract_company_employees.pyβ Company employee mapping.send_connection_request.pyβ Automated connection requests.scrape_linkedin_post.pyβ Post/comment scraping.linkedin_login.pyβ Centralized authentication/session management.health_check.pyβ Server health check endpoint.
PostLinkedin.pyβ Standalone script for content generation.requirements.txtβ Python dependencies.
9. Notes & Best Practices
-
Session Persistence:
The system saves your LinkedIn login session tolinkedin-state.jsonfor faster, less intrusive automation. -
Security:
All credentials are managed via environment variables. Do not commit your.envfile. -
Compliance:
Use a dedicated LinkedIn account for automation. Respect LinkedInβs terms of service.
10. Troubleshooting
- If you see login errors, double-check your credentials in
.env. - If Playwright fails, ensure Chromium is installed (
playwright install chromium). - For AI errors, verify your Google Gemini API key and internet connection.
11. Connecting MCP to Claude Desktop
To use the LinkedIn MCP server with Claude Desktop (or any MCP-compatible client):
-
Start the MCP server (see step 6 above).
-
Configure Claude Desktop to recognize your local MCP server:
-
Open the Claude Desktop settings or configuration file (usually
settings.jsonor similar). -
Add or update the
mcpServerssection as follows (adjust theargspath to match the location ofsrc/server.pyon your system):
{ "mcpServers": { "linkedin-mcp": { "command": "python", "args": ["/absolute/path/to/src/server.py"], "env": { "LINKEDIN_USERNAME": "your_linkedin_email@example.com", "LINKEDIN_PASSWORD": "your_linkedin_password", "GOOGLE_API_KEY": "your_gemini_api_key_here" } } } }-
The
commandandargsfields must point to the correct Python executable and the full path tosrc/server.pyon your machine. For example, if your project is cloned toC:/Users/YourName/linkedin-automation-mcp/, then use:"args": ["C:/Users/YourName/linkedin-automation-mcp/src/server.py"] -
Use your actual credentials and API key (never share these publicly).
-
-
Restart Claude Desktop. The LinkedIn MCP tools will now appear as available actions or plugins.
-
Invoke tools like
generate_linkedin_content,extract_linkedin_profile_data, etc., directly from Claude Desktop's interface.
For questions or issues, please open a GitHub issue or contact the project maintainer.
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.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.