LinkedIn MCP Server
Powers the REST client with automatic token management for LinkedIn API requests
Supported platform for running the LinkedIn MCP server with specific configuration paths
Requires Node.js 20+ as a runtime environment for the LinkedIn MCP server
Used for package management and running development scripts for the LinkedIn MCP server
Provides structured logging capabilities for better observability of the LinkedIn MCP server
Built with TypeScript for type safety and improved developer experience when creating LinkedIn API integrations
Alternative package manager that can be used for managing dependencies of the LinkedIn MCP server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LinkedIn MCP Server search for software engineer profiles in San Francisco with 5+ years experience"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🌐 LinkedIn MCP Server
A powerful Model Context Protocol server for LinkedIn API integration
📋 Overview
LinkedIn MCP Server brings the power of the LinkedIn API to your AI assistants through the Model Context Protocol (MCP). This TypeScript server empowers AI agents to interact with LinkedIn data, search profiles, find jobs, and even send messages.
MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs - think of it as a USB-C port for AI applications, connecting models to external data sources and tools.
Related MCP server: LinkedIn Sales & Navigator MCP Server
✨ Features
🔍 LinkedIn API Tools
Profile Search - Find LinkedIn profiles with advanced filters
Profile Retrieval - Get detailed information about LinkedIn profiles
Job Search - Discover job opportunities with customized criteria
Messaging - Send messages to LinkedIn connections
Network Stats - Access connection statistics and analytics
🛠️ Technical Highlights
TypeScript - Built with modern TypeScript for type safety and developer experience
Dependency Injection - Uses TSyringe for clean, testable architecture
Structured Logging - Comprehensive logging with Pino for better observability
MCP Integration - Implements the Model Context Protocol for seamless AI assistant connectivity
REST Client - Axios-powered API client with automatic token management
🚀 Development
Prerequisites
Node.js 20+
npm/yarn
Setup
# Install dependencies
npm install
# Run the development server
npm run start:dev
# Build the server
npm run build📦 Installation
To use with Claude Desktop or other MCP-compatible AI assistants:
Configuration
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"linkedin-mcp-server": {
"command": "/path/to/linkedin-mcp-server/build/index.js"
}
}
}🔧 Debugging
MCP servers communicate over stdio which can make debugging challenging. Use the integrated MCP Inspector:
# Debug with MCP Inspector
npm run inspectorThe Inspector provides a browser-based interface for monitoring requests and responses.
🔒 Security
This server handles sensitive LinkedIn authentication credentials. Review the token management system to ensure it meets your security requirements.
📜 License
This project is licensed under the MIT License. See the LICENSE file for details.
Available Tools
28 toolsaccept_connection_requestA
Accept incoming connection requests to grow your network
Inputs: requestId (required).
authenticate_linkedinA
Authenticate with LinkedIn OAuth - works with standard LinkedIn Developer Application
Inputs: no named parameters.
comment_on_postA
Add a thoughtful comment to a LinkedIn post
Inputs: postId (required), comment (required).
create_postB
Create a LinkedIn post with text content and visibility settings
Inputs: content (required), visibility.
get_company_infoC
Get basic company information - limited access, may require Marketing Solutions partnership in future
Inputs: companyId (required).
get_company_profileC
Get detailed company profile information - limited access, may require Marketing Solutions partnership in future
Inputs: companyId (required).
get_connection_requestsB
View and manage pending incoming connection requests
Inputs: no named parameters.
get_connectionsB
Retrieve your complete LinkedIn connections list
Inputs: no named parameters.
get_conversationsA
Access your LinkedIn conversation threads and chat history
Inputs: no named parameters.
get_feedB
Access your LinkedIn feed with posts from your network
Inputs: count.
get_jobB
Get comprehensive details about a specific LinkedIn job posting
Inputs: jobId (required).
get_job_applicationsB
Track status and details of your job applications
Inputs: no named parameters.
get_messagesB
Retrieve messages from a specific conversation thread
Inputs: conversationId (required).
get_my_postsA
Retrieve your published LinkedIn posts with engagement metrics
Inputs: count.
get_my_profileA
Get my LinkedIn profile information using OpenID Connect - works with standard OAuth scopes
Inputs: no named parameters.
get_post_analyticsB
Get detailed analytics and engagement data for your posts
Inputs: postId (required).
get_profileB
Access detailed LinkedIn profile information for any user
Inputs: profileId (required).
get_profile_analyticsC
Access comprehensive profile performance and engagement metrics
Inputs: no named parameters.
get_saved_jobsA
Retrieve all your saved and bookmarked job listings
Inputs: no named parameters.
like_postC
Like a LinkedIn post to show appreciation
Inputs: postId (required).
revoke_linkedin_authA
Revoke LinkedIn authentication and clear stored tokens
Inputs: no named parameters.
save_jobA
Bookmark a job for later review and application
Inputs: jobId (required).
search_jobsB
Search LinkedIn jobs with advanced filters and criteria
Inputs: keywords, location, company, experienceLevel, +5 more.
search_peopleC
Search LinkedIn professionals with advanced filters and criteria
Inputs: keywords, firstName, lastName, companyName, +4 more.
send_connection_requestB
Send personalized connection requests to LinkedIn users
Inputs: profileId (required), message.
send_messageA
Send direct messages to your LinkedIn connections
Inputs: recipientId (required), subject (required), body (required).
update_partnershipsA
Update LinkedIn API partnership access settings when you get approved for special access
Inputs: communityManagement, talentSolutions, salesSolutions, marketingSolutions.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 28 tools
Most tools have distinct purposes, but there is slight overlap between get_my_profile and get_profile, and between get_company_info and get_company_profile. These are minor and descriptions help.
All tools use a consistent snake_case verb_noun pattern (e.g., accept_connection_request, search_jobs). No mixed conventions or unclear names.
At 28 tools, the count exceeds the 25+ threshold for 'too many' per the rubric. While each tool has a clear role, the server would benefit from consolidation or pruning.
Covers many core LinkedIn actions (search, post, message, connect), but lacks update/delete for posts, profile editing, and connection management beyond accept. Notable gaps for a full-lifecycle tool.
Maintenance
Related MCP Connectors
LinkedIn jobs, companies and people for AI agents, plus messages and invites via your own account.
LinkedIn for AI agents: search people, read profiles, posts and connections via a connected account
Give AI agents the LinkedIn tools to find, qualify, engage, and follow up with prospects.
LinkedIn for AI agents: inbox, invitations, Sales Navigator search, posts, jobs, quotas, webhooks.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA comprehensive Model Context Protocol server that enables AI assistants to interact with LinkedIn APIs for profile management, content creation, networking, messaging, and analytics.2-
- FlicenseAqualityNot gradedmaintenanceEnables AI assistants to interact with LinkedIn and LinkedIn Sales Navigator for searching profiles, managing leads, and handling messaging via cookie-based authentication. It supports professional networking tasks such as sending connection requests and retrieving account details through the Model Context Protocol.221-
- AlicenseAqualityBmaintenanceReleased 3.0.0: 22 MCP tools, guided offline setup, local stdio, Chrome and manual login. No hosted deployment or job-research brief. Writes need opt-in, reviewed preview and human approval. Unofficial; provider compatibility, first-use cohorts, coordinated erasure and Windows privacy proof remain unverified. No mandatory paid service.22393 npm12MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to connect to LinkedIn, accessing profiles and companies, searching for jobs and people, managing saved jobs, updating job-search profile settings, and inspecting analytics.1Apache 2.0