Skip to main content
Glama
LinkedIn MCP Server

LinkedIn MCP Server

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

Related MCP server: LinkedIn MCP Server

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.

Available Tools

2 tools
linkedin-share-postB

Shares a text post to LinkedIn.

Inputs: text (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools are clearly distinct: one shares a link with commentary, the other shares a text post. No overlap in purpose.

    Naming Consistency5/5

    Both tools follow the consistent pattern 'linkedin-share-{type}', using snake_case and a clear verb_noun structure.

    Tool Count3/5

    Two tools is somewhat thin for a LinkedIn server; while it covers two core posting actions, it feels like a minimal offering for the social network domain.

    Completeness3/5

    The server covers link sharing and text posting, but misses image/video posts, schedule, and profile operations, leaving notable gaps for typical LinkedIn usage.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables AI agents to manage professional networking on LinkedIn by providing tools for posting updates, searching for jobs, and analyzing profiles. It facilitates secure interaction with the LinkedIn platform through OAuth 2.0 authentication and the Model Context Protocol.
      17
      28 PyPI
      12
      MIT
    • A
      license
      B
      quality
      C
      maintenance
      Enables AI agents with read/write access to LinkedIn API, including profile, posts, media, organizations, comments, reactions, and analytics.
      20
      7 npm
      MIT