linkedin-profile-scraper
Lakome LinkedIn MCP Server
AIエージェントに、Lakome API を利用したリアルタイムのLinkedInプロフィール抽出機能を提供する、軽量なModel Context Protocol(MCP)サーバーです。
このサーバーは、LLMクライアント(Claude Desktop、Cursor、Cline、Roo Code、カスタムAIエージェントなど)と、LakomeのLinkedInインテリジェンスエンドポイントとの間のブリッジとして機能します。
⚡ 機能
標準stdioトランスポート: 標準的なMCPクライアントと互換性があります。
単一の専用ツール:
extract_linkedin_profileを公開し、構造化された完全なプロフィール情報(職歴、学歴、スキル、ヘッドライン、サマリー、連絡先情報など)を抽出します。バッチ処理: 単一または複数のLinkedInプロフィールURLを1回のリクエストで照会できます。
エラーハンドリング: 認証キーを検証し、整形されたエラーフィードバックを返します。
Related MCP server: SalesTouch
📋 前提条件
Node.js v18.0.0 以上
Lakome APIキー(mcp.lakome.in で取得できます)
🔑 LAKOME_API_KEY の設定
サーバーがLakome APIエンドポイントへのリクエストを認証するには、LAKOME_API_KEY が必要です。
macOS / Linux の場合
export LAKOME_API_KEY="your_actual_lakome_api_key_here"Windows(PowerShell)の場合
$env:LAKOME_API_KEY="your_actual_lakome_api_key_here"Windows(コマンドプロンプト)の場合
set LAKOME_API_KEY=your_actual_lakome_api_key_here🚀 インストールとクライアント設定
1. Claude Desktop のセットアップ
サーバー設定を 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"
}
}
}
}Windowsユーザーへの注意:
/absolute/path/to/mcp-server/index.jsを、お使いのWindowsの絶対パスに置き換えてください(例:D:\\extensions and projects\\lakome API project\\mcp-server\\index.js)。
2. Cursor IDE のセットアップ
プロジェクトの .cursor/mcp.json またはグローバルMCP設定に、以下を追加してください:
{
"mcpServers": {
"lakome-linkedin": {
"command": "node",
"args": [
"./mcp-server/index.js"
],
"env": {
"LAKOME_API_KEY": "your_actual_lakome_api_key_here"
}
}
}
}3. Smithery.ai CLI
Smithery 経由でサーバーを自動的にインストールして実行できます:
npx -y @smithery/cli install @lakome/linkedin-mcp --client claude🛠️ ツールリファレンス
extract_linkedin_profile
1つ以上のLinkedInプロフィールURLから、包括的で構造化されたプロフィールデータとインテリジェンスを抽出します。
パラメータ
名前 | 型 | 必須 | 説明 |
|
| はい | 抽出対象のLinkedInプロフィールURLの配列(例: |
呼び出し例
{
"profileUrls": [
"https://www.linkedin.com/in/williamhgates",
"https://www.linkedin.com/in/satyanadella"
]
}出力応答例
[
{
"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"
}
]🧪 ローカルでのテストと開発
依存関係をインストール:
cd mcp-server npm installサーバーをローカルで実行:
LAKOME_API_KEY="your_api_key" node index.jsMCP Inspector で確認:
npx @modelcontextprotocol/inspector node index.js
📄 ライセンス
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.
Live LinkedIn data for AI agents: profiles, companies, jobs, posts, email finding. No account risk.
LinkedIn jobs, companies and people for AI agents, plus messages and invites via your own account.
A hosted LinkedIn MCP server for your own account. Paste one address into Claude, ChatGPT, Cursor or n8n to read your inbox, send messages and invitations, and search people. Free to start. Not made by LinkedIn.
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 gradedqualityCmaintenanceMCP 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
- AlicenseAqualityDmaintenanceAn 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
- AlicenseAqualityDmaintenanceAn 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