MCPInstall
linkedin-mcp logo

linkedin-mcp

by agency42 35 stars agency42/linkedin-mcp

LinkedIn MCP server for AI agents to authenticate and share posts.

READMEmain

LinkedIn MCP Server

A Model Context Protocol (MCP) server using the TypeScript SDK for LinkedIn integration. Allows an AI agent (e.g. Claude) to authenticate with LinkedIn and share posts or links.

Prerequisites

  • Node.js (>=14) and npm
  • LinkedIn Developer App:
    • Create an app at https://www.linkedin.com/developers/apps
    • Under "Products", add Sign In with LinkedIn (OpenID Connect) and Share on LinkedIn
    • Authorized Redirect URI must match .env: http://localhost:8000/auth/linkedin/callback
    • Copy your Client ID and Client Secret into .env

Setup

git clone <repo_url>
cd linkedin-mcp
npm install

Create a .env in project root with:

SESSION_SECRET=your-session-secret
AUTH_PORT=8000          # OAuth callback server port
HTTP_PORT=8001          # HTTP/SSE server port
LINKEDIN_CLIENT_ID=your-client-id
LINKEDIN_CLIENT_SECRET=your-client-secret
LINKEDIN_REDIRECT_URI=http://localhost:8000/auth/linkedin/callback

Running

  1. OAuth Callback Server (must stay running):

    npm run dev:auth
    
  2. MCP Server:

    • Via Claude Desktop:
      claude-desktop
      
    • Or manually:
      npm run dev
      
    • This starts stdio transport + HTTP+SSE server.
  3. Inspector UI:

    npm run build
    npx @modelcontextprotocol/inspector node build/server.js
    
    • Open the Inspector in browser → Tools
    • Use linkedin-share-post or linkedin-share-link tools.

Testing

  1. Visit http://localhost:8000/auth/linkedin in browser → complete LinkedIn login.
  2. Confirm “Authentication successful!”.
  3. In Inspector, run sample post/link tools.
  4. Verify content on your LinkedIn profile.

Claude Desktop Integration

  1. Run npm run dev:auth
  2. Visit http://localhost:8000/auth/linkedin in browser → complete LinkedIn login.
  3. Confirm “Authentication successful!”. A token file should be generated. Do not close this terminal.
  4. Open Claude Desktop and verify the tools are listed

Configure your claude_desktop_config.json file:

{
  "mcpServers": {
    "linkedin": {
      "command": "node",
      "args": ["/Users/ken/Desktop/lab/linkedin-mcp/build/server.js"],
      "transport": "http",
      "url": "http://localhost:8001",
      "sseEndpoint": "/stream",
      "httpEndpoint": "/message",
      "env": {
        "SESSION_SECRET": "your-session-secret",
        "AUTH_PORT": "8000",
        "HTTP_PORT": "8001",
        "LINKEDIN_CLIENT_ID": "your-client-id",
        "LINKEDIN_CLIENT_SECRET": "your-client-secret",
        "LINKEDIN_REDIRECT_URI": "http://localhost:8000/auth/linkedin/callback"
      }
    }
  },
  "globalShortcut": "Ctrl+Space"
}

(You can find this file from Claude Desktop by going to settings > developer > edit config)

Save and restart Claude Desktop to apply changes.

More Social Media Management MCP servers

Similar servers from the same category.

TweetBinder

audienseco

Integrates with Twitter/X analytics through the TweetBinder API, enabling report creation, status checking, statistics retrieval, and sentiment analysis for social media campaign tracking and audience research.

search

RSS3

rss3-network

Integrates with RSS3 API to enable querying data across decentralized chains, social media platforms, and the RSS3 network for real-time open web data access within conversations.

Social Media Management

A comprehensive Model Context Protocol (MCP) server that provides tools for interacting with the SocialData API. This server allows you to fetch Twitter/X data, monitor user activity, and analyze social media engagement programmatically.

APISocial Media+9

MCP Threads Server for reading/writing posts using Threads API with TypeScript.

API