Jahresabschluss.io
ENAnmeldenRegistrieren →

Gemini CLI

Buchhaltung mit der Gemini CLI: MCP-Server einrichten

Die Gemini CLI verbinden Sie mit Ihrer Buchhaltung bei jahresabschluss.io über einen Eintrag unter mcpServers in ~/.gemini/settings.json – am einfachsten mit gemini mcp add --transport http und der Kopfzeile Authorization: Bearer ${JAB_API_KEY}, die die CLI beim Laden aus Ihrer Umgebungsvariable füllt. Lassen Sie trust auf false: Dann fragt die CLI vor jedem Werkzeugaufruf, und Sie entscheiden, ob eine Buchung entsteht. Beachten Sie den Stand 2026: Seit dem 18.06.2026 gibt Google die Gemini CLI für kostenlose Nutzer und Google-One-Konten nicht mehr frei; sie läuft weiter mit einer Lizenz für Gemini Code Assist Standard oder Enterprise und mit bezahlten API-Schlüsseln.

Stand: 2026-10-19

Wer die Gemini CLI heute nutzt

Bevor Sie einrichten, lohnt ein Blick auf Ihr Google-Konto. Laut Google gilt seit dem 18.06.2026:

Mit Lizenz oder API-Schlüssel: Gemini CLI

Wer die Gemini CLI über eine Lizenz für Gemini Code Assist Standard oder Enterprise nutzt oder mit einem bezahlten Gemini-API-Schlüssel bzw. über Vertex AI anmeldet, arbeitet weiter mit der CLI. Für diese Fälle gilt die Anleitung auf dieser Seite.

Kostenlos oder Google One: Antigravity

Für kostenlose Nutzer und Google-One-Konten (Google AI Pro und Ultra) hat Google die Gemini CLI durch die Antigravity CLI ersetzt. Antigravity hat eine eigene MCP-Konfiguration; die Einrichtung beschreibt unsere Seite „Buchhaltung mit Gemini“.

Die Gemini-App im Browser

Die Gemini-App verbindet eigene Apps derzeit nur per OAuth. Unser MCP-Server arbeitet mit einem festen Schlüssel je Gesellschaft; die App ist für die Buchhaltung deshalb derzeit kein Weg.

Schritt 1: Schlüssel anlegen

  • Buchhaltung → Einstellungen → „KI-Agent & API“: Schlüssel anlegen dürfen Administratoren und der Ersteller des Arbeitsbereichs, bestätigt mit dem zweiten Faktor. Haben Sie nur das Steuer-Modul, finden Sie die Karte „KI-Agent & API“ unter Steuern → Einstellungen.
  • Rechte: Für die ersten Tage nur read. Unser Server zeigt dann ausschließlich lesende Werkzeuge an – die CLI kann gar nicht buchen.
  • Die App bietet 30 Tage, 90 Tage oder ein Jahr; wer die CLI nur für einen Monatsabschluss nutzt, nimmt 30 Tage. Der Schlüssel (jab_live_…) wird einmal angezeigt und gilt für genau eine Gesellschaft.
  • Legen Sie ihn als Umgebungsvariable JAB_API_KEY ab. In settings.json steht dann nur der Verweis ${JAB_API_KEY}, nie der Schlüssel selbst.

Schritt 2: den Server mit gemini mcp add eintragen

gemini mcp add kennt --transport http für Streamable HTTP und --header für eigene Kopfzeilen. Ohne --scope schreibt der Befehl in die Projektdatei; für die Buchhaltung gehört der Eintrag zum Benutzer:

# Schlüssel als Umgebungsvariable (z. B. in ~/.zshrc)
export JAB_API_KEY="jab_live_…"

# Server für alle Projekte eintragen – einfache Anführungszeichen,
# damit ${JAB_API_KEY} erst beim Laden der Einstellungen ersetzt wird
gemini mcp add --scope user --transport http \
  --header 'Authorization: Bearer ${JAB_API_KEY}' \
  buchhaltung https://api.jahresabschluss.io/functions/v1/bookkeeping-mcp

gemini mcp list

Die einfachen Anführungszeichen sind wichtig: Mit doppelten Anführungszeichen ersetzt Ihre Shell ${JAB_API_KEY} sofort, und der Schlüssel landet im Klartext in settings.json. So bleibt der Verweis stehen, und die CLI setzt den Wert beim Laden der Einstellungen ein – laut Google-Dokumentation gilt das für Zeichenketten in settings.json in den Formen $VAR, ${VAR} und ${VAR:-Vorgabe}.

Ist JAB_API_KEY nicht gesetzt, kommt keine gültige Kopfzeile an, und unser Server antwortet mit 401. Prüfen Sie dann mit echo $JAB_API_KEY in derselben Shell, aus der Sie gemini starten.

Oder direkt in settings.json

Wer die Datei lieber selbst pflegt, trägt den Server in ~/.gemini/settings.json ein. Die Felder httpUrl, headers, timeout, trust und excludeTools beschreibt die Gemini-CLI-Dokumentation:

{
  "mcpServers": {
    "buchhaltung": {
      "httpUrl": "https://api.jahresabschluss.io/functions/v1/bookkeeping-mcp",
      "headers": {
        "Authorization": "Bearer ${JAB_API_KEY}"
      },
      "timeout": 120000,
      "trust": false,
      "excludeTools": ["finalize_bookkeeping_period", "send_outgoing_invoice"]
    }
  }
}

timeout steht in Millisekunden. excludeTools blendet Werkzeuge für das Modell aus, hier das Festschreiben und den Rechnungsversand; includeTools wäre die Positivliste. Wer den Server per gemini mcp add anlegt, findet in neueren Fassungen der CLI url mit "type": "http" statt httpUrl – beide Schreibweisen beschreiben dieselbe Streamable-HTTP-Verbindung.

Mit /mcp sehen Sie in der Sitzung, ob der Server verbunden ist und welche Werkzeuge er anbietet. Ist die Ordnervertrauensprüfung eingeschaltet und der Ordner nicht vertraut, lädt die CLI keine Projekt-Einstellungen und verbindet keine MCP-Server.

Freigaben: trust, Rückfragen und Regeln

  • trust: true würde jede Rückfrage für diesen Server überspringen. Lassen Sie es für die Buchhaltung bei false.
  • Die CLI fragt vor jedem Aufruf; laut Dokumentation können Sie einmal ausführen, dieses Werkzeug immer erlauben oder den ganzen Server immer erlauben. Erlauben Sie dauerhaft höchstens lesende Werkzeuge, nie den ganzen Server.
  • Feiner geht es mit dem Regelwerk (Policy Engine) in ~/.gemini/policies/. Die folgende Regel erlaubt nur Werkzeuge, die unser Server als lesend kennzeichnet; alles andere fragt weiter.
  • Den Modus yolo, der alle Rückfragen abschaltet, sollten Sie in einer Sitzung mit Schreibschlüssel nicht verwenden. Ohne Rückfrage-Möglichkeit – etwa in einem Skript ohne Bildschirm – behandelt die CLI eine fällige Rückfrage als Ablehnung.
# ~/.gemini/policies/buchhaltung.toml
# Lesende Werkzeuge der Buchhaltung ohne Rückfrage, alles andere fragt weiter
[[rule]]
mcpName = "buchhaltung"
toolAnnotations = { readOnlyHint = true }
decision = "allow"
priority = 200

Aufträge in der Kommandozeile: Bank und Belege

Die Gemini CLI arbeitet in einem Ordner auf Ihrem Rechner. Das passt zu Kontoauszügen und Belegen, die dort liegen. Beispiele mit den Werkzeugen, die der Agent aufruft:

„Importiere den Kontoauszug in diesem Ordner für das Geschäftskonto.“

Mit Schreibrecht: list_bank_accounts findet das Konto, import_bank_statement nimmt die Datei (CSV, CAMT.053 oder MT940) als Base64 entgegen. Die App prüft dabei Konto, Salden und Dubletten wie beim Import in der Oberfläche.

„Ordne die Zahlungseingänge den offenen Rechnungen zu.“

list_bank_transactions mit Status unbooked und list_open_items liefern beide Seiten, match_bank_transaction ordnet zu. Teilzahlungen lassen den Rest offen, vereinbarten Skonto prüft der Server wie in der App.

„Reiche die PDF-Rechnungen aus dem Ordner ein und zeig mir die Vorschläge.“

upload_receipt legt jeden Beleg in den Belegeingang – derselbe Weg wie der Posteingang: Einen eindeutigen Beleg bucht der Autopilot, die übrigen liegen zur Prüfung bereit. get_receipt_proposal zeigt dort Konten, Steuerschlüssel und Betrag, confirm_receipt bucht nach Ihrer Freigabe. Belege, die die KI liest, zählen zum Kontingent der KI-erkannten Belege.

Grenzen und was in der App bleibt

  • Steuern: check_tax_filing prüft amtlich ohne Versand, prepare_tax_filing friert Werte und Prüfwert ein, request_tax_filing_approval liefert den Freigabe-Link. Übermittelt wird in der App mit Ihrer PIN.
  • Über die API benannt gesperrt sind unter anderem alle Berichtigungen, die Gewerbesteuer mit Zerlegung, die Lohnsteuer- und die Kapitalertragsteuer-Anmeldung, die Feststellungserklärung und die Einkommensteuer.
  • Die Bankanbindung richten Sie in der App ein – die CLI liest Kontoauszüge als Datei ein, verbindet aber kein Bankkonto. Auch die Einstellungen der Gesellschaft und die Bankverbindungen der Geschäftspartner bleiben in der App; freie Datenbankabfragen gibt es nicht.
  • Gebucht wird über den Buchungskern der App mit allen GoBD-Prüfungen. § 146 Abs. 1 AO verlangt Buchungen einzeln, vollständig, richtig, zeitgerecht und geordnet; Korrekturen laufen deshalb als Storno, nicht als Überschreiben.
  • Was der Agent vorschlägt, prüfen Sie. Die Software ersetzt keine Steuerberatung; Ihre Kanzlei kann in derselben Software mitarbeiten.

Häufige Fragen

Wie binde ich die Gemini CLI an meine Buchhaltung an?

Mit gemini mcp add --scope user --transport http --header 'Authorization: Bearer ${JAB_API_KEY}' buchhaltung und der Adresse unseres MCP-Servers. Der Befehl schreibt den Eintrag in ~/.gemini/settings.json; den Schlüssel liest die CLI aus der Umgebungsvariable.

Kann ich die Gemini CLI noch kostenlos nutzen?

Laut Google nicht mehr: Seit dem 18.06.2026 ist die Gemini CLI für kostenlose Nutzer und Google-One-Konten durch die Antigravity CLI ersetzt. Mit einer Lizenz für Gemini Code Assist Standard oder Enterprise und mit bezahlten API-Schlüsseln läuft sie weiter.

Warum sollte trust auf false bleiben?

Mit trust: true überspringt die CLI jede Rückfrage für diesen Server – auch vor Buchungen. Mit false entscheiden Sie bei jedem Aufruf; lesende Werkzeuge können Sie gezielt per Regel erlauben.

Steht mein Schlüssel dann in settings.json?

Nicht, wenn Sie ${JAB_API_KEY} eintragen und beim Befehl einfache Anführungszeichen verwenden. Die CLI setzt den Wert beim Laden der Einstellungen ein; in der Datei steht nur der Verweis.

Kann die Gemini CLI meine Steuermeldungen übermitteln?

Nein. Sie kann sie amtlich prüfen lassen, die Übermittlung vorbereiten und einen Freigabe-Link anfordern. Übermittelt wird in der App mit Ihrer PIN.

Wie teste ich, ohne echte Bücher zu verändern?

Mit einem Leseschlüssel oder mit der Sandbox: einem Zwilling Ihrer Gesellschaft mit eigenen Schlüsseln, den Sie in den Einstellungen einrichten – derzeit für Gesellschaften ohne Jahresabschluss-Daten. get_entity meldet dort sandbox: true, und nichts verlässt den Zwilling.

Vom selben Anbieter: Jahresabschluss nach HGB – der komplette Leitfaden auf jahresabschluss.io.