Customermates als MCP-Server in Claude Desktop. Eine Konfigurationsdatei bearbeiten, neu starten, Setup-Prompt einfügen.
Die "Custom Connectors"-UI in Claude Desktop unterstützt nur OAuth — keine statischen API-Header. Daher gehen wir über die Konfigurationsdatei mit dem mcp-remote-Shim. Ein JSON-Block, ein Neustart.
Wenn du Claude Code (das CLI) nutzt, siehe die Claude Code-Seite — dort reicht ein einziger Terminal-Befehl.
In Customermates: Profil → API Keys → Neuer Key. Gib ihm einen Namen, der den Client beschreibt (z.B. Claude Desktop). Der 64-Zeichen-Key wird einmal angezeigt — sofort kopieren.
Claude → Settings → Developer → Edit Config öffnen, oder die Datei direkt:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonDiesen Block mergen, YOUR_KEY ersetzen:
{ "mcpServers": { "customermates": { "command": "npx", "args": [ "-y", "mcp-remote", "https://customermates.com/api/v1/mcp", "--header", "x-api-key:YOUR_KEY" ] } }}Bei Self-Host: URL durch deine Instanz ersetzen.
mcp-remote ist ein kleiner Shim, der Claude Desktop per stdio mit einem Remote-HTTP-MCP-Server sprechen lässt. Er wird beim ersten Aufruf via npx heruntergeladen; du brauchst Node 18+ im PATH.
Vollständig beenden (⌘Q auf macOS, nicht nur Fenster schließen) und neu öffnen. Customermates erscheint im Tools-Panel mit allen CRM-Tools.
Du bist jetzt per MCP mit meinem Customermates CRM verbunden.## Über CustomermatesCustomermates ist ein Open-Source-CRM, bei dem die KI, die ich ohnehin nutze, die Daten aktuell hält. Fünf Kern-Entitätstypen:- **Contacts**: Personen- **Organizations**: Firmen- **Deals**: Verkaufschancen mit Services und Gesamtwert- **Services**: Produkte oder Leistungen eines Deals, jeweils mit Menge- **Tasks**: To-dos, Teammitgliedern zugewiesenEntitäten verknüpfen sich untereinander. Ein Contact gehört zu einer oder mehreren Organizations und Deals. Ein Deal hat Contacts, Organizations, Services (mit Mengen) und Zugewiesene. Ein Task hat nur Zugewiesene. Jede Entität unterstützt **Custom Columns** (eigene Felder) und **Notes** (Markdown).## Bevor du etwas tust, frag mich nach1. Meinem Namen und meiner Rolle, damit du deine Antworten anpassen kannst.2. Wofür ich mein CRM typischerweise nutze, in einem Satz.## Regeln, die meine Daten schützen- **Niemals `null` auf Relationship-Arrays** (`organizationIds`, `dealIds`, `contactIds`, `userIds`, `services`). Null löscht die Beziehung. Feld weglassen, um bestehende Verknüpfungen zu behalten, `[]` um alle zu löschen, oder `link_entities` / `unlink_entities` für einzelne IDs.- **Bevorzuge `link_entities` und `unlink_entities`** gegenüber `update_*` mit Relationship-Arrays. Sie mergen statt zu ersetzen.- **Custom Fields sind per-Column-Merge**. Nur die columnIds, die du schickst, ändern sich; die anderen bleiben erhalten. Um ein Feld zu leeren: `{ columnId, value: null }`.- **Nutze das richtige per-Type-Custom-Column-Tool**. `update_plain_custom_column` für Plain, `update_single_select_custom_column` für Dropdowns usw. Der Server sagt dir, wenn du das falsche gewählt hast.- **Vor jedem Create oder Update**: `get_entity_configuration` für die Entität aufrufen, um Custom-Column-IDs und Filter-Syntax zu lernen.- **Destruktive Aktionen bestätigen lassen.** Bei `delete_*` oder allem, was als IRREVERSIBLE markiert ist, frag mich erst, es sei denn ich habe "mach einfach" gesagt.## Vorgeschlagene erste Schritte1. Rufe `get_current_user` und `get_company` auf und sag mir, wer und wo ich arbeite.2. Rufe `count_entity` für contact, organization, deal, service und task auf.3. Rufe `list_custom_columns` auf, damit wir keine Felder neu anlegen, die schon existieren.4. Frag mich, woran ich zuerst arbeiten will.## Stil- Ein kurzer Absatz ist besser als eine Bullet-Liste, außer ich vergleiche Optionen.- Bevor du ein destruktives Tool ausführst: nenn das Tool und seine Argumente.- Wenn ich frage "was ist mit X?", nutze erst `search_all_entities`, bevor du den Entity-Typ rätst.Bereit. Bitte frag mich, womit ich anfangen will.Der Agent orientiert sich und wartet auf Anweisungen.
| Symptom | Ursache | Lösung |
|---|---|---|
| Tools-Panel ist leer | Claude wurde nicht neu geladen | Vollständig beenden und neu öffnen |
npx: command not found | Kein Node im PATH | Node 18+ von nodejs.org installieren |
| "Invalid API key" | Falsche Key-Länge | In Profil → API Keys neu erstellen |
| Server lehnt Relationship-Update ab | Null-Wipe-Schutz hat ausgelöst (gewollt) | Claude bitten, link_entities / unlink_entities zu nutzen |
customermates-<tenant>-Block mit dem jeweiligen Key anlegen.