logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-linkedin-server

Automate interactions with LinkedIn, extract data, and manage profiles, posts, and feeds using browser automation while adhering to LinkedIn's terms and rate limits.

Author

mcp-linkedin-server logo

alinaqi

No License

Quick Info

GitHub GitHub Stars 43
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

linkedinfeedsautomationmcp linkedininteractions linkedinadhering linkedin

LinkedIn Browser MCP Server

A FastMCP-based server for LinkedIn automation and data extraction using browser automation. This server provides a set of tools for interacting with LinkedIn programmatically while respecting LinkedIn's terms of service and rate limits.

Features

  • Secure Authentication
  • Environment-based credential management
  • Session persistence with encrypted cookie storage
  • Rate limiting protection
  • Automatic session recovery

  • Profile Operations

  • View and extract profile information
  • Search for profiles based on keywords
  • Browse LinkedIn feed
  • Profile visiting capabilities

  • Post Interactions

  • Like posts
  • Comment on posts
  • Read post content and engagement metrics

Prerequisites

  • Python 3.8+
  • Playwright
  • FastMCP library
  • LinkedIn account

Installation

  1. Clone the repository:
git clone [repository-url]
cd mcp-linkedin-server
  1. Create and activate a virtual environment:
python -m venv env
source env/bin/activate  # On Windows: env\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
playwright install chromium
  1. Set up environment variables: Create a .env file in the root directory with:
LINKEDIN_USERNAME=your_email@example.com
LINKEDIN_PASSWORD=your_password
COOKIE_ENCRYPTION_KEY=your_encryption_key  # Optional: will be auto-generated if not provided

Usage

  1. Start the MCP server:
python linkedin_browser_mcp.py
  1. Available Tools:

  2. login_linkedin_secure: Securely log in using environment credentials

  3. browse_linkedin_feed: Browse and extract posts from feed
  4. search_linkedin_profiles: Search for profiles matching criteria
  5. view_linkedin_profile: View and extract data from specific profiles
  6. interact_with_linkedin_post: Like, comment, or read posts

Example Usage

from fastmcp import FastMCP

# Initialize client
client = FastMCP.connect("http://localhost:8000")

# Login
result = await client.login_linkedin_secure()
print(result)

# Search profiles
profiles = await client.search_linkedin_profiles(
    query="software engineer",
    count=5
)
print(profiles)

# View profile
profile_data = await client.view_linkedin_profile(
    profile_url="https://www.linkedin.com/in/username"
)
print(profile_data)

Security Features

  • Encrypted cookie storage
  • Rate limiting protection
  • Secure credential management
  • Session persistence
  • Browser automation security measures

Best Practices

  1. Rate Limiting: The server implements rate limiting to prevent excessive requests:
  2. Maximum 5 login attempts per hour
  3. Automatic session reuse
  4. Cookie persistence to minimize login needs

  5. Error Handling: Comprehensive error handling for:

  6. Network issues
  7. Authentication failures
  8. LinkedIn security challenges
  9. Invalid URLs or parameters

  10. Session Management:

  11. Automatic cookie encryption
  12. Session persistence
  13. Secure storage practices

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

MIT

Disclaimer

This tool is for educational purposes only. Ensure compliance with LinkedIn's terms of service and rate limiting guidelines when using this software.

See Also

`