linkedin-profile-scraper
README.md
# Lakome LinkedIn MCP Server
[](https://smithery.ai/server/lakome-linkedin-mcp)
A lightweight Model Context Protocol (MCP) server providing AI agents with real-time LinkedIn profile extraction capabilities powered by the [Lakome API](https://mcp.lakome.in).
This server acts as a bridge between LLM clients (such as Claude Desktop, Cursor, Cline, Roo Code, and custom AI agents) and the Lakome LinkedIn intelligence endpoint.
---
## โก Features
- **Standard stdio Transport**: Compatible with any standard MCP client.
- **Single Specialized Tool**: Exposes `extract_linkedin_profile` to extract full structured profile details (work experience, education, skills, headline, summary, contact info, and more).
- **Batch Processing**: Supports querying single or multiple LinkedIn profile URLs in a single request.
- **Error Handling**: Validates authentication keys and returns formatted error feedback.
---
## ๐ Prerequisites
- **Node.js** v18.0.0 or higher
- A **Lakome API Key** (Get yours at [mcp.lakome.in](https://mcp.lakome.in))
---
## ๐ Setting Your `LAKOME_API_KEY`
The server requires your `LAKOME_API_KEY` to authenticate requests with the Lakome API endpoint.
### On macOS / Linux
```bash
export LAKOME_API_KEY="your_actual_lakome_api_key_here"
```
### On Windows (PowerShell)
```powershell
$env:LAKOME_API_KEY="your_actual_lakome_api_key_here"
```
### On Windows (Command Prompt)
```cmd
set LAKOME_API_KEY=your_actual_lakome_api_key_here
```
---
## ๐ Installation & Client Configuration
### 1. Claude Desktop Setup
Add the server configuration to your `claude_desktop_config.json`:
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"lakome-linkedin": {
"command": "node",
"args": [
"/absolute/path/to/mcp-server/index.js"
],
"env": {
"LAKOME_API_KEY": "your_actual_lakome_api_key_here"
}
}
}
}
```
> **Note for Windows users**: Replace `/absolute/path/to/mcp-server/index.js` with your absolute Windows path (e.g., `D:\\extensions and projects\\lakome API project\\mcp-server\\index.js`).
---
### 2. Cursor IDE Setup
Add the following to your project's `.cursor/mcp.json` or global MCP settings:
```json
{
"mcpServers": {
"lakome-linkedin": {
"command": "node",
"args": [
"./mcp-server/index.js"
],
"env": {
"LAKOME_API_KEY": "your_actual_lakome_api_key_here"
}
}
}
}
```
---
### 3. Smithery.ai CLI
You can install and run the server automatically via [Smithery](https://smithery.ai):
```bash
npx -y @smithery/cli install @lakome/linkedin-mcp --client claude
```
---
## ๐ ๏ธ Tool Reference
### `extract_linkedin_profile`
Extracts comprehensive, structured profile data and intelligence from one or more LinkedIn profile URLs.
#### Parameters
| Name | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| `profileUrls` | `string[]` | **Yes** | Array of LinkedIn profile URLs to extract (e.g. `["https://www.linkedin.com/in/williamhgates"]`) |
#### Example Invocation
```json
{
"profileUrls": [
"https://www.linkedin.com/in/williamhgates",
"https://www.linkedin.com/in/satyanadella"
]
}
```
#### Example Output Response
```json
[
{
"url": "https://www.linkedin.com/in/williamhgates",
"data": {
"fullName": "Bill Gates",
"headline": "Co-chair, Bill & Melinda Gates Foundation",
"location": "Seattle, Washington, United States",
"summary": "Co-chair of the Bill & Melinda Gates Foundation. Founder of Breakthrough Energy...",
"experiences": [
{
"title": "Co-chair",
"company": "Bill & Melinda Gates Foundation",
"dateRange": "2000 - Present"
}
],
"education": [
{
"schoolName": "Harvard University",
"degreeName": "Honorary Doctorate",
"fieldOfStudy": "Law"
}
],
"skills": ["Philanthropy", "Software Development", "Global Health"]
},
"status": "success"
}
]
```
---
## ๐งช Local Testing & Development
1. **Install dependencies**:
```bash
cd mcp-server
npm install
```
2. **Run server locally**:
```bash
LAKOME_API_KEY="your_api_key" node index.js
```
3. **Inspect with MCP Inspector**:
```bash
npx @modelcontextprotocol/inspector node index.js
```
---
## ๐ License
MIT ยฉ [Lakome](https://mcp.lakome.in)
TDQS
A3.9/5.0
Scored across 1 tool
Disambiguation5/5
Only one tool exists, so there is zero ambiguity between tools. The tool's purpose is clearly defined and distinct.
Naming Consistency5/5
The single tool follows a clear verb_noun pattern (extract_linkedin_profile), which is consistent and descriptive.
Tool Count3/5
A single tool is borderline for a server, but for a focused LinkedIn profile scraper it is not unreasonable. Still, the surface is minimal and offers no auxiliary capabilities.
Completeness5/5
The tool's description indicates it extracts comprehensive structured profile data from one or more URLs, which fully covers the server's stated purpose. No obvious gaps in the domain of LinkedIn profile scraping.
Maintenance
ActivityMaintained
ResponsivenessNo issues