Einen KI-Agenten (Claude) über MCP verbinden
Verbinden Sie einen KI-Agenten wie Claude über den nativen MCP-Server mit Ihrem CRM. Der Agent liest und erstellt Datensätze (Leads, Kontakte, Opportunities) sicher mit Ihrem API-Schlüssel.
MCP (Model Context Protocol) ist der Standard, der es einem KI-Agenten ermöglicht, mit externen Systemen zu kommunizieren. Sellio bietet einen nativen MCP-Server: Richten Sie den Agenten (zum Beispiel Claude, ausgeführt in Claude Desktop oder einer beliebigen MCP-fähigen App) auf die Server-URL, und er kann Datensätze in Ihrem CRM abfragen und erstellen. Das ist ideal für einen Prospecting-Agenten, der automatisch Leads und Kontakte anlegt. Alles läuft im Kontext des Mandanten des API-Schlüssels und beachtet die Validierungen und Berechtigungen (RBAC) des CRM.
Voraussetzungen
- Ein MCP-Client (Claude Desktop oder eine beliebige App/ein Agent, der MCP über HTTP spricht).
- In Sellio: Administratorzugriff, um den API-Schlüssel unter Einstellungen → API & Entwickler zu erstellen.
1) API-Schlüssel erstellen
- Öffnen Sie Einstellungen → API & Entwickler (auch über die Verknüpfung in der Seitenleiste erreichbar).
- Erstellen Sie einen neuen API-Schlüssel und kopieren Sie den Wert (er beginnt mit sk_ und wird nur einmal angezeigt, behandeln Sie ihn daher wie ein Passwort).
- Derselbe Schlüssel funktioniert sowohl für die REST-API als auch für MCP.
2) Den Agenten auf den MCP-Server verweisen
Die MCP-Server-URL lautet https://IHR-CRM/api/mcp, und die Authentifizierung erfolgt wie bei REST über den Header Authorization: Bearer sk_...
In Claude Desktop (und Clients, die die mcp-remote-Bridge verwenden) fügen Sie Folgendes in Ihre MCP-Server-Konfigurationsdatei ein:
3) Tools, die der Agent erhält
- list_objects: ermittelt die verfügbaren Objekte (Leads, Kontakte, Unternehmen, Opportunities und benutzerdefinierte Objekte).
- describe_object: ermittelt die Felder eines Objekts: apiName, Bezeichnung, Typ, ob es erforderlich ist, die von einem select akzeptierten Optionen und das Zielobjekt eines lookup. Vor dem Erstellen oder Aktualisieren aufrufen.
- list_records: listet und durchsucht Datensätze eines Objekts (Suche, Feldfilter, Sortierung, Paginierung).
- get_record: ruft einen Datensatz anhand der id ab.
- create_record: erstellt einen Datensatz (zum Beispiel einen neuen Vertriebslead).
- update_record: aktualisiert Felder eines bestehenden Datensatzes.
- delete_record: verschiebt einen Datensatz in den Papierkorb (reversibel). Funktioniert nur, wenn der API-Schlüssel den delete scope aktiviert hat, der standardmäßig deaktiviert ist.
- bulk_create_records: erstellt bis zu 500 Datensätze in einem Aufruf, mit Erfolg oder Fehler pro Eintrag.
- bulk_update_records: aktualisiert bis zu 500 Datensätze per id in einem Aufruf, mit Erfolg oder Fehler pro Eintrag.
- export_records: gibt die Datensätze eines Objekts als flache tabellarische Zeilen mit stabilen Spalten zurück, mit updated_since und created_since für die inkrementelle Synchronisierung. Für BI- und Automatisierungswerkzeuge gemacht.
- list_activities: listet die Aktivitäten eines Datensatzes (seine Timeline) oder die neuesten des Workspace.
- create_activity: erfasst eine noch zu erledigende Aufgabe oder einen bereits stattgefundenen Anruf, eine E-Mail, ein Meeting oder eine Notiz.
- update_activity: schließt eine Aktivität ab, öffnet sie erneut, verschiebt, delegiert sie oder erfasst ihr Ergebnis.
- delete_activity: löscht eine Aktivität. Erfordert den delete scope.
- list_attachments: listet die an einen Datensatz angehängten Dateien.
- get_attachment: liefert die Metadaten eines Anhangs und einen signierten Download-Link, der nach 5 Minuten abläuft.
- create_attachment_upload_url: Schritt 1 eines Uploads: liefert eine signierte URL, an die die Dateibytes per PUT gesendet werden (maximal 25 MB).
- register_attachment: Schritt 2 eines Uploads: registriert die hochgeladene Datei am Datensatz, damit sie in der Timeline erscheint.
- delete_attachment: löscht einen Anhang und seine Datei. Nicht umkehrbar, daher ist der delete scope erforderlich.
- list_inventory: Lagerbestand, reservierte und verfügbare Menge pro Produkt, für ein Produkt oder nur für Produkte unter dem Mindestbestand.
- list_line_items: Produktzeilen einer Opportunity (Menge, Preis, Rabatt, Steuer) und die neu berechnete Summe.
- add_line_item: fügt einer Opportunity eine Produktzeile hinzu. Summen und der Opportunity-Betrag werden mit derselben Engine wie im Bildschirm neu berechnet.
- update_line_item: ändert Menge, Preis, Rabatt, Steuer, Laufzeit oder Beschreibung einer Produktzeile.
- delete_line_item: entfernt eine Produktzeile aus einer Opportunity.
- send_marketing_email: sendet eine Marketing-E-Mail (an, Betreff, html) über den konfigurierten Anbieter, mit automatisch hinzugefügter Abmelde-Fußzeile.
Vollständige REST-API- und MCP-Referenz (Endpunkte, Parameter, Fehlerformat, Ratenbegrenzung und Felderkennung): siehe den Artikel „Entwicklerreferenz: REST-API und MCP“ hier im Hilfe-Center.
So testen Sie
- Verbinden Sie den Agenten und fragen Sie etwas wie „Liste meine CRM-Objekte auf“, er sollte list_objects aufrufen und die Liste zurückgeben.
- Fragen Sie „Erstelle einen Lead namens Ana Souza mit der E-Mail ana@acme.com“, und der Agent ruft create_record auf und gibt die id des neuen Datensatzes zurück.
- Bestätigen Sie im CRM, dass der Datensatz in der Liste des Objekts erscheint.
Fehlerbehebung
- 401 Unauthorized: Der API-Schlüssel fehlt oder ist falsch. Erstellen Sie unter Einstellungen → API & Entwickler einen neuen und konfigurieren Sie den Agenten mit Authorization: Bearer sk_... neu.
- Der Agent sieht den Server nicht: Bestätigen Sie die URL https://IHR-CRM/api/mcp und, in Claude Desktop, dass der mcpServers-Block in der Konfigurationsdatei steht und die App neu gestartet wurde.
- Eine Aktion wurde verweigert: MCP beachtet die Berechtigungen (RBAC) und Validierungen des CRM, und die Fehlermeldung erklärt den Grund (Pflichtfeld, keine Berechtigung, Planlimit usw.).
- Ich sehe nur meine eigenen Daten: Korrekt. Jeder API-Schlüssel ist auf seinen zugehörigen Mandanten isoliert, der Agent sieht also niemals die Daten eines anderen Unternehmens.