Ein Satz im Chat, und der neue Lead steht mit Notiz und Rückruf im CRM. Das geht mit dem Twenty CRM MCP Server. Twenty stellt ihn direkt unter eurer Workspace Domain bereit, und jeder KI Assistent, der MCP spricht, kann damit Firmen, Kontakte, Deals, Notizen und Aufgaben lesen und schreiben. Wir nutzen das täglich für unseren eigenen Vertrieb. Hier steht, wie ihr den Server anbindet, welche Tools es gibt und wo die Rechte greifen.
NCA Twenty CRM Setup: Wir richten Twenty für euer Team ein, auf Servern in Deutschland, mit eigenen Feldern, sicheren Updates und MCP Anbindung mit klaren Rechten. Zum NCA Twenty CRM Setup
Was der Twenty CRM MCP Server macht
MCP steht für Model Context Protocol, einen offenen Standard, über den KI Assistenten Werkzeuge aufrufen. Twenty stellt seine komplette API als solche Werkzeuge bereit. Der Assistent fragt also nicht irgendein Modell nach euren Kunden, er fragt euer CRM. Die Antwort kommt aus euren echten Daten.
Der Endpoint ist immer eure Workspace URL plus /mcp. In der Cloud sieht das aus wie https://firma.twenty.com/mcp, self hosted entsprechend https://crm.eure-domain.de/mcp. Es gibt nichts zu installieren, der Server ist Teil von Twenty.
OAuth oder API Key
Twenty bietet zwei Wege für die Anmeldung. OAuth ist der empfohlene. Der Client öffnet beim ersten Verbinden ein Browserfenster, ihr loggt euch in Twenty ein, fertig. Es landen keine Secrets in Konfigurationsdateien, und Tokens erneuern sich selbst. Die Konfiguration für einen MCP Client ist zwei Zeilen lang:
{
"mcpServers": {
"twenty": {
"type": "streamable-http",
"url": "https://crm.eure-domain.de/mcp"
}
}
}
Der Client findet die OAuth Metadaten selbst über /.well-known/oauth-protected-resource, registriert sich dynamisch und holt sich die Tokens. Client ID und Secret müsst ihr nirgends eintragen.
Der zweite Weg ist ein API Key im Authorization Header. Das passt für Clients ohne OAuth Unterstützung und für Automationen, die ohne Menschen laufen:
{
"mcpServers": {
"twenty": {
"type": "streamable-http",
"url": "https://crm.eure-domain.de/mcp",
"headers": {
"Authorization": "Bearer EUER_API_KEY"
}
}
}
}
Den Key legt ihr in Twenty unter Settings, MCP & APIs, API an. Er gehört nicht in die Versionsverwaltung und nicht in geteilte Dotfiles. Beide Snippets kopiert ihr fertig aus Twenty unter Settings, MCP & APIs, MCP, dort steht schon eure Workspace URL drin.
Wo die Konfiguration hingehört
| Client | Datei |
|---|---|
| OpenCode | opencode.json im Projekt oder global |
| Claude Code | ~/.claude.json oder .mcp.json im Projekt |
| Claude Desktop | claude_desktop_config.json |
| Cursor | .cursor/mcp.json |
| Claude im Browser | Custom Connector in den Einstellungen, nur die URL eintragen |
Bei OpenCode heißt der Block mcp statt mcpServers und der Typ remote. Die genaue Schreibweise steht in der OpenCode Doku zu MCP Servern. Wie ihr OpenCode generell absichert, erklärt unser Beitrag zu OpenCode Permissions.
Welche Tools der Twenty MCP Server bereitstellt
Nach dem Verbinden sieht der Assistent zwei Meta Tools: learn_tools holt das Eingabeschema für ein Werkzeug, execute_tool führt es aus. Die Namen der Datensatz Operationen folgen einer festen Grammatik, der Assistent kann sie also ohne Suche bilden:
- Lesen:
find_many_companies,find_one_person,group_by_opportunities - Schreiben:
create_one_note,create_many_people,update_one_opportunity,upsert_many_companies - Löschen:
delete_one_task,delete_many_notes
Ist ein Name falsch, meldet learn_tools das und schlägt die nächsten passenden Namen vor. Für alles andere gibt es get_tool_catalog, der die Werkzeuge nach Kategorien auflistet. Ohne Filter liefert er hunderte Einträge, das sprengt den Kontext der meisten Assistenten. Besser gezielt nach einer Kategorie fragen.
Neben den Datensätzen gibt es Werkzeuge für Workflows, Views, Webhooks, Navigation und das Datenmodell selbst. Der Assistent kann also auch neue Felder anlegen oder eine Kanban Ansicht bauen. Welche Objekte es in eurem Workspace gibt, zeigt list_object_metadata_names.
Rechte gelten auch für die KI
Das ist der wichtigste Punkt für den Einsatz im Unternehmen. Eine MCP Verbindung erbt die Rechte des angemeldeten Nutzers. Wer per OAuth verbunden ist, bekommt genau seine Workspace Rolle. Ein API Key bekommt die Rolle, die ihr ihm unter Settings, Members, Roles zuweist.
Damit lässt sich sauber trennen: Der Vertriebler sieht seine Pipeline, der Automations Key darf nur Notizen anlegen, der Assistent der Geschäftsführung liest alles und schreibt nichts. Rollen in Twenty greifen auf Objekt, Feld und Datensatz Ebene. Die Feinheiten stehen in der Twenty Doku zu Permissions.
Self Hosting und SERVER_URL
Wer Twenty selbst betreibt, braucht zwei Dinge. Erstens muss die Instanz per HTTPS erreichbar sein, zumindest für den Client, der sich verbindet. Ein Assistent in der Cloud wie Claude im Browser kommt an ein CRM im internen Netz nicht ran. Zweitens muss die Variable SERVER_URL in der .env exakt auf die öffentliche Adresse zeigen:
SERVER_URL=https://crm.eure-domain.de
Aus diesem Wert erzeugt Twenty die OAuth Metadaten. Stimmt er nicht, bricht der Login mit einem Resource Mismatch ab. Das ist der häufigste Fehler beim ersten Verbinden. Wie ihr Twenty mit Docker Compose aufsetzt und per GitLab CI aktualisiert, steht im NCA Glossar zu Twenty CRM.
Was wir damit im Vertrieb machen
Unser Twenty läuft self hosted und ist per OAuth mit Claude verbunden. Ein paar Dinge, die seitdem anders laufen:
- Leads aus Mails übernehmen: Der Assistent liest einen Mail Thread, legt Firma und Ansprechpartner an und hängt die Signatur als Telefonnummer dran.
- Gesprächsnotizen strukturieren: Aus einem Textdokument mit Notizen werden Notes am richtigen Datensatz, verknüpft mit Firma, Person und Opportunity.
- Eigene Felder bauen: Anrufstatus, Priorität und nächster Schritt als Felder, dazu eine Anrufliste als Tabelle und ein Board als Kanban. Alles per Chat angelegt.
- Pipeline abfragen: Welche Deals hängen seit zwei Wochen? Die Antwort kommt aus den Daten, nicht aus dem Bauchgefühl.
Zwei Lehren daraus. Notizen und Aufgaben sind in Twenty nicht automatisch mit einem Datensatz verknüpft, die Verknüpfung ist ein eigener Schritt über note_targets und task_targets. Und für Massenanlagen sind die create_many Werkzeuge deutlich schneller als einzelne Aufrufe.
Daten im CRM und das Modell dahinter
Ein CRM ist voll mit personenbezogenen Daten. Der MCP Server liefert sie an das Modell, das der Client benutzt. Überlegt deshalb, welches Modell das sein darf. Für Kundendaten setzen wir auf Verarbeitung im eigenen Netzwerk, kleinere Modelle laufen dafür lokal mit Ollama. Welche Modelle sauber mit Tools umgehen, vergleichen wir bei den lokalen Modellen für Tool Calling und MCP. Wie Agenten generell sicher an Unternehmensdaten kommen, zeigt die NCA MCP Middleware.
Alle Details zum Server stehen in der Twenty Doku zum MCP Server, den Standard selbst erklärt modelcontextprotocol.io. Welche Funktionen Twenty sonst noch mitbringt, zeigt unser Beitrag zu Twenty CRM Features für den Vertrieb.
Häufige Fragen zum Twenty CRM MCP Server
Wie richte ich den Twenty CRM MCP Server 2026 ein?
Gar nicht, er ist schon da. Der Endpoint ist eure Workspace URL plus /mcp. Ihr kopiert in Twenty unter Settings, MCP & APIs, MCP das Konfigurations Snippet und fügt es in die Config eures MCP Clients ein. Bei OAuth öffnet sich beim ersten Verbinden ein Login Fenster, bei API Key verbindet der Client sofort.
Welche KI Assistenten funktionieren 2026 mit Twenty?
Jeder Client, der MCP über Streamable HTTP spricht. Die Twenty Doku nennt Claude Desktop, Claude Code, Cursor und ChatGPT, OpenCode funktioniert ebenfalls. Für OAuth muss der Client die MCP Authorization Spezifikation unterstützen. Wer das nicht kann, nimmt den API Key.
Sieht der KI Assistent 2026 alle Daten im CRM?
Nein. Die Verbindung erbt die Rechte des angemeldeten Nutzers oder die Rolle des API Keys. Rollen greifen in Twenty auf Objekt, Feld und Datensatz Ebene. Ein Assistent kann also auf Lesen beschränkt werden oder nur bestimmte Objekte sehen.
Warum bricht der OAuth Login beim Self Hosting ab?
Meist stimmt SERVER_URL nicht mit der öffentlichen Adresse überein. Twenty erzeugt daraus die OAuth Metadaten, und der Client prüft, ob Resource und Endpoint zusammenpassen. Setzt die Variable auf die echte Domain mit HTTPS und startet die Container neu.
Kann der Assistent auch Felder und Ansichten anlegen?
Ja. Neben den Datensatz Werkzeugen gibt es Werkzeuge für das Datenmodell, für Views und für die Navigation. Damit lassen sich eigene Felder, Tabellen und Kanban Boards per Chat erstellen. Für komplexe Aufgaben wie Workflows lohnt es sich, vorher die passenden Skills über load_skills zu laden.
Welches Modell sollte Kundendaten verarbeiten?
Das entscheidet ihr mit eurem Datenschutz. Der MCP Server gibt die Daten an das Modell, das der Client nutzt. Wir verarbeiten Kundendaten im eigenen Netzwerk und nutzen dafür lokale Modelle mit Ollama. Große Cloud Modelle setzen wir für Coding gegen Entwicklungsumgebungen mit Testdaten ein.
Twenty CRM mit KI Anbindung für euer Team
Wir setzen Twenty auf Servern in Deutschland auf, bauen Felder und Ansichten für euren Vertrieb und binden KI Assistenten mit klaren Rechten an. Das Vorgespräch ist kostenlos, abgerechnet wird transparent nach Minuten.
