# Odoo MCP-Server: Odoo an Claude oder ChatGPT anbinden

**Kurz:** Ihre KI kann über einen MCP-Server in Odoo 19 Kontakte, Leads, Projekte, Aufgaben und Stundenzettel lesen und gezielt Stunden buchen oder Aufgaben anlegen. Sie können den MCP-Server selbst bauen oder JanuaPort nehmen. Dort gibt es für Odoo eine fertige Vorlage, der Schlüssel bleibt im Tresor, und Ihre KI bekommt nur die Werkzeuge, die Sie ihr freigeben.

Stand: 11. Oktober 2026 · JanuaPort 0.73.1 · live erprobt gegen Odoo 19 Community

## Was Sie brauchen

- **Odoo 19**, Community oder Enterprise. Ältere Versionen haben die externe JSON-2-API nicht.
- **Odoo Online:** Laut Odoo ist der Datenzugriff über die externe API nur im Tarif „Custom“ freigeschaltet, nicht in „One App Free“ und „Standard“. Klären Sie das vor dem Projekt. Selbst gehostete Instanzen haben diese Grenze nicht.
- Einen **eigenen Bot-Nutzer** in Odoo mit einer eigenen Rechtegruppe. Das empfiehlt auch die Odoo-Doku, und es gilt für beide Wege unten.

## Weg 1: einen eigenen MCP-Server bauen

So geht es ohne JanuaPort:

1. **Bot-Nutzer und Rechtegruppe anlegen.** Die Gruppe darf nur lesen, was die KI braucht, und nur dort anlegen oder ändern, wo sie schreiben soll. Kein Löschen.
2. **API-Schlüssel erzeugen** (Einstellungen → Kontosicherheit → Neuer API-Schlüssel). Odoo zeigt ihn einmal. Er läuft nach **höchstens drei Monaten** ab und muss dann erneuert werden.
3. **MCP-Server schreiben**, der die JSON-2-API aufruft. Jede Suche braucht eine feste Feldliste (`fields`), sonst antwortet Odoo mit 403. Many2one-Felder kommen als `[id, "Name"]`.
4. **Werkzeuge schneiden:** welche Modelle, welche Felder, welche Filter darf die KI setzen? Ein generisches „führe beliebige Odoo-Methode aus“ gibt der KI alle Rechte des Bot-Nutzers.
5. **Schlüssel ablegen**, so dass er weder im Code noch im Workflow noch beim Mitarbeiter liegt.
6. **Betreiben:** Server hosten, mit TLS erreichbar machen, Zugang für Claude oder ChatGPT absichern, Updates einspielen.
7. **Protokollieren**, wer wann welches Werkzeug aufgerufen hat. Spätestens die IT oder der Datenschutz des Kunden fragt danach.

Das ist machbar. Der Aufwand steckt weniger im ersten Aufruf als in den Punkten 4 bis 7, und er fällt bei jedem weiteren System erneut an.

## Weg 2: mit JanuaPort

JanuaPort ist ein MCP-Gateway, das Sie selbst betreiben. Für Odoo bringt JanuaPort eine fertige Vorlage mit.

1. **Bot-Nutzer und Schlüssel in Odoo anlegen** wie in Weg 1, Schritt 1 und 2. Die Rechtegruppe bleibt die zweite Linie: Selbst ein gestohlener Schlüssel kann nur, was der Bot darf.
2. **Schlüssel in den Tresor legen.** In der Admin-Oberfläche unter Credentials, oder per Kommandozeile:
   ```bash
   printf '%s' '<api-schlüssel>' | jnpt credential set --name odoo
   ```
   Der Schlüssel steht danach in keiner Konfiguration und keinem Workflow, und JanuaPort gibt ihn nie an die KI oder ins Protokoll heraus.
3. **Vorlage auf Ihre Instanz einstellen.** Die Odoo-Vorlage (`odoo.yaml`) liegt dem Image bei. In einer Kopie tragen Sie zwei Werte ein:
   ```yaml
   base_url: https://odoo.ihre-firma.de   # Adresse Ihrer Odoo-Instanz
   headers:
     X-Odoo-Database: ihre-datenbank      # Datenbankname
   ```
   Dann laden:
   ```bash
   jnpt connector add --file odoo.yaml
   docker compose kill -s HUP jnpt      # übernimmt die Integration ohne Neustart
   ```
4. **Verbindung prüfen:** In der Integration unter „Aktionen & Diagnose“ auf „Verbindung prüfen“, oder `jnpt connector check odoo`. Die Prüfung ruft in Odoo nur `res.users/context_get` auf.
5. **Rechte vergeben.** Ein Zugang (SSO-Nutzer oder Token) sieht zunächst nichts. Sie geben die Lesewerkzeuge frei und jedes Schreibwerkzeug einzeln.
6. **Claude oder ChatGPT verbinden:** Adresse `https://<ihre-anlage>/mcp`, angemeldet per SSO oder mit einem eigenen Token je Nutzer oder Ablauf.

Ab dann steht jeder Aufruf im Audit-Log: wann, wer, welches Werkzeug, mit welchem Ergebnis.



## Welche Werkzeuge die Vorlage mitbringt

| Werkzeug | Art |
|---|---|
| Kontakte suchen, auch die Ansprechpartner einer Firma | lesen |
| Leads und CRM-Stufen suchen | lesen |
| Projekte und Aufgaben suchen | lesen |
| Stundenzettel suchen | lesen |
| Mitarbeitende suchen (öffentliches Profil) | lesen |
| Stunden buchen | schreiben, eigenes Recht |
| Aufgabe anlegen, mit Beschreibung | schreiben, eigenes Recht |
| Stufe eines Leads setzen, sonst nichts am Lead | schreiben, eigenes Recht |
| Interne Notizen an Aufgaben und Kontakten lesen | lesen, eigene Integration mit eigenem Bot |
| Interne Notiz an eine Aufgabe schreiben | schreiben, eigenes Recht, eigene Integration |

Jede Suche liefert höchstens 50 Datensätze, die KI blättert weiter. Felder und Filter stehen fest in der Vorlage, die KI setzt nur die Werte.

**Bewusst nicht drin:** Löschen, Mails oder Nachrichten versenden, Kontakte oder Leads anlegen oder ändern.



## Was Sie wissen sollten

- **Schlüssel erneuern:** Odoo-Schlüssel laufen nach höchstens drei Monaten ab. Tragen Sie das Ablaufdatum als Fälligkeit ein. Ein abgelaufener Schlüssel zeigt sich als Fehler bei jedem Werkzeug.
- **Wer bestätigt Schreibvorgänge?** Schreibwerkzeuge sind als solche gekennzeichnet, und Ihr KI-Client kann vor dem Aufruf nachfragen. JanuaPort selbst fragt nicht nach. Die tragende Grenze ist das Recht: Ein Zugang ohne das Schreibrecht kann das Werkzeug nicht aufrufen.
- **Datenschutz:** Kontakte, Stundentexte und Notizen sind personenbezogen. Was Ihre KI über JanuaPort abruft, sieht auch ihr KI-Anbieter. Felder, die Sie als sensibel festlegen, etwa Kundennamen oder IBANs, ersetzt JanuaPort vorher durch Kürzel — nach festen Regeln, ohne KI dazwischen. Die Odoo-Vorlage legt das nicht von sich aus fest; Sie entscheiden je Feld.
- **Freie Texte im Protokoll:** Aufgabenbeschreibungen und Notiztexte erscheinen im Audit-Log nur als `[REDACTED]`.
- **Fehlermeldungen:** Odoos Fehlertexte enthalten Server-Pfade. JanuaPort reicht der KI nur Status und eine feste Erklärung weiter.

## Häufige Fragen

**Geht das auch mit Odoo 17 oder 18?**
Nein. Die Vorlage nutzt die JSON-2-API, die es ab Odoo 19 gibt.

**Kann die KI in Odoo etwas löschen?**
Nein. Die Vorlage hat kein Löschwerkzeug, und die empfohlene Rechtegruppe des Bot-Nutzers erlaubt kein Löschen.

**Brauche ich für jeden Mitarbeiter einen eigenen Zugang?**
Mit SSO meldet sich jeder Mitarbeiter mit seinem Firmenkonto an und bekommt die Rechte seines Teams. Für Abläufe ohne Menschen, etwa in n8n oder einem Skript, gibt es Tokens mit eigenen Rechten. Jede Person, die sich anmeldet, und jeder Token zählen als eine Identity.

**Läuft das auch mit Odoo Online?**
Nur im Tarif „Custom“, weil Odoo die externe API nur dort freischaltet.


## Für Agenturen

Sie bauen für Ihre Kunden Abläufe mit Odoo? Dann kennen Sie die zwei Hürden: Jedes Projekt baut die Anbindung neu, und am Ende fragen IT, Datenschutz und Betriebsrat, wer was darf und wo die Schlüssel liegen. Mit JanuaPort liegen die Zugangsdaten beim Kunden, Ihr Ablauf bekommt einen Token mit genau den Rechten, die er braucht, und jeder Aufruf steht im Protokoll.
