Skip to main content
Glama
MCP-Layer

linkedin-mcp-server

by MCP-Layer

LinkedIn MCP Server

Lizenz: MIT Node.js Version MCP Version Tests

Ein produktionsreifer Model Context Protocol (MCP) Server, der KI-Agenten (Google Gemini Spark, OpenAI Codex, Claude Desktop, Cursor, Windsurf) mit der offiziellen LinkedIn REST API verbindet.

Ermöglicht KI-Agenten, eigenständig Textupdates zu verfassen und zu veröffentlichen, reichhaltige Linkvorschauen zu teilen, Bilder hochzuladen, interaktive Umfragen zu erstellen, bestehende Beiträge zu verwalten und mit Reaktionen und verschachtelten Kommentaren zu interagieren.

https://github.com/user-attachments/assets/cda965be-d6a2-4a37-8d3c-29a68a9959e1


Funktionen

  • Dual-Modus MCP Transport:

    • Server-Sent Events (SSE) über GET /mcp und POST /messages für Clients wie Google Gemini Spark und Claude.

    • Streamable HTTP über POST /mcp für moderne Kommandozeilen- und Agenten-Laufzeiten wie OpenAI Codex (rmcp).

  • 12 umfassende Werkzeuge:

    • Inhaltserstellung: Textupdates, Artikel-Link-Vorschaukarten, binäre Bild-Uploads (3-Stufen-Pipeline) und Umfragen mit mehreren Optionen.

    • Inhaltsverwaltung: Beiträge nach URN löschen, Engagement-Statistiken (Likes, Kommentare, Shares) abrufen und Konto-Profilverbindungen überprüfen.

    • Soziale Interaktion: Reaktionen hinzufügen (LIKE, CELEBRATE, LOVE, INSIGHTFUL, FUNNY, EMPATHY), Reaktionen löschen, Kommentare hinzufügen, in Threads antworten und Kommentare entfernen.

  • Robuste Validierung: Unterstützt durch Zod-Schemas für alle Werkzeug-Eingabeparameter.

  • Unternehmensbereit: Automatisierte Unit- und Integrationstests mit 100% Endpunktabdeckung.


Related MCP server: @isteam/linkedin-mcp

Werkzeug-Referenz

Werkzeug

Kategorie

Beschreibung

Parameter

create_text_post

Inhalt

Veröffentlichen Sie einen Standard-Textbeitrag in Ihrem LinkedIn-Feed

content (string, erforderlich)

create_link_post

Inhalt

Veröffentlichen Sie einen Beitrag mit einer klickbaren Vorschaukarte

content (string), url (string, URL), title (string)

create_image_post

Inhalt

Laden Sie ein Bild von einer URL herunter, laden Sie es zu LinkedIn hoch und veröffentlichen Sie es

content (string), image_url (string, URL)

create_poll_post

Inhalt

Erstellen Sie eine Umfrage mit anpassbarer Dauer

question (string), options (string-Array, 2-4 Elemente), duration (ONE_DAY, THREE_DAYS, ONE_WEEK, TWO_WEEKS)

delete_post

Verwaltung

Löschen Sie einen Beitrag mit seiner Post-URN

post_urn (string, z.B. urn:li:ugcPost:...)

get_user_profile

Verwaltung

Rufen Sie Details des authentifizierten Profils ab (Name, Mitglieds-ID)

Keine

get_post_stats

Verwaltung

Rufen Sie Engagement-Metriken ab (Likes, Kommentare, Shares)

post_urn (string)

react_to_post

Interaktion

Fügen Sie einem Beitrag eine Reaktion hinzu

post_urn (string), reaction_type (LIKE, CELEBRATE, LOVE, INSIGHTFUL, FUNNY, EMPATHY)

remove_reaction

Interaktion

Entfernen Sie Ihre Reaktion von einem Beitrag

post_urn (string)

comment_on_post

Interaktion

Fügen Sie einen Top-Level-Kommentar zu einem Beitrag hinzu

post_urn (string), comment_text (string)

delete_comment

Interaktion

Löschen Sie einen von Ihnen erstellten Kommentar

post_urn (string), comment_id (string)

reply_to_comment

Interaktion

Veröffentlichen Sie eine verschachtelte Antwort auf einen vorhandenen Kommentar

post_urn (string), parent_comment_urn (string), reply_text (string)


Einrichtung & Authentifizierung

1. LinkedIn Developer Portal Einrichtung

  1. Erstellen Sie eine LinkedIn-Anwendung im LinkedIn Developer Portal.

  2. Fordern Sie unter dem Produkte-Tab Zugriff auf folgende Berechtigungen an:

    • Auf LinkedIn teilen (gewährt w_member_social-Berechtigung)

    • Mit LinkedIn anmelden über OpenID Connect (gewährt openid- und profile-Berechtigungen)

  3. Fügen Sie im Auth-Tab eine Weiterleitungs-URL hinzu (z.B. https://httpbin.org/get oder Ihre Domain).

2. Generieren Sie einen Benutzer-Zugriffstoken

  1. Erstellen Sie die Autorisierungs-URL in Ihrem Browser:

    https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&scope=openid%20profile%20w_member_social
  2. Autorisieren Sie die Anwendung und kopieren Sie den code-Abfrageparameter aus der Weiterleitungs-URL.

  3. Tauschen Sie den Code gegen ein 60-Tage-Zugriffstoken ein:

    curl -X POST https://www.linkedin.com/oauth/v2/accessToken \
      -d "grant_type=authorization_code" \
      -d "code=YOUR_AUTHORIZATION_CODE" \
      -d "client_id=YOUR_CLIENT_ID" \
      -d "client_secret=YOUR_CLIENT_SECRET" \
      -d "redirect_uri=YOUR_REDIRECT_URI"
  4. Rufen Sie Ihre Mitglieds-ID ab:

    curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.linkedin.com/v2/userinfo

    Das sub-Feld ist Ihre Mitgliedskennung (z.B. urn:li:person:<sub_id>).


Konfiguration

Kopieren Sie die Beispiel-Umgebungsdatei:

cp .env.example .env

Konfigurieren Sie Ihre .env-Variablen:

LINKEDIN_ACCESS_TOKEN=your_oauth2_access_token
LINKEDIN_AUTHOR_URN=urn:li:person:your_member_sub_id
PORT=3000

Lokal ausführen

# Install dependencies
npm install

# Run unit and integration tests
npm test

# Start the server
npm start

# Start in development mode (with live reload)
npm run dev

Client-Integration

OpenAI Codex CLI

Fügen Sie den Server über die Codex CLI hinzu:

codex mcp add linkedin --url https://your-server-domain.com/mcp

Oder fügen Sie ihn direkt in ~/.codex/config.toml hinzu:

[mcp_servers.linkedin]
url = "https://your-server-domain.com/mcp"

Claude Desktop

Fügen Sie ihn in Ihrer claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "linkedin": {
      "command": "node",
      "args": ["/path/to/linkedin-mcp-server/server.js"],
      "env": {
        "LINKEDIN_ACCESS_TOKEN": "your_access_token",
        "LINKEDIN_AUTHOR_URN": "urn:li:person:your_sub_id"
      }
    }
  }
}

Google Gemini Spark

Geben Sie in den Einstellungen Ihrer benutzerdefinierten Gemini Spark-Anwendungen Ihre öffentliche SSE-Endpunkt-URL ein:

https://your-server-domain.com/mcp

Bereitstellung

Auf Railway bereitstellen

  1. Installieren Sie die Railway CLI: npm i -g @railway/cli

  2. Verknüpfen oder erstellen Sie ein Projekt:

    railway init
    railway up
  3. Setzen Sie Umgebungsvariablen:

    railway variable set LINKEDIN_ACCESS_TOKEN="your_token" LINKEDIN_AUTHOR_URN="urn:li:person:your_sub_id"
  4. Generieren Sie eine öffentliche Domain:

    railway domain

Entwicklung & Tests

Die Testsuite umfasst 62 automatisierte Unit- und Integrationstests, die den LinkedIn API-Client, alle 12 Werkzeugregistrierungen und Ausführungshandler sowie SSE- und Streamable HTTP-Transporte abdecken.

# Run tests once
npm test

# Run tests in watch mode
npm run test:watch

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert.

Related MCP Connectors

Related MCP Servers