Skip to main content
Glama
kyle-nelson-berkeley

linkedin-mcp

linkedin-mcp

MCP-Server zum Bearbeiten deines eigenen LinkedIn-Profils aus Claude Code – mit einer strikten Propose-then-approve-Trennung: Das Modell kann eine Änderung entwerfen und dir den Diff zeigen, aber nur ein einziges Tool kann je schreiben, und das auch nur auf Grundlage eines Vorschlags, den du gesehen hast.

Partner-Gating: Die Profile-Edit-API von LinkedIn ist nur auf LinkedIn-freigegebene Partner-Entwickler beschränkt (w_compliance ist „eine private Berechtigung, und der Zugriff wird ausgewählten Entwicklern gewährt“ – siehe docs/api-notes.md). Bis die Partner-Freigabe vorliegt, gibt apply_proposal einen Fehler mit ungültigem Scope zurück. Das ist erwartet, kein Defekt. Alles andere (OAuth, Vorschläge, Diffs) funktioniert bereits.

Funktionsweise

Tool

Was es tut

Schreibt auf LinkedIn?

auth_start

Gibt die LinkedIn-OAuth-URL aus, fängt die einmalige Localhost-Weiterleitung ab, tauscht den Code um und speichert die Tokens.

nein (nur OAuth)

auth_status

Meldet, ob ein Token existiert und wann es abläuft.

nein

get_profile

Ruft dein Profil ab (GET /v2/me).

nein

propose_edit

Erstellt die genaue API-Anfrage für eine Änderung (headline, summary, positions, skills, educations), speichert sie als Vorschlag und gibt einen Unified-Diff + proposal_id zurück.

niemals

list_proposals

Listet gespeicherte Vorschläge auf.

nein

discard_proposal

Löscht einen gespeicherten Vorschlag.

nein

apply_proposal

Sendet genau einen gespeicherten Vorschlag an LinkedIn – das einzige Schreib-Tool. Im Code erzwungenes Bestätigungs-Gate: Es wird nur ausgeführt, wenn es mit approval="approve <proposal_id>" aufgerufen wird, einer Phrase, die nur bereitgestellt wird, nachdem du den Diff im Chat geprüft hast.

ja

Vorschläge werden unter ~/.config/linkedin-mcp/proposals/ gespeichert, damit eine Freigabe in einer späteren Sitzung erfolgen kann. Tokens und Client-Zugangsdaten liegen in ~/.config/linkedin-mcp/.env mit den Berechtigungen 600 – von dir eingetragen, niemals von einem Agenten, niemals committet (siehe .env.example).

Related MCP server: kaushik-linkedin-mcp

Installation

Benötigt Python ≥ 3.11.

{
  "mcpServers": {
    "linkedin": {
      "command": "bash",
      "args": ["/path/to/linkedin-mcp/run.sh"]
    }
  }
}

run.sh erzeugt beim ersten Start .venv/ und installiert die festgepinnten Abhängigkeiten (per Stempeldatei gesteuert; alle Bootstrap-Ausgaben gehen auf stderr, sodass der MCP-stdio-Kanal sauber bleibt).

Einrichtung

Folge der Anleitung in docs/SETUP-KYLE.md – sie führt dich durch das Erstellen der LinkedIn-Developer-App, das Registrieren der Redirect-URL, das Ausfüllen von ~/.config/linkedin-mcp/.env, das Ausführen von auth_start und die Bewerbung für das Partnerprogramm.

Entwicklung

bash run.sh --help                                # bootstraps the venv (runtime deps only)
.venv/bin/pip install -r requirements-dev.txt     # adds pytest + coverage tooling
.venv/bin/python -m pytest                        # offline — every test runs against a mock transport

Die Testsuite umfasst ein Fixture mit gewährtem Schreibzugriff: einen simulierten LinkedIn-Dienst, bei dem jeder dokumentierte Schreib-Endpunkt bereitgestellt 200 zurückgibt. Die Tests stellen sicher, dass propose_edit keine Nicht-GET-Anfragen im protokollierten Log hinterlässt, selbst wenn Schreibvorgänge erfolgreich wären, und als Positivkontrolle, dass apply_proposal im selben Fixture den dokumentierten Schreibaufruf aufzeichnet. --live-probe ist ein Diagnose-Flag (eine einzelne echte Anfrage), das „Endpunkt korrekt, aber Scope nicht gewährt“ von „Endpunkt falsch“ unterscheidet; es läuft niemals in Tests oder CI und erfordert LINKEDIN_MCP_LIVE_PROBE=1.

Die API-Schnittstelle ist auf datierte, wörtliche Auszüge aus der offiziellen Dokumentation in docs/api-notes.md fixiert.

Lizenz

MIT – siehe LICENSE.

A
license - permissive license
Not graded
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

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/kyle-nelson-berkeley/linkedin-mcp'

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