Zum Hauptinhalt springen

Claude & Cockpit verbinden (MCP)

Mit dieser Verbindung sprichst du in Claude in normalen Sätzen mit Cockpit: Inhalte lesen, suchen, erstellen, Center anlegen und Entwürfe einreichen oder genehmigen. Das Programm heißt MCP (Model Context Protocol).

Es gibt zwei Wege. Nimm Weg A, wenn ihr Claude Pro/Team/Enterprise habt — er braucht null Installation auf eurem Mac.


Weg A — Remote-URL (empfohlen · keine Installation)

Wer das nutzen kann

Claude Pro, Team oder Enterprise — also ein bezahltes Claude-Konto auf claude.ai. Claude Free reicht nicht für diesen Weg.

Das läuft einmal ab — die IT richtet den Server ein (steht in IT-Setup unten), danach braucht jede Redakteurin nur noch 2 Klicks + 2 Felder ausfüllen.

Für die Redakteurin: 3 Schritte

Das brauchst du von der IT — eine einzige URL

Die IT schickt dir eine fertige URL, die das Token bereits enthält — z. B.:

https://mallos-mcp-cockpit.onrender.com/mcp?token=a3f7b9...

Du brauchst dir das Token nicht separat zu merken. Die URL ist dein Zugang — halte sie geheim wie ein Passwort.

Schritt 1 — Claude öffnen
claude.ai im Browser öffnen und anmelden.

Schritt 2 — Connector eintragen
Oben rechts auf dein Profilbild klicken → Settings → links Connectors (oder „Integrations" / „MCP" — der Name kann je nach Claude-Version leicht abweichen).

Add custom integration (oder „Add MCP server") → folgende Felder ausfüllen:

FeldWas du einträgst
NamecockpitOS (oder beliebig)
Server URLdie vollständige URL von der IT (mit ?token=… am Ende)
Erweiterte Einstellungen (OAuth-Felder)leer lassen — wird nicht benötigt

Speichern / Save klicken.

Schritt 3 — Prüfen
Im Claude-Chat tippen:

Bitte ruf das Tool cockpit_public_center_by_slug auf mit dem Slug "dein-center-slug". Wie heißt das Center und was ist die centerId?

Wenn Claude eine Antwort mit Name und ID liefert: alles funktioniert. 🎉


Beispiele — was du Claude sagen kannst

Neues Center-Website-Projekt starten (Pflicht-Einstieg)

Immer wenn ein neues Website-Projekt für ein Center beginnt, zuerst diesen Schritt:

Ich starte ein neues Center-Website-Projekt für das Center mit dem Slug "DEIN-SLUG".
Bitte ruf cockpit_center_project_init auf (center_slug="DEIN-SLUG", api_base_url="https://dashboard.cockpit-os.de").
Zeig mir die centerId und die Checkliste.

Claude liefert dann:

  • centerId (UUID) für alle weiteren API-Aufrufe
  • Eine Checkliste mit den Pflichtschritten (Website aktivieren, Analytics konfigurieren, Inhalte prüfen, …)
  • Warnungen, falls das Center nicht existiert oder keine Inhalte hat
Warum dieser Schritt Pflicht ist

Das Tool stellt sicher, dass Claude weiß: CockpitOS ist die einzige Source of Truth. Shops, News, Events und Texte dürfen nie als Dummy-Daten im Frontend-Code stehen — sie kommen immer aus CockpitOS. Der Init-Schritt lädt diese Regel aktiv in den KI-Kontext.

Überblick über ein Center holen

Ich arbeite für unser Shopping Center (Slug: "DEIN-SLUG").
1. Hol die centerId über cockpit_public_center_by_slug.
2. Zeige mir einen kompakten Überblick: aktive Shops, laufende Angebote, kommende Events.
Nutze dafür cockpit_agencyos_content_stats.
Schreibe noch nichts ins Cockpit.

Centerplan laden (inkl. Hybrid-SVG)

Slug „DEIN-SLUG“. Hol centerId über cockpit_public_center_by_slug und dann cockpit_public_wayfinding_floors.
Liste pro Etage nur kompakt: name, Länge mapSvg-Zeichen, ob mapImage und shopViewBoxes gesetzt, Anzahl mapLocations.

Siehe auch: Public API Vertrag — Hybrid & Wayfinding.

Inhalte suchen, bevor du etwas erstellst

Gibt es in unserem Cockpit schon Angebote von Deichmann? Bitte in allen Centern suchen.
Nutze cockpit_agencyos_search_content mit q="Deichmann" und contentType="offer".
Welche Angebote laufen in den nächsten 7 Tagen ab?
Nutze cockpit_agencyos_search_content mit contentType="offer" und expiresBefore="<Datum in 7 Tagen>".

Angebot für alle Center einer Kette einreichen (Workflow-Modus)

Beim Workflow-Modus landet alles zuerst unter Workflow & Freigaben im Dashboard — nichts geht live, bevor jemand genehmigt.

Immer erst Vorschau holen (kein Schreiben, nur Daten-Check):

Nutze cockpit_agencyos_content_push_preview für Center <UUID> mit:
offers: [{ title: "Sommer-Sale: 30 % auf alle Sneaker", description: "...", validFrom: "2026-07-01", validTo: "2026-07-31" }]

Zeig mir was das Cockpit zurückgibt — noch nicht wirklich einreichen.

Wenn die Vorschau stimmt, dann für alle Deichmann-Center einreichen:

Erstelle ein Angebot für alle Deichmann-Center:
- Titel: "Sommer-Sale: 30 % auf alle Sneaker"
- Gültig: 1. Juli bis 31. Juli

Schritt 1: Nutze cockpit_agencyos_list_centers mit chainSlug="deichmann".
Schritt 2: Für jedes Center: cockpit_agencyos_content_push mit submitToWorkflow=true und campaignLabel="Sommer-Sale Deichmann Juli".
Zeige mir vorher eine Vorschau je Center.

Was dann passiert: Im Workflow & Freigaben erscheinen alle Entwürfe — nach Kampagne filterbar, mit „Alle genehmigen"-Button.

Neues Center on the fly anlegen

Du musst kein Center mehr vorher im Dashboard anlegen — Claude kann das direkt:

Leg ein neues Center im Cockpit an:
- Name: Alstertal Einkaufszentrum
- Adresse: Heegbarg 31, 22391 Hamburg
- Logo: https://example.com/logo.png (bitte zu BunnyCDN hochladen)
- Akzentfarbe: #E63946

Danach: zeige mir die centerId und den Slug.

Direkt im Anschluss kannst du es befüllen:

Füge für das gerade angelegte Center (centerId: ...) folgende Shops hinzu:
- H&M (Kategorie: Mode, Etage: EG)
- Starbucks (Kategorie: Gastronomie, Etage: EG)
Nutze cockpit_agencyos_list_categories um die richtigen Kategorienamen zu holen.

Center-Logo oder Öffnungszeiten aktualisieren

Aktualisiere bei Center X (centerId: ...) folgendes:
- Neues Logo: https://... (bitte zu BunnyCDN hochladen)
- Öffnungszeiten: Mo–Sa 10–21 Uhr, So 12–18 Uhr
Das Deichmann-Logo hat sich geändert. Hier ist das neue Logo: https://...
Bitte das Logo bei allen Centern aktualisieren, die einen Deichmann-Shop haben.

Entwürfe prüfen und genehmigen

Wie viele Entwürfe warten gerade auf Freigabe?
Nutze cockpit_agencyos_list_drafts.
Genehmige alle Entwürfe aus der Kampagne "Sommer-Sale Deichmann Juli".
1. Hole zuerst die Entwürfe mit cockpit_agencyos_list_drafts und campaignLabel="Sommer-Sale Deichmann Juli".
2. Genehmige jeden einzelnen mit cockpit_agencyos_update_draft.

Abgelaufene Inhalte aufräumen

Zeige mir alle Angebote die bereits abgelaufen sind (endDate vor heute).
Nutze cockpit_agencyos_search_content mit contentType="offer" und expiresBefore="<heute>".
Dann: archiviere alle davon mit cockpit_agencyos_archive_content.

MCP-Tools im Überblick

Vollständige Tool-Liste

Die autoritative Referenz aller registrierten Tools steht in packages/mcp-cockpit-os/README.md und im Quellcode packages/mcp-cockpit-os/src/register-cockpit-tools.ts. Die Tabellen unten sind eine Redaktions-Auswahl — nicht jede Public-Read-Route ist einzeln aufgeführt.

Öffentliche Reads (ohne API-Key, Auswahl)

ToolWas es tut
cockpit_public_center_by_slugSlug → centerId, Name
cockpit_public_news / events / offersListen inkl. contentCategory; Filter contentCategorySlug
cockpit_public_content_categoriesInhaltskategorien (News/Events/Angebote)
cockpit_public_aktuelles_bundleNews+Events+Offers+Jobs in einem Request
cockpit_public_wayfinding_floorsCenterplan mit mapSvg, mapLocations
cockpit_public_shops / services / officesStammdaten
cockpit_public_integration_docsMaschinenlesbare Integrationshinweise für v0

Projekt-Einstieg (neu)

ToolWas es tut
cockpit_center_project_initPflicht-Einstieg für jedes neue Center-Website-Projekt. Prüft, ob das Center existiert, gibt centerId zurück und liefert eine 7-Schritte-Checkliste + Quick-Reference für den Workflow. Verhindert, dass Inhalte nur im Frontend-Code landen.
cockpit_mcp_discover_toolsTool-Finder: Wenn Claude ein MCP-Tool nicht findet (tool_search zeigt nur ~5 von 70+ Tools) — Stichwort eingeben, exakten Tool-Namen erhalten.

Website-Reiter & Konfiguration

ToolWas es tut
cockpit_agencyos_get_center_website_configVolle Website-Config lesen (Design, SEO, templateContent, pagesConfig, …).
cockpit_agencyos_website_config_schemaDashboard-Reiter pro Template: wo welche Felder liegen + welches MCP-Tool.
cockpit_agencyos_update_center_website_configWebsite-Config schreiben (partial Update).

Lesen & Navigieren

ToolWas es tut
cockpit_public_center_by_slugCenter per URL-Slug auflösen → liefert centerId, Name. Kein API-Key nötig.
cockpit_public_wayfinding_floorsCenterplan / interaktive Karte: Etagen mit mapSvg und mapLocations (z. B. für SVG-Klick → Shop-Modal). centerId = Center-UUID, nicht floorId aus der Centerplan-URL.
cockpit_agencyos_list_centersAlle Center auflisten — filterbar nach Kette (chainSlug), Organisation (organizationId), Name.
cockpit_agencyos_get_centerDetails eines Centers per ID.
cockpit_agencyos_center_contextKompletter Cockpit-Kontext (Shops, News, Events, Angebote, Services); optional include=content_categories
cockpit_agencyos_list_organizationsAlle Organisationen mit Center-Anzahl.
cockpit_agencyos_list_categoriesVerfügbare Shop-Kategorien — vor dem Anlegen von Shops aufrufen.

Suchen

ToolWas es tut
cockpit_agencyos_search_contentVolltextsuche über News, Angebote, Events, Shops, Services, Jobs, Offices — mit Keyword-, Status- und Datumsfilter. Liefert u. a. createdAt, updatedAt, source (wo vorhanden).
cockpit_agencyos_content_statsKompakter Überblick: aktive Shops, Angebote, Events, offene Entwürfe, was bald abläuft.
cockpit_agencyos_audit_logsProvenance: Wer hat welchen Inhalt wann geändert — pro Center oder pro Eintrag. Mit summary: true → Rangliste nach Nutzer.
cockpit_agencyos_center_teamTeam: Wer ist dem Center zugewiesen (Rollen, Berechtigungen) — Antwort auf „wie viele arbeiten damit?“.

Center verwalten

ToolWas es tut
cockpit_agencyos_create_centerNeues Center anlegen (Name, Adresse, Logo, Farben …).
cockpit_agencyos_update_centerCenter-Metadaten updaten — Logo, Öffnungszeiten, Farben, Hero-Bild, SEO.

Inhalte schreiben

ToolWas es tut
cockpit_agencyos_content_push_previewVorschau / Dry-Run — zeigt was beim Push passieren würde, schreibt nichts. Immer zuerst aufrufen.
cockpit_agencyos_content_pushSchreibt ins Cockpit — direkt oder mit submitToWorkflow: true zur Freigabe.
cockpit_agencyos_chain_bulkGleichen Inhalt für alle Center einer Kette erstellen (z. B. alle Deichmann-Center).
cockpit_agencyos_org_bulkGleichen Inhalt für alle Center einer Organisation erstellen.
cockpit_agencyos_archive_contentInhalt archivieren (Shops, Events, News, Angebote, Services).
cockpit_agencyos_upload_mediaExterne Bild-URL zu BunnyCDN hochladen → CDN-URL zurück.
cockpit_agencyos_list_mediaMediathek eines Centers listen (bestehende Bunny-URLs wiederverwenden).
cockpit_agencyos_homepage_tilesHomepage-Kacheln lesen/anlegen/ändern/löschen.
cockpit_agencyos_page_contentSeiten-Inhalte (Hero, SEO, customContent) pro pageType lesen/schreiben.
cockpit_agencyos_revalidate_websiteWebsite-Cache manuell invalidieren (nach Push meist automatisch).

Entwürfe & Freigaben

ToolWas es tut
cockpit_agencyos_list_draftsOffene Entwürfe — optional includeData: true für Payload wie im Cockpit (customerCommunication, dispatchItemId, …). Enthält createdByName.
cockpit_agencyos_get_draftEin Entwurf nach ID — optional includeData: true.
cockpit_agencyos_update_draftEntwurf genehmigen oder ablehnen.
cockpit_agencyos_draft_customer_touchpointKI-Vorschlag für Kundenkommunikation (Szenario wie im Workflow: approve / reject / pending).

Claude findet ein MCP-Tool nicht?

Claude.ai nutzt intern tool_search — bei 70+ Tools werden oft nur ~5 semantische Treffer geladen. Spezifische Tools wie cockpit_agencyos_audit_logs oder cockpit_agencyos_center_team erscheinen dann nicht, obwohl sie auf dem Server registriert sind.

Lösung: cockpit_mcp_discover_tools mit Stichwort (audit, team, website, wer hat, …) — liefert den exakten Tool-Namen. Danach das Ziel-Tool direkt aufrufen. Alternativ in v0-Instructions die Tool-Namen explizit nennen.

Nach Deploy auf Render: Remote-MCP neu verbinden, damit die neue Tool-Liste aktiv ist.


Regel: Immer _preview vor _push. Claude macht das automatisch, wenn du im Prompt „zeig mir erst eine Vorschau" sagst.

WasGeht?
Cockpit lesen (Shops, News, Events, Angebote)✅ immer
Center neu anlegen✅ immer
Center-Metadaten updaten✅ immer
Entwürfe zur Freigabe einreichen (submitToWorkflow)✅ immer
Entwürfe aus Claude heraus genehmigen✅ immer
Entwurf inkl. data / Kundenkontakt aus Claude lesencockpit_agencyos_list_drafts / get_draft mit includeData
Kundenkontakt-Vorschlag wie im Dashboardcockpit_agencyos_draft_customer_touchpoint
Audit: Wer hat was wann geändert?cockpit_agencyos_audit_logs (Center oder einzelner Eintrag; summary für Top-Autoren)
Team: Wer hat Zugriff auf ein Center?cockpit_agencyos_center_team
Direkt ins Cockpit schreiben (live, ohne Freigabe)⚠️ nur wenn IT COCKPIT_ALLOW_CONTENT_PUSH aktiviert hat
Website-Code-Dateien bearbeiten❌ nicht über diese Verbindung — dafür: Website mit Claude bauen

Weg B — Desktop-App (Fallback · braucht Node.js)

Wann Weg B sinnvoll ist
  • Ihr habt kein Claude Pro/Team — nur die kostenlose Desktop-App
  • Ihr wollt offline arbeiten können
  • IT-Person richtet es einmal ein, Redakteurin nutzt es danach

Einmalig einrichten (IT, einmal pro Mac)

Im Repo-Hauptordner:

pnpm install
pnpm mcp:init

Der Assistent fragt nach:

  • Dashboard-URL (Vorgabe https://dashboard.cockpit-os.de — so lassen)
  • AgencyOS-API-Key (sk_agencyos_… — von IT/Cockpit-Einstellungen → Integrationen)
  • Live-Push erlauben? (für Anfang: nein empfohlen)

Danach Claude Desktop vollständig beenden und neu starten. Fertig.

Falls der Assistent abbricht (Eintrag schon vorhanden): COCKPIT_MCP_INIT_FORCE=1 pnpm mcp:init

Manuell: pnpm --filter @mall-os/mcp-cockpit-os run buildclaude_desktop_config.json anpassen (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\).


IT-Setup: Remote-Server auf Render einrichten

Der Remote-MCP-Service ist bereits in render.yaml eingetragen (mallos-mcp-cockpit). Nach einem Blueprint-Sync auf Render läuft er automatisch.

Einmalig nach dem ersten Deploy in Render manuell setzen:

  1. Render Dashboard → Service mallos-mcp-cockpitEnvironment

  2. COCKPIT_MCP_HTTP_BEARER — ein langes Zufallsgeheimnis generieren:

    openssl rand -hex 32

    Diesen Wert in Render eintragen. Dann die fertige Connector-URL für die Redakteurinnen zusammenstellen:

    https://mallos-mcp-cockpit.onrender.com/mcp?token=<WERT-AUS-RENDER>

    Diese URL sicher übermitteln (Passwort-Manager, nie im offenen Chat oder per E-Mail).

  3. COCKPIT_AGENCYOS_API_KEY — den AgencyOS-API-Key eintragen (aus Cockpit → Einstellungen → Integrationen → AgencyOS).

  4. COCKPIT_ALLOW_CONTENT_PUSH — leer lassen für sicheren Start (nur Workflow-Modus). Auf 1 setzen, wenn direktes Schreiben erlaubt sein soll.

  5. Service neu deployen.

Health-Check: https://mallos-mcp-cockpit.onrender.com/health — wenn {"status":"ok"} erscheint, läuft alles.

Sicherheitshinweise
  • COCKPIT_MCP_HTTP_BEARER ist das einzige Geheimnis zwischen Claude und dem MCP-Server. Wer es hat, kann alle MCP-Tools aufrufen. Bei Verdacht auf Weitergabe: sofort in Render durch ein neues ersetzen und alle Redakteurinnen informieren.
  • Das Secret gehört in keinen Chat, keine E-Mail, kein öffentliches Dokument.
  • Wenn direktes Schreiben nötig ist: separate Render-Instanz mit eigenem Bearer für diese Nutzergruppe empfohlen.

AgencyOS-API-Key: wo bekommt man ihn?

  • Geht zu Cockpit Dashboard → Einstellungen → API & Integrationen (Karte AgencyOS – API-Keys).
  • Neuen Key erzeugen — er beginnt immer mit sk_agencyos_. Den vollständigen Key siehst du einmalig im Dialog.
  • Sicher im Passwort-Manager ablegen, dann in Render eintragen.
  • Nur lesen (ohne Key): Die cockpit_public_*-Tools funktionieren ohne Key — nützlich zum Testen.

Probleme?

SymptomWas tun
Connector erscheint nicht / keine Tools in ClaudeURL korrekt? Kein / am Ende? Claude-Seite neu laden. In Claude Pro: Settings → Connectors prüfen.
„401 Unauthorized"Secret falsch eingetippt? Leerzeichen vorne/hinten? Render-Variable gesetzt und Service neu deployed?
„503" oder TimeoutRender Free-Tier schläft nach Inaktivität ein — erste Anfrage kann 30 Sek. dauern. Einfach nochmal versuchen. Auf Starter-Plan upgraden für immer-aktiv.
„Push verweigert"COCKPIT_ALLOW_CONTENT_PUSH nicht gesetzt — das ist Absicht. Workflow-Modus (submitToWorkflow: true) funktioniert immer.
Desktop-MCP: keine Tools sichtbarclaude_desktop_config.json gespeichert? Pfad zu index.js korrekt? Claude vollständig neu gestartet (nicht nur Fenster schließen)?

Zurück zur Übersicht: Content-Creator-Handbuch → Einführung

Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /dashboard/claude-mcp-redaktion-anleitung