Linkedin_Mcp_Server

Linkedin_Mcp_Server

0

The LinkedIn Profile Scraper MCP Server fetches LinkedIn profile data using the Fresh LinkedIn Profile Data API. Implemented as a model context protocol server, it provides asynchronous non-blocking API calls to access profile details. Key features include environment-based configuration and integration with the MCP framework.

LinkedIn Profile Scraper MCP Server

This MCP server uses the Fresh LinkedIn Profile Data API to fetch LinkedIn profile information. It is implemented as a model context protocol (MCP) server and exposes a single tool, get_profile, which accepts a LinkedIn profile URL and returns the profile data in JSON format.

Features

  • Fetch Profile Data: Retrieves LinkedIn profile information including skills and other settings (with most additional details disabled).
  • Asynchronous HTTP Requests: Uses httpx for non-blocking API calls.
  • Environment-based Configuration: Reads the RAPIDAPI_KEY from your environment variables using dotenv.

Prerequisites

  • Python 3.7+ – Ensure you are using Python version 3.7 or higher.
  • MCP Framework: Make sure the MCP framework is installed.
  • Required Libraries: Install httpx, python-dotenv, and other dependencies.
  • RAPIDAPI_KEY: Obtain an API key from RapidAPI and add it to a .env file in your project directory (or set it in your environment).

Installation

  1. Clone the Repository:

    git clone https://github.com/codingaslu/Linkedin_Mcp_Server
    cd Linkedin_Mcp_Server
    
  2. Install Dependencies:

    uv add mcp[cli] httpx requests
    
  3. Set Up Environment Variables:

    Create a .env file in the project directory with the following content:

    RAPIDAPI_KEY=your_rapidapi_key_here
    

Running the Server

To run the MCP server, execute:

uv run linkedin.py

The server will start and listen for incoming requests via standard I/O.

MCP Client Configuration

To connect your MCP client to this server, add the following configuration to your config.json. Adjust the paths as necessary for your environment:

{
  "mcpServers": {
    "linkedin_profile_scraper": {
      "command": "C:/Users/aiany/.local/bin/uv",
      "args": [
        "--directory",
        "C:/Users/aiany/OneDrive/Desktop/linkedin-mcp/project",
        "run",
        "linkedin.py"
      ]
    }
  }
}

Code Overview

  • Environment Setup: The server uses dotenv to load the RAPIDAPI_KEY required to authenticate with the Fresh LinkedIn Profile Data API.
  • API Call: The asynchronous function get_linkedin_data makes a GET request to the API with specified query parameters.
  • MCP Tool: The get_profile tool wraps the API call and returns formatted JSON data, or an error message if the call fails.
  • Server Execution: The MCP server is run with the stdio transport.

Troubleshooting

  • Missing RAPIDAPI_KEY: If the key is not set, the server will raise a ValueError. Make sure the key is added to your .env file or set in your environment.
  • API Errors: If the API request fails, the tool will return a message indicating that the profile data could not be fetched.

License

This project is licensed under the MIT License. See the file for more details.