Skip to main content
Glama
vahabcore

linkedin-mcp-server

by vahabcore

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.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.

  • MCP server for LeadDelta — manage LinkedIn connections and CRM data via AI assistants.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vahabcore/linkedin-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server