{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github_mcp-stickerdaniel-linkedin-mcp-server","slug":"mcp-stickerdaniel-linkedin-mcp-server","name":"linkedin-mcp-server","type":"mcp","url":"https://github.com/stickerdaniel/linkedin-mcp-server","page_url":"https://unfragile.ai/mcp-stickerdaniel-linkedin-mcp-server","categories":["mcp-servers"],"tags":["ai-agents","anthropic","chatgpt","chatgpt-desktop","claude","claude-ai","claude-code","claude-desktop","desktop-extension","dxt","linkedin","linkedin-api","linkedin-mcp","linkedin-profile-scraper","linkedin-scraper","mcp","mcp-server","model-context-protocol","python"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github_mcp-stickerdaniel-linkedin-mcp-server__cap_0","uri":"capability://tool.use.integration.linkedin.profile.data.retrieval.via.mcp.protocol","name":"linkedin profile data retrieval via mcp protocol","description":"Exposes LinkedIn profile information (name, headline, location, connections, experience, education) through the Model Context Protocol as structured tool calls that Claude and other MCP-compatible AI assistants can invoke. Uses the linkedin-api Python library to authenticate and fetch profile data, then marshals responses into MCP tool result format for seamless LLM integration.","intents":["I want Claude to look up a LinkedIn profile and summarize someone's background for me","I need to enrich candidate data by pulling their LinkedIn profile details into an AI workflow","I want to build an AI agent that can research people by fetching their LinkedIn profiles on demand"],"best_for":["AI agent builders integrating LinkedIn data into Claude workflows","Recruitment automation teams building candidate research pipelines","Solo developers prototyping MCP-based LinkedIn assistants"],"limitations":["Requires valid LinkedIn credentials (email/password or session cookies) — no OAuth support","LinkedIn actively blocks scraping; authentication may fail if LinkedIn detects bot-like behavior","Rate-limited by LinkedIn's server-side protections; bulk profile fetches will trigger blocks","Profile data freshness depends on LinkedIn's caching; real-time updates not guaranteed","Cannot access private profile sections or restricted data (e.g., salary, detailed contact info)"],"requires":["Python 3.8+","Valid LinkedIn account credentials","MCP-compatible client (Claude Desktop, Cline, or other MCP host)","linkedin-api Python package"],"input_types":["LinkedIn profile URL or username (string)","LinkedIn user ID (string)"],"output_types":["Structured JSON with profile fields (name, headline, location, connections count, experience array, education array)"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-stickerdaniel-linkedin-mcp-server__cap_1","uri":"capability://tool.use.integration.company.information.lookup.and.enrichment","name":"company information lookup and enrichment","description":"Retrieves company metadata from LinkedIn (company name, industry, size, location, description, follower count) through MCP tool calls, enabling AI assistants to enrich company context during research or recruitment workflows. Fetches data via linkedin-api's company endpoint and structures results as MCP tool outputs for LLM consumption.","intents":["I want Claude to look up a company's LinkedIn profile to get industry, size, and description","I need to enrich job postings with company background information automatically","I want my AI agent to research companies during candidate evaluation workflows"],"best_for":["Recruitment platforms automating company context enrichment","AI agents building company research reports","Job board integrations needing company metadata"],"limitations":["Company data availability depends on LinkedIn's public company pages; private companies may have limited data","Subject to same LinkedIn rate-limiting and bot-detection as profile lookups","Cannot access non-public company metrics (e.g., internal headcount, salary bands)","Company name variations and disambiguation not handled automatically"],"requires":["Python 3.8+","Valid LinkedIn account credentials","MCP-compatible client","linkedin-api Python package"],"input_types":["Company name (string)","LinkedIn company URL or ID (string)"],"output_types":["Structured JSON with company fields (name, industry, company_size, location, description, follower_count)"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-stickerdaniel-linkedin-mcp-server__cap_2","uri":"capability://tool.use.integration.job.search.and.listing.retrieval","name":"job search and listing retrieval","description":"Searches LinkedIn job postings by keyword, location, and filters (job title, company, experience level) and returns structured job listings through MCP tools. Uses linkedin-api's job search endpoint to query LinkedIn's job database and marshals results into MCP tool format for Claude to process and reason about.","intents":["I want Claude to search for software engineer jobs in San Francisco and summarize the results","I need to build an AI agent that monitors job postings matching specific criteria","I want to enrich candidate profiles by finding relevant job opportunities for them"],"best_for":["Job board builders integrating LinkedIn job data into AI workflows","Recruitment automation platforms matching candidates to opportunities","Career coaching AI agents recommending jobs to users"],"limitations":["Job search results limited by LinkedIn's pagination and rate-limiting","Cannot filter by salary, benefits, or other non-standard job attributes","Job posting freshness depends on LinkedIn's indexing; newly posted jobs may not appear immediately","Search results may include sponsored/promoted listings without clear distinction","No access to application status or internal hiring pipeline data"],"requires":["Python 3.8+","Valid LinkedIn account credentials","MCP-compatible client","linkedin-api Python package"],"input_types":["Job title or keyword (string)","Location (string)","Optional filters: experience level, job type, company name (strings)"],"output_types":["Array of structured JSON job objects with fields (job_id, title, company, location, description, posted_date, applicant_count)"],"categories":["tool-use-integration","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-stickerdaniel-linkedin-mcp-server__cap_3","uri":"capability://tool.use.integration.direct.messaging.and.conversation.retrieval","name":"direct messaging and conversation retrieval","description":"Fetches LinkedIn direct messages and conversation history through MCP tools, allowing AI assistants to read and analyze message threads. Uses linkedin-api's messaging endpoints to retrieve conversation metadata and message content, then structures results as MCP tool outputs for LLM analysis and response generation.","intents":["I want Claude to read my LinkedIn messages and summarize key conversations","I need an AI agent to monitor LinkedIn messages for recruiter outreach","I want to build a chatbot that can draft responses to LinkedIn messages"],"best_for":["Personal productivity tools automating LinkedIn message triage","Recruitment automation platforms monitoring inbound recruiter messages","AI assistants drafting professional responses to LinkedIn inquiries"],"limitations":["Requires full LinkedIn account access; cannot use limited-scope OAuth tokens","Message retrieval subject to LinkedIn's rate-limiting and bot detection","Cannot send messages directly (read-only in current implementation based on repo description)","Message history limited by LinkedIn's retention and pagination","No support for message attachments or rich media content"],"requires":["Python 3.8+","Valid LinkedIn account credentials with messaging access","MCP-compatible client","linkedin-api Python package"],"input_types":["Conversation ID or participant username (string)","Optional: message count limit (integer)"],"output_types":["Array of structured JSON message objects with fields (sender, timestamp, content, conversation_id)"],"categories":["tool-use-integration","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-stickerdaniel-linkedin-mcp-server__cap_4","uri":"capability://tool.use.integration.mcp.protocol.server.implementation.and.tool.registration","name":"mcp protocol server implementation and tool registration","description":"Implements a fully functional MCP server that registers LinkedIn data access functions as callable tools, handles MCP protocol handshakes, manages request/response serialization, and maintains session state across multiple tool invocations. Built on the MCP Python SDK, it exposes LinkedIn operations as standardized MCP tools that any MCP-compatible client (Claude Desktop, Cline, etc.) can discover and invoke.","intents":["I want to connect LinkedIn data to Claude Desktop without building custom integrations","I need to expose LinkedIn as a tool that multiple MCP clients can access","I want to build a reusable MCP server that other developers can deploy and use"],"best_for":["Developers building MCP-based AI agent ecosystems","Teams standardizing on MCP for tool integration across multiple LLM clients","Open-source contributors extending LinkedIn integrations for AI workflows"],"limitations":["Requires MCP client support; not compatible with REST-only API consumers","Server must run continuously; no serverless/stateless deployment model","Tool discovery and schema validation depends on MCP client implementation","No built-in authentication for the MCP server itself; relies on LinkedIn credentials passed at runtime","Single-threaded request handling may bottleneck under high concurrent load"],"requires":["Python 3.8+","MCP Python SDK","Valid LinkedIn credentials","MCP-compatible client (Claude Desktop 0.1.0+, Cline, etc.)"],"input_types":["MCP protocol messages (JSON-RPC 2.0 format)","Tool invocation requests with parameters"],"output_types":["MCP protocol responses (JSON-RPC 2.0 format)","Tool results as structured JSON"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-stickerdaniel-linkedin-mcp-server__cap_5","uri":"capability://tool.use.integration.session.based.linkedin.authentication.and.credential.management","name":"session-based linkedin authentication and credential management","description":"Manages LinkedIn authentication using email/password credentials or session cookies, maintains authenticated sessions across multiple API calls, and handles session expiration/re-authentication. Uses linkedin-api's session management to persist authentication state, reducing the need to re-authenticate for each tool invocation while handling LinkedIn's anti-bot protections.","intents":["I want to authenticate once and use LinkedIn tools repeatedly without re-entering credentials","I need to handle LinkedIn session timeouts gracefully in my MCP server","I want to use saved session cookies to avoid storing plaintext LinkedIn passwords"],"best_for":["MCP server operators running long-lived LinkedIn integrations","Teams managing shared LinkedIn credentials across multiple AI agents","Developers building credential management layers for LinkedIn automation"],"limitations":["Plaintext password storage required if not using session cookies; security risk in multi-user environments","Session cookies expire periodically; no automatic refresh mechanism documented","LinkedIn actively detects and blocks bot-like authentication patterns; frequent re-authentication triggers blocks","No support for OAuth or other standard credential protocols","Session state not persisted across server restarts; requires re-authentication"],"requires":["Python 3.8+","Valid LinkedIn email and password OR pre-generated session cookies","linkedin-api Python package","Secure credential storage (environment variables or secrets manager recommended)"],"input_types":["LinkedIn email (string)","LinkedIn password (string)","OR: Session cookie string"],"output_types":["Authenticated session object (internal state)","Session validity status (boolean)"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-stickerdaniel-linkedin-mcp-server__cap_6","uri":"capability://tool.use.integration.error.handling.and.linkedin.api.failure.recovery","name":"error handling and linkedin api failure recovery","description":"Implements error handling for LinkedIn API failures (authentication errors, rate limits, network timeouts, invalid requests) and maps them to meaningful MCP error responses. Catches linkedin-api exceptions and translates them into structured error messages that Claude and other MCP clients can interpret and act upon.","intents":["I want my Claude agent to gracefully handle LinkedIn authentication failures","I need to distinguish between rate-limiting errors and actual data retrieval failures","I want meaningful error messages when LinkedIn blocks my requests"],"best_for":["MCP server operators building resilient LinkedIn integrations","AI agent builders handling LinkedIn API failures in production workflows","Teams debugging LinkedIn integration issues"],"limitations":["Error recovery strategies not documented; no automatic retry logic visible","Rate-limit detection depends on LinkedIn's HTTP response codes; may not catch all throttling scenarios","No exponential backoff or circuit-breaker pattern mentioned","Error messages may expose sensitive information (e.g., LinkedIn session details) if not sanitized","Cannot distinguish between temporary network failures and permanent authentication revocation"],"requires":["Python 3.8+","linkedin-api Python package","MCP-compatible client with error handling support"],"input_types":["LinkedIn API exceptions (internal)","HTTP error responses from LinkedIn"],"output_types":["Structured MCP error responses with error code and message","Human-readable error descriptions for Claude"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-stickerdaniel-linkedin-mcp-server__cap_7","uri":"capability://tool.use.integration.tool.schema.definition.and.discovery.for.mcp.clients","name":"tool schema definition and discovery for mcp clients","description":"Defines JSON schemas for each LinkedIn tool (profile lookup, company search, job search, messaging) that describe input parameters, output structure, and tool metadata. Exposes these schemas via MCP's tool discovery mechanism, allowing Claude and other MCP clients to understand what tools are available, what parameters they accept, and what data they return.","intents":["I want Claude to know what LinkedIn tools are available and how to use them","I need MCP clients to auto-discover LinkedIn capabilities without manual configuration","I want to document tool parameters and expected outputs for developers"],"best_for":["MCP ecosystem developers building tool discovery systems","AI agent builders integrating LinkedIn tools into multi-tool workflows","Teams documenting MCP tool capabilities for end users"],"limitations":["Schema definitions must be manually maintained; no automatic schema generation from linkedin-api","Schema validation depends on MCP client implementation; not all clients enforce strict validation","Complex nested schemas (e.g., experience arrays in profiles) may not be fully documented","No versioning mechanism for tool schemas; breaking changes require server restart"],"requires":["Python 3.8+","MCP Python SDK","JSON schema knowledge for tool definition"],"input_types":["Tool metadata (name, description, parameters schema)"],"output_types":["JSON schema definitions exposing tool capabilities to MCP clients"],"categories":["tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":47,"verified":false,"data_access_risk":"high","permissions":["Python 3.8+","Valid LinkedIn account credentials","MCP-compatible client (Claude Desktop, Cline, or other MCP host)","linkedin-api Python package","MCP-compatible client","Valid LinkedIn account credentials with messaging access","MCP Python SDK","Valid LinkedIn credentials","MCP-compatible client (Claude Desktop 0.1.0+, Cline, etc.)","Valid LinkedIn email and password OR pre-generated session cookies"],"failure_modes":["Requires valid LinkedIn credentials (email/password or session cookies) — no OAuth support","LinkedIn actively blocks scraping; authentication may fail if LinkedIn detects bot-like behavior","Rate-limited by LinkedIn's server-side protections; bulk profile fetches will trigger blocks","Profile data freshness depends on LinkedIn's caching; real-time updates not guaranteed","Cannot access private profile sections or restricted data (e.g., salary, detailed contact info)","Company data availability depends on LinkedIn's public company pages; private companies may have limited data","Subject to same LinkedIn rate-limiting and bot-detection as profile lookups","Cannot access non-public company metrics (e.g., internal headcount, salary bands)","Company name variations and disambiguation not handled automatically","Job search results limited by LinkedIn's pagination and rate-limiting","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.5011190236664791,"quality":0.41,"ecosystem":0.6000000000000001,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:22.065Z","last_scraped_at":"2026-05-03T14:23:34.856Z","last_commit":"2026-05-03T10:08:36Z"},"community":{"stars":1740,"forks":330,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=mcp-stickerdaniel-linkedin-mcp-server","compare_url":"https://unfragile.ai/compare?artifact=mcp-stickerdaniel-linkedin-mcp-server"}},"signature":"+NOC4pdytEQAFWpS0zGWM16g3O4WTi+yNKESTJtjzlbOQy2TPnBOJnRGxqnuC1SNrVJFiObff0tBgleV2UgVBw==","signedAt":"2026-06-20T20:24:00.233Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/mcp-stickerdaniel-linkedin-mcp-server","artifact":"https://unfragile.ai/mcp-stickerdaniel-linkedin-mcp-server","verify":"https://unfragile.ai/api/v1/verify?slug=mcp-stickerdaniel-linkedin-mcp-server","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}