Zum Inhalt springen

Dokumentation / API

KI-Assistenten (MCP)

Verbinde Claude Code, Cursor, VS Code oder einen anderen KI-Assistenten mit calmo.cloud und lass ihn mit den Odoos, Backups und Servern deines Teams arbeiten.

calmo.cloud betreibt einen MCP-Server. Darüber kann ein KI-Assistent dein Team so verwalten, wie es ein Skript über die REST-API tut. MCP (Model Context Protocol) ist der offene Standard, über den Claude, Cursor, VS Code und viele andere Assistenten externe Werkzeuge aufrufen. Ist der Assistent verbunden, fragst du ihn einfach: „Welche unserer Odoos sind gestoppt?“, „Mach eine Testkopie vom Live-Odoo“ oder „Sichere die Datenbank der Müller GmbH und gib mir den Download-Link“.

Alle Assistenten verbinden sich mit derselben Adresse:

https://calmo.cloud/api/mcp

Du findest sie auch auf der Seite API Tokens im Panel; ein Klick auf die Adresse kopiert sie.

Der MCP-Server gehört zur API, die ab dem Starter-Plan enthalten ist. Siehe Plan.

Was ein Assistent tun kann #

Der Assistent bekommt die Möglichkeiten der REST-API als Werkzeuge, die er aufrufen kann:

Bereich Was der Assistent tun kann
Odoos Sie auflisten und ihren Status prüfen, sie anlegen, ändern und löschen, sie starten, stoppen, neu starten und neu deployen, Kopien zum Testen erstellen und nachsehen, was dein Plan enthält und wie viel davon dein Team nutzt
Backups Backups auflisten, eins erstellen, einen Download-Link holen, ein Backup importieren und eins wiederherstellen sowie deine Backup-Ziele ansehen
Abgefangene E-Mails Die E-Mails lesen, die eine Kopie, eine Vorschau oder eine Coding-Agent-Sandbox verschickt hat, statt sie zuzustellen, ihre Anhänge ansehen und das Postfach leeren
Domains und Monitoring Hostnamen hinzufügen, ändern und entfernen, ihr DNS prüfen und Verfügbarkeitsmonitore einrichten
Code und Addons Addon-Repositories hinzufügen, sie an ein Odoo anbinden und ihre Addons deployen
Teilen Ein Odoo mit einem anderen Team teilen, dessen Rolle ändern oder den Zugriff entziehen und Einladungen an dein Team annehmen oder ablehnen
Coding-Agents Coding-Agent-Sitzungen auf einem Odoo starten, verfolgen, was sie tun, und ihnen antworten, auch mit angehängten Dateien wie Screenshots oder Beispieldaten
Server Server hinzufügen und provisionieren, sie neu starten oder aus- und einschalten und Provisionierungsvorlagen ausführen

Ein Terminal öffnen oder beliebige Befehle auf deinen Servern ausführen kann der Assistent nicht.

Das Teilen und die Coding-Agents werden Team für Team freigeschaltet. Ist eins davon für dein Team noch nicht aktiviert, erfährt der Assistent das und kann es dir sagen.

Token erstellen #

Der Assistent authentifiziert sich mit einem API-Token deines Teams. Owner und Admins erstellen eins auf der Seite API Tokens im Bereich Developer des Panel-Menüs (siehe Authentifizierung). Gib jedem Assistenten ein eigenes Token und benenne es nach ihm, zum Beispiel „Claude Code auf meinem Laptop“, damit du eins entziehen kannst, ohne die anderen zu trennen. Erlaube ihm nur, was er braucht: Ein Token lässt sich auf einzelne Berechtigungen, auf bestimmte Odoos und Server und auf den MCP-Server allein beschränken (siehe Was ein Token darf).

Der Assistent sendet das Token bei jeder Anfrage im Authorization-Header mit:

Authorization: Bearer your-api-token

Wer ein Token hat, hat Zugriff auf dein ganzes Team. Committe es nie in ein Repository und füge es nie in einen Chat ein.

Assistenten verbinden #

Claude Code #

Am schnellsten geht es mit dem calmo.cloud-Plugin. Es richtet die Verbindung ein, fragt einmal nach deinem Token, legt ihn im Schlüsselbund deines Systems ab und bringt Skills mit, zum Beispiel für den Umzug eines bestehenden Odoo:

/plugin marketplace add havmedia/calmo-cloud-plugin
/plugin install calmo@calmo-cloud

Ohne Plugin fügst du den Server im Terminal hinzu:

claude mcp add --transport http calmo https://calmo.cloud/api/mcp \
  --header "Authorization: Bearer your-api-token"

Der Server gilt so für das aktuelle Projekt; mit --scope user im Befehl steht er dir in jedem Projekt zur Verfügung. Mit /mcp prüfst du in Claude Code, ob calmo verbunden ist.

Claude-Desktop-App #

Die Claude-Desktop-App erreicht calmo.cloud über die Brücke mcp-remote, die Node.js braucht. Öffne Settings > Developer > Edit Config und trag calmo.cloud in claude_desktop_config.json ein:

{
  "mcpServers": {
    "calmo": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://calmo.cloud/api/mcp", "--header", "Authorization:${CALMO_AUTH}"],
      "env": {
        "CALMO_AUTH": "Bearer your-api-token"
      }
    }
  }
}

Starte die App danach neu. Der Header läuft über eine Umgebungsvariable, weil manche Systeme das Argument sonst am Leerzeichen nach Bearer teilen.

Cursor #

Trag calmo.cloud in ~/.cursor/mcp.json ein, um es in allen Projekten zu nutzen, oder in .cursor/mcp.json in einem einzelnen Projekt. Cursor kann das Token aus einer Umgebungsvariablen lesen, dann steht es nicht in der Datei:

{
  "mcpServers": {
    "calmo": {
      "url": "https://calmo.cloud/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:CALMO_API_TOKEN}"
      }
    }
  }
}

Danach erscheint calmo.cloud in den MCP-Einstellungen von Cursor.

VS Code #

Trag calmo.cloud in .vscode/mcp.json in einem Workspace ein oder in deine Benutzerkonfiguration, die du mit dem Befehl MCP: Open User Configuration öffnest. VS Code fragt einmal nach dem Token und speichert es für dich:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "calmo-token",
      "description": "calmo.cloud API token",
      "password": true
    }
  ],
  "servers": {
    "calmo": {
      "type": "http",
      "url": "https://calmo.cloud/api/mcp",
      "headers": {
        "Authorization": "Bearer ${input:calmo-token}"
      }
    }
  }
}

Starte den Server aus der Datei heraus oder über MCP: List Servers. Anschließend stehen die Werkzeuge im Agent-Modus von Copilot Chat bereit.

Andere Assistenten #

Jeder Assistent, der entfernte MCP-Server über HTTP unterstützt (auch „Streamable HTTP“ genannt) und bei dem du einen Header setzen kannst, verbindet sich mit derselben Adresse und dem Header oben. Fragt er nach dem Transport, wähle HTTP und nicht SSE. Ein Assistent, der nur lokale Server starten kann, erreicht calmo.cloud über die Brücke mcp-remote, wie die Claude-Desktop-App.

Assistenten, die sich nur per Anmeldung verbinden können, etwa die Web-Apps von Claude und ChatGPT, können sich noch nicht mit calmo.cloud verbinden.

Was der Assistent darf #

Der Assistent handelt als das Team, dem sein Token gehört, mit den Rechten dieses Tokens. Er bekommt nur die Tools angeboten, die die Berechtigungen des Tokens erlauben, und sieht nur die Odoos und Server, auf die das Token beschränkt ist. API-Tokens erstellen, ändern oder entziehen kann er nicht; das geht nur im Panel. Nur Owner und Admins können Tokens erstellen; die Rolle der Person, die dem Assistenten Aufträge gibt, schränkt ihn nicht weiter ein.

  • Er sieht die Server, Odoos, Backups und Repositories deines Teams, aber nie etwas, das einem anderen Team gehört.
  • Bei einem Odoo, das ein anderes Team mit deinem teilt, gilt deine Rolle auf diesem Odoo: Ein Viewer kann es ansehen, ein Operator kann es zusätzlich starten, stoppen und sichern und so weiter. Siehe Rollen. Ein geteiltes Odoo löschen, seine Backup-Konfiguration ändern und es weiter teilen kann nur das Team, das es hostet.
  • Er erhält dieselben Daten, die die REST-API liefert. Dazu gehören die Admin-Zugangsdaten eines Odoos, wo dein Team sie sehen darf, und Backup-Download-Links, wenn er danach fragt. Alles, was ein Werkzeug zurückgibt, geht an das Unternehmen, das deinen Assistenten betreibt.

Destruktive Aktionen bestätigen #

Manche Aktionen lassen sich nicht rückgängig machen oder kosten Geld: etwas löschen, ein Backup über Live-Daten wiederherstellen, einen Server ausschalten oder neu starten und einen Server bei deinem Cloud-Anbieter bestellen. Der Assistent kann sie nur ausführen, wenn er in seiner Anfrage den genauen Namen des Ziels wiederholt, zum Beispiel den Namen des Odoos, das er löschen will. calmo.cloud weist ihn an, dich vorher zu fragen.

Die meisten Assistenten lassen dich außerdem jeden Werkzeugaufruf bestätigen, der etwas verändert. Lass das eingeschaltet und lies, was der Assistent vorhat, bevor du zustimmst. Text, den der Assistent aus calmo.cloud liest, etwa die Beschreibung eines Odoos oder die Ausgabe eines Coding-Agents, kann Anweisungen enthalten, die nicht von dir stammen.

Arbeit im Hintergrund #

Starten, Stoppen, erneutes Deployen, Kopieren, Sichern und Wiederherstellen dauern eine Weile, genau wie im Panel. Der Assistent bekommt eine Antwort, sobald die Arbeit eingereiht ist, und prüft dann den Status, bis sie erledigt ist; denselben Fortschritt siehst du im Panel. Läuft noch etwas, lass es zu Ende laufen, statt den Assistenten zu bitten, es noch einmal zu starten.

Ratenbegrenzung #

calmo.cloud begrenzt, wie viele Anfragen ein Team pro Minute senden kann, gezählt über alle seine Tokens und Assistenten. Ein Assistent, der das Limit überschreitet, bekommt die Antwort „Too Many Requests“ und kann eine Minute später weitermachen. Kopien teilen sich ihr stündliches Limit mit Kopien, die über die REST-API erstellt werden.

Zugriff entziehen #

Öffne API Tokens im Bereich Developer des Panel-Menüs und klicke neben dem Token des Assistenten auf Revoke. Der Assistent verliert sofort den Zugriff.

Entfernst du calmo.cloud im Assistenten, bleibt das Token gültig. Wenn du einen Assistenten nicht mehr nutzt, entziehe sein Token auch auf calmo.cloud.

Plan #

Der MCP-Server antwortet nur Teams, deren Plan die API enthält, also jedem Plan ab Starter. Es zählt der Plan des Teams, dem das Token gehört, auch für Odoos, die ein anderes Team mit ihm teilt. Siehe Preise und Abrechnung.

Fehlerbehebung #

Was du siehst Was du tun kannst
401 Unauthorized oder „Unauthenticated.“ Das Token wurde entzogen oder ist falsch. Erstelle ein neues API-Token und trag es in die Konfiguration des Assistenten ein.
403 Forbidden mit „Your … plan does not include the API and command line.“ Der Plan deines Teams enthält die API nicht. Die Seite Plan im Team-Menü zeigt, welchen Plan dein Team hat. Manche Assistenten melden hier nur eine fehlgeschlagene Verbindung, prüfe also zuerst den Plan.
403 Forbidden mit „This API token is not allowed to use the MCP server.“ Das Token ist auf die REST-API beschränkt. Klicke daneben auf Edit access und setz unter Accepted by den Haken beim MCP-Server.
Der Assistent meldet, dem Token fehle ein Scope, oder ihm fehlen Tools Die Berechtigungen des Tokens schließen das aus. Klicke neben dem Token auf Edit access und füge die Berechtigung hinzu.
429 Too Many Requests Dein Team hat in kurzer Zeit zu viele Anfragen gesendet. Warte eine Minute und versuch es erneut.
405 Method Not Allowed oder die Verbindung schlägt sofort fehl Der Assistent versucht den älteren SSE-Transport. Wähle HTTP (Streamable HTTP).
Der Assistent findet ein Odoo oder einen Server nicht Es gehört zu einem anderen Team, oder das Token ist auf andere Odoos oder Server beschränkt. Gib dem Assistenten ein Token dieses Teams oder erweitere das Token mit Edit access.
Der Assistent sagt, eine Funktion sei für dein Team nicht aktiviert Das Teilen und die Coding-Agents werden Team für Team freigeschaltet. Melde dich bei uns, dann schalten wir sie frei.
Der Assistent weigert sich, etwas zu löschen oder wiederherzustellen Er braucht den genauen Namen des Ziels als Bestätigung. Sag ihm, welches du meinst.