Skip to main content
Glama
lakome-learn-n-grow

linkedin-profile-scraper

README.md
# Lakome LinkedIn MCP Server

[![Smithery](https://smithery.ai/badge/lakome-linkedin-mcp)](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