LinkedIn Profile Scraper MCP Server
LocalAbout LinkedIn Profile Scraper MCP Server
This Python MCP server retrieves LinkedIn profile information through the Fresh LinkedIn Profile Data API. It is intended for MCP clients that need profile data returned as JSON through a single tool.
Key features
- 01Fetch profile data from a LinkedIn URL
- 02Return profile details as JSON
- 03Authenticate with a RapidAPI key
- 04Make asynchronous HTTP requests
Use cases
- 01Retrieve profile information for a supplied URL
- 02Pass LinkedIn profile data to an MCP client
- 03Handle profile API requests asynchronously
MCP support
The server exposes a single MCP tool, get_profile, which accepts a LinkedIn profile URL and returns profile data as JSON. It uses stdio transport and requires a RapidAPI key.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMELinkedIn 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
httpxfor non-blocking API calls. - Environment-based Configuration: Reads the
RAPIDAPI_KEYfrom your environment variables usingdotenv.
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
.envfile in your project directory (or set it in your environment).
Installation
-
Clone the Repository:
git clone https://github.com/codingaslu/Linkedin_Mcp_Server cd Linkedin_Mcp_Server -
Install Dependencies:
uv add mcp[cli] httpx requests -
Set Up Environment Variables:
Create a
.envfile 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
dotenvto load theRAPIDAPI_KEYrequired to authenticate with the Fresh LinkedIn Profile Data API. - API Call: The asynchronous function
get_linkedin_datamakes a GET request to the API with specified query parameters. - MCP Tool: The
get_profiletool 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
stdiotransport.
Troubleshooting
- Missing RAPIDAPI_KEY: If the key is not set, the server will raise a
ValueError. Make sure the key is added to your.envfile 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 LICENSE file for more details.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.