linkedin-profile-scraper
Lakome LinkedIn MCP Server
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_profileto 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.jsonWindows:
%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.jswith 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 |
|
| Yes | Array of LinkedIn profile URLs to extract (e.g. |
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
Install dependencies:
cd mcp-server npm installRun server locally:
LAKOME_API_KEY="your_api_key" node index.jsInspect with MCP Inspector:
npx @modelcontextprotocol/inspector node index.js
๐ License
MIT ยฉ Lakome
Available Tools
1 toolextract_linkedin_profileA
Extracts comprehensive, structured profile data and intelligence from one or more LinkedIn profile URLs using the Lakome API.
| Name | Required | Description | Default |
|---|---|---|---|
| profileUrls | Yes | Array of full LinkedIn profile URLs to extract (e.g. ["https://www.linkedin.com/in/williamhgates"]) |
TDQS
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.
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.
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.
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.
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.
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 tool update
v1.0.0- First observed
extract_linkedin_profile
TDQS
Scored across 1 tool
Only one tool exists, so there is zero ambiguity between tools. The tool's purpose is clearly defined and distinct.
The single tool follows a clear verb_noun pattern (extract_linkedin_profile), which is consistent and descriptive.
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.
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
Related MCP Connectors
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
- LinkMCPOAuthio.linkmcp
Hosted MCP server for LinkedIn: 31 tools for profiles, search, messaging, posts, enrichment.
Live LinkedIn data for AI agents: profiles, companies, jobs, posts, email finding. No account risk.
MCP server for LeadDelta โ manage LinkedIn connections and CRM data via AI assistants.
Related MCP Servers
- AlicenseAqualityDmaintenanceHigh-performance autonomous MCP server that turns LinkedIn into an API for AI workflows, enabling profile management, job search, content posting, and document generation.141MIT
- AlicenseNot gradedqualityBmaintenanceMCP 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.2MIT
- AlicenseAqualityBmaintenanceAn 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.19Apache 2.0
- AlicenseAqualityCmaintenanceAn 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.17Apache 2.0