Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

linkedin-mcp-server

MCP.Pizza Chef: Dishant27

linkedin-mcp-server is an MCP server that integrates LinkedIn's API with the Model Context Protocol, enabling LLMs to access and interact with LinkedIn data in real time. It supports authentication via LinkedIn Developer credentials and facilitates secure, structured data exchange between LinkedIn and MCP-compatible language models like Claude and OpenAI. This server simplifies LinkedIn API interactions for developers building AI-enhanced workflows and agents.

Use This MCP server To

Fetch LinkedIn user profiles for personalized outreach Retrieve company data for market research Access LinkedIn posts and comments for sentiment analysis Automate LinkedIn connection requests and messaging Integrate LinkedIn data into CRM systems via LLMs Generate summaries of LinkedIn activity feeds Monitor LinkedIn job postings for recruitment automation Extract professional network insights for business intelligence

README

LinkedIn Logo 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

  1. Go to LinkedIn Developer Portal
  2. Create a new application
  3. 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

  1. Start the MCP Server:
npm run build
npm start
  1. 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:

LinkedIn MCP Server for LLMs

🚀 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!

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. 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.

linkedin-mcp-server FAQ

How do I authenticate the linkedin-mcp-server with LinkedIn API?
You must create a LinkedIn Developer application to obtain Client ID and Client Secret, then configure these in the server's environment variables for OAuth authentication.
What Node.js version is required to run linkedin-mcp-server?
The server requires Node.js version 16 or higher for compatibility and performance.
Can linkedin-mcp-server work with multiple LLM providers?
Yes, it supports MCP-compatible LLMs including OpenAI, Claude, and Gemini, enabling flexible model integration.
How do I handle LinkedIn API rate limits with linkedin-mcp-server?
Implement caching and request throttling strategies in your client or server setup to manage API rate limits effectively.
Is linkedin-mcp-server secure for handling LinkedIn credentials?
Yes, it uses environment variables for sensitive data and follows best practices for secure OAuth token management.
Can I extend linkedin-mcp-server to support additional LinkedIn API endpoints?
Yes, the server is modular and can be extended by adding new adapters for other LinkedIn API endpoints as needed.
Where can I find detailed setup instructions for linkedin-mcp-server?
The GitHub repository README provides a comprehensive setup guide including LinkedIn Developer setup, installation, and configuration steps.