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

linkedin-profile-scraper

Lakome LinkedIn MCP Server

Smithery

A lightweight Model Context Protocol (MCP) server providing AI agents with real-time LinkedIn profile extraction capabilities powered by the Lakome API.

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.


Related MCP server: SalesTouch

๐Ÿ“‹ Prerequisites

  • Node.js v18.0.0 or higher

  • A Lakome API Key (Get yours at 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

export LAKOME_API_KEY="your_actual_lakome_api_key_here"

On Windows (PowerShell)

$env:LAKOME_API_KEY="your_actual_lakome_api_key_here"

On Windows (Command Prompt)

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

{
  "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:

{
  "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:

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

{
  "profileUrls": [
    "https://www.linkedin.com/in/williamhgates",
    "https://www.linkedin.com/in/satyanadella"
  ]
}

Example Output Response

[
  {
    "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:

    cd mcp-server
    npm install
  2. Run server locally:

    LAKOME_API_KEY="your_api_key" node index.js
  3. Inspect with MCP Inspector:

    npx @modelcontextprotocol/inspector node index.js

๐Ÿ“„ License

MIT ยฉ Lakome

Available Tools

1 tool
extract_linkedin_profileA

Extracts comprehensive, structured profile data and intelligence from one or more LinkedIn profile URLs using the Lakome API.

ParametersJSON Schema
NameRequiredDescriptionDefault
profileUrlsYesArray of full LinkedIn profile URLs to extract (e.g. ["https://www.linkedin.com/in/williamhgates"])

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

When annotations are absent, the description carries the full disclosure burden. It only says 'extracts' and 'using the Lakome API', but leaves out whether network access is required, whether authentication is needed, whether any state changes occur, and what 'intelligence' entails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence conveys the action, resource, input cardinality, and backend API. There is no fluff, and the key detail that this is a batch-style URL extraction is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The core purpose is clear, but the absence of an output schema and behavioral notes means the agent lacks information about the structure of the returned data, failure behavior, or what data is actually considered 'intelligence'. For such a simple tool, the bare-bones description is minimal but still has noticeable gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the single parameter (profileUrls) with an example, giving 100% coverage. The description adds no new parameter-level information beyond restating the one-or-more constraint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('extract') and identifies the resource clearly: comprehensive structured profile data and intelligence from LinkedIn profile URLs via the Lakome API. It distinguishes the tool's scope immediately, including the ability to handle one or more URLs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage context is explicit: call this tool when you need structured LinkedIn profile data from the given profile URLs. No exclusions or alternative tools exist in the provided context, so the clear scenario description is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedextract_linkedin_profile

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    High-performance autonomous MCP server that turns LinkedIn into an API for AI workflows, enabling profile management, job search, content posting, and document generation.
    14
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for AI-native LinkedIn prospecting. It enables lead research, audience building, conversation management, and controlled outreach actions such as messaging and publishing through an OAuth-protected remote endpoint.
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that lets AI assistants like Claude read LinkedIn data through your own logged-in browser session. Access profiles and companies, search for jobs, or get job details.
    17
    Apache 2.0