LinkedInMCP
An innovative MCP server that transforms LinkedIn API interactions, enabling advanced people search, profile retrieval, and job market intelligence through natural language.
README
<img src="https://content.linkedin.com/content/dam/me/business/en-us/amp/brand-site/v2/bg/LI-Bug.svg.original.svg" alt="LinkedIn Logo" width="32" height="32"> LinkedInMCP: Revolutionizing LinkedIn API Interactions
š Comprehensive Setup Guide
Prerequisites
- Node.js 16+
- LinkedIn Developer Account
- MCP-Compatible LLM (Claude, OpenAI, etc.)
1. LinkedIn Developer Setup
- Go to LinkedIn Developer Portal
- Create a new application
- Obtain Client ID and Client Secret
Important: For detailed instructions on obtaining access tokens and authentication for LinkedIn API, refer to the official documentation: Getting Access to LinkedIn API
2. Project Installation
git clone https://github.com/Dishant27/linkedin-mcp-server.git
cd linkedin-mcp-server
npm install
3. Configuration Files
.env File
Create a .env file in the project root:
LINKEDIN_CLIENT_ID=your_client_id_here
LINKEDIN_CLIENT_SECRET=your_client_secret_here
claude_desktop_config.json (for Claude Desktop)
{
"mcpServers": {
"linkedin": {
"command": "node",
"args": ["/absolute/path/to/linkedin-mcp-server/dist/index.js"],
"env": {
"LINKEDIN_CLIENT_ID": "your_client_id",
"LINKEDIN_CLIENT_SECRET": "your_client_secret"
}
}
}
}
4. LLM Configuration Example
Claude.ai / Claude Desktop MCP Integration
{
"tools": [
{
"name": "search-people",
"description": "Search for LinkedIn profiles",
"parameters": {
"type": "object",
"properties": {
"keywords": {
"type": "string",
"description": "Keywords to search for in profiles"
},
"currentCompany": {
"type": "array",
"items": {"type": "string"},
"description": "Filter by current company"
},
"industries": {
"type": "array",
"items": {"type": "string"},
"description": "Filter by industries"
},
"location": {
"type": "string",
"description": "Filter by location"
}
}
}
},
{
"name": "get-profile",
"description": "Retrieve detailed LinkedIn profile information",
"parameters": {
"type": "object",
"properties": {
"publicId": {
"type": "string",
"description": "Public ID of the LinkedIn profile"
},
"urnId": {
"type": "string",
"description": "URN ID of the LinkedIn profile"
}
}
}
}
]
}
5. Typical Workflow
- Start the MCP Server:
npm run build
npm start
- Example LLM Interactions:
> Find software engineers in San Francisco working at tech companies
# The LLM will use the search-people tool to:
# 1. Search LinkedIn profiles
# 2. Filter by location (San Francisco)
# 3. Filter by industry (Technology)
# 4. Return relevant profile details
š Learn More
Check out the detailed article explaining the concept and implementation:
š Project Background
LinkedInMCP is an innovative Model Context Protocol (MCP) server designed to transform how developers interact with LinkedIn's API. Born from the need for more flexible and powerful LinkedIn data integration, this project provides a robust, extensible framework for advanced LinkedIn data retrieval and interaction.
š Project Vision
Recognizing the limitations of traditional LinkedIn API approaches, this solution creates a more intelligent, context-aware method of working with professional network data.
⨠Key Innovations
- Intelligent Context Management: Leverage MCP's advanced context handling
- Secure, Typed Interactions: Type-safe LinkedIn API interactions
- Extensible Architecture: Easy to expand and customize
- Standardized Protocol: Follows Model Context Protocol specifications
š ļø Technologies
- TypeScript
- Model Context Protocol
- LinkedIn API
- OAuth 2.0
- Zod for Type Validation
- Axios for HTTP Requests
š Core Capabilities
- Advanced People Search
- Detailed Profile Retrieval
- Job Market Intelligence
- Messaging Capabilities
- Secure Authentication Workflow
š¼ Enterprise Use Cases
LinkedInMCP enables powerful applications for business settings:
Talent Acquisition
- Candidate Sourcing: Find qualified candidates matching specific skill and experience criteria
- Talent Pool Analysis: Map talent distribution across industries and geographies
- Outreach Automation: Streamline initial contact with potential candidates
- Competitive Intelligence: Understand recruitment patterns at competitor organizations
Sales & Business Development
- Lead Generation: Identify decision-makers at target companies
- Account-Based Marketing: Build comprehensive profiles of key accounts
- Relationship Mapping: Visualize connection networks within organizations
- Market Penetration Analysis: Track industry adoption of products or services
Market Research
- Industry Trends: Monitor employment shifts across sectors
- Skill Demand Analysis: Track emerging skills and technologies
- Organizational Structure Insights: Map reporting relationships and team compositions
- Geographic Movement Patterns: Understand talent migration between regions
Integration Capabilities
- CRM Synchronization: Update contact data from LinkedIn to CRM systems
- ATS Enhancement: Enrich applicant tracking systems with LinkedIn data
- Business Intelligence Tools: Feed LinkedIn data to dashboards and analytics platforms
- Custom Workflow Integration: Add LinkedIn capabilities to internal tools via API
š Security Framework
The comprehensive security model of LinkedInMCP implements multiple layers of protection:
Authentication Security
- OAuth 2.0 Implementation: Industry-standard token-based authentication
- Token Refresh Management: Automated handling of token expiration
- Credential Isolation: Environment-based secret management
- Rate Limiting: Protection against excessive API requests
Data Security
- End-to-End Encryption: Secure data transmission
- Minimal Data Storage: Processing data without persistent storage
- Selective Information Return: Only returning requested data fields
- Automatic Data Sanitization: Preventing injection vulnerabilities
Compliance Features
- GDPR Adherence: Configurable data handling for European compliance
- API Terms Enforcement: Built-in LinkedIn API usage policy compliance
- Audit Logging: Comprehensive activity tracking for compliance reporting
- Data Governance Tools: Simplifying regulatory compliance management
š¦ Generated Project Structure
linkedin-mcp-server/
ā
āāā src/
ā āāā index.ts # Main server entry point
ā āāā auth.ts # LinkedIn authentication handler
ā āāā client.ts # LinkedIn API interaction client
ā
āāā dist/ # Compiled JavaScript files
ā āāā index.js
ā āāā auth.js
ā āāā client.js
ā
āāā .env # Secret environment variables
āāā .env.example # Template for environment variables
āāā package.json # Project dependencies and scripts
āāā tsconfig.json # TypeScript configuration
āāā README.md # Project documentation
š¤ Contributing
Inspired by the project? Contributions are welcome!
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
š License
Distributed under the MIT License.
Disclaimer: This project is an independent innovation and is not officially affiliated with LinkedIn or Microsoft.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.