GitHub Copilot
GitHub Copilot und Buchhaltung: MCP-Server in VS Code, JetBrains, Xcode und Eclipse
GitHub Copilot bindet Ihre Buchhaltung bei jahresabschluss.io als MCP-Server mit der Kopfzeile Authorization: Bearer an – in VS Code über die Copilot-Datei ~/.copilot/mcp-config.json oder die VS-Code-Datei .vscode/mcp.json mit verdeckter Schlüsselabfrage, in JetBrains, Xcode und Eclipse über die mcp.json des Copilot-Plugins mit requestInit. In Copilot Business und Copilot Enterprise muss die Organisation zuerst die Richtlinie „MCP servers in Copilot“ einschalten; sie ist ab Werk aus. Diese Seite ist die Anleitung für Entwickler; den Überblick über alle Copilot-Varianten von GitHub und Microsoft gibt die Seite „Buchhaltung mit Copilot“.
Stand: 2026-10-19
Vorab: Richtlinie, Agent-Modus, Schlüssel
- Copilot Business und Copilot Enterprise: Laut GitHub ist die Richtlinie „MCP servers in Copilot“ standardmäßig ausgeschaltet. Erst wenn die Administratoren Ihrer Organisation oder Ihres Unternehmens sie einschalten, verbindet Copilot eigene MCP-Server. Für Copilot Free, Pro, Pro+ und Max gilt diese Richtlinie nicht.
- MCP-Werkzeuge nutzt Copilot im Agent-Modus. Im Modus „Ask“ verwendet die Copilot-Sitzung laut VS-Code-Dokumentation nur lesende Werkzeuge.
- Den Schlüssel legen Administratoren oder der Ersteller des Arbeitsbereichs in der App unter Buchhaltung → Einstellungen → „KI-Agent & API“ an, bestätigt mit dem zweiten Faktor. Laufzeit 30 Tage, 90 Tage oder ein Jahr; der Schlüssel beginnt mit jab_live_ und gilt für genau eine Gesellschaft.
- Für die Arbeit an Code genügt fast immer read. Ein Leseschlüssel bekommt von unserem Server keine schreibenden Werkzeuge angezeigt – ein Testlauf kann dann nichts buchen.
VS Code: die Copilot-Datei mcp-config.json
Seit der Überarbeitung der VS-Code-Dokumentation im Oktober 2026 lesen Copilot-Sitzungen das portable Copilot-Format direkt: .mcp.json im Wurzelverzeichnis des Arbeitsbereichs oder ~/.copilot/mcp-config.json für den Benutzer. Für die Buchhaltung gehört der Eintrag in die Benutzerdatei ~/.copilot/mcp-config.json (oder $COPILOT_HOME/mcp-config.json), nicht ins Repository:
{
"mcpServers": {
"buchhaltung": {
"type": "http",
"url": "https://api.jahresabschluss.io/functions/v1/bookkeeping-mcp",
"headers": {
"Authorization": "Bearer ${JAB_API_KEY}"
},
"tools": ["*"]
}
}
}Für die Copilot CLI dokumentiert GitHub, dass Kopfzeilen Variablen wie ${JAB_API_KEY} auflösen; tools ist dort ein Pflichtfeld, "*" gibt alle Werkzeuge frei, die der Schlüssel erlaubt. Ob auch die Copilot-Sitzung in VS Code ${…} in Kopfzeilen ersetzt, beschreibt Microsoft derzeit nicht ausdrücklich. Antwortet unser Server mit 401, ist die Variable nicht angekommen – dann nehmen Sie den Weg über .vscode/mcp.json unten.
Eine .mcp.json im Repository ist für die Buchhaltung ungeeignet: Ein Schlüssel gehört zu einer Person und einer Gesellschaft, nicht zu einem Projekt, und GitHub wie Microsoft raten ausdrücklich davon ab, Kopfzeilen mit Zugangsdaten einzuchecken.
VS Code: .vscode/mcp.json mit verdeckter Abfrage
Das VS-Code-Format kennt Eingaben (inputs): VS Code fragt den Schlüssel beim ersten Start verdeckt ab und speichert ihn geschützt. Die Felder type, url, headers und inputs beschreibt die MCP-Referenz von VS Code; der Eintrag steht in .vscode/mcp.json oder in Ihrem Benutzerprofil („MCP: Open User Configuration“):
{
"inputs": [
{
"type": "promptString",
"id": "jab-key",
"description": "API-Schlüssel (jab_live_…)",
"password": true
}
],
"servers": {
"buchhaltung": {
"type": "http",
"url": "https://api.jahresabschluss.io/functions/v1/bookkeeping-mcp",
"headers": { "Authorization": "Bearer ${input:jab-key}" }
}
}
}Wichtig seit Oktober 2026: VS Code reicht Server aus diesem Format an Copilot-Sitzungen weiter, ausgenommen Server, die eine Eingabe wie ${input:…} brauchen. Dieser Eintrag wirkt deshalb in Local-Sitzungen; der geführte Ablauf „MCP: Add Server“ führt .vscode/mcp.json inzwischen als veraltetes Ziel. Mit „MCP: List Servers“ sehen Sie, welche Server laufen.
Für type "http" versucht VS Code zuerst Streamable HTTP und fällt nur bei Bedarf auf SSE zurück. Unser Server spricht Streamable HTTP.
JetBrains, Xcode und Eclipse: requestInit
Das Copilot-Plugin dieser Entwicklungsumgebungen erwartet die Kopfzeile laut GitHub-Dokumentation unter requestInit. Die Datei öffnen Sie im Agent-Modus: in JetBrains über das Werkzeug-Symbol „Configure your MCP server“ und den Eintrag zum Hinzufügen von MCP-Werkzeugen, in Xcode über den Reiter MCP und „Edit Config“, in Eclipse über die Einstellungen von GitHub Copilot → MCP:
{
"servers": {
"buchhaltung": {
"url": "https://api.jahresabschluss.io/functions/v1/bookkeeping-mcp",
"requestInit": {
"headers": { "Authorization": "Bearer jab_live_…" }
}
}
}
}Eine verdeckte Abfrage oder Umgebungsvariablen dokumentiert GitHub für diese drei Umgebungen nicht; der Schlüssel steht im Klartext in der Datei. Nehmen Sie deshalb einen Leseschlüssel mit kurzer Laufzeit und halten Sie die Datei aus Repositorys und geteilten Ordnern heraus. Für Visual Studio zeigt Microsoft derzeit kein Beispiel mit eigener Kopfzeile.
Freigaben in VS Code richtig einstellen
- Werkzeuge mit readOnlyHint führt VS Code laut Entwicklerdokumentation ohne Bestätigung aus; unser Server kennzeichnet seine Abfragen so. Vor allen anderen Werkzeugen zeigt VS Code Name und Argumente und lässt Sie einmal, für die Sitzung, den Arbeitsbereich oder dauerhaft freigeben.
- Für die Buchhaltung: schreibende Werkzeuge wie create_journal_entry, book_bank_transaction oder create_outgoing_invoice immer nur einmal freigeben. Mit chat.tools.eligibleForAutoApproval auf false für ein Werkzeug verlangt VS Code bei ihm stets Ihre Bestätigung.
- Lassen Sie chat.permissions.default auf der Grundeinstellung (manuelle Freigabe) und schalten Sie chat.tools.global.autoApprove bzw. /yolo in Sitzungen mit Schreibschlüssel nicht ein.
- Über die Befehlspalette (Befehle „Chat: Reset …“ und „Chat: Manage …“ für Werkzeugfreigaben) löschen Sie gespeicherte Freigaben oder sehen sie je Server ein.
Copilot Cloud Agent: nur mit Leseschlüssel
Der Cloud Agent von Copilot (früher Coding Agent) arbeitet auf GitHub an Aufgaben in einem Repository. MCP-Server richten Sie dort in den Repository-Einstellungen unter Copilot → MCP servers als JSON ein; Geheimnisse müssen als Agents-Secret mit dem Präfix COPILOT_MCP_ angelegt sein, etwa COPILOT_MCP_JAB_API_KEY, und werden in headers mit $COPILOT_MCP_JAB_API_KEY eingesetzt.
Laut GitHub nutzt der Cloud Agent die Werkzeuge eines MCP-Servers selbstständig und fragt nicht nach. Geben Sie ihm deshalb ausschließlich einen Leseschlüssel und in tools nur lesende Werkzeuge wie get_saldenliste, list_accounts oder list_outgoing_invoices. Bedenken Sie außerdem, dass die gelesenen Buchhaltungsdaten dann in der Umgebung des Cloud Agent verarbeitet werden.
Aufträge an Copilot beim Entwickeln
Copilot ist dort stark, wo Code und Zahlen zusammenkommen. Beispiele mit den Werkzeugen, die der Agent aufruft:
„Vergleiche die Rechnungen unseres Shops für Oktober mit der Buchhaltung.“
Copilot liest die Daten aus Ihrem Code oder einer Exportdatei und ruft list_outgoing_invoices für das Geschäftsjahr auf. Heraus kommt eine Liste der Abweichungen – Rechnungsnummer, Betrag, Status.
„Bau mir einen Client für die REST-API.“
Das OpenAPI-3.1-Schema liegt ohne Schlüssel unter https://api.jahresabschluss.io/functions/v1/bookkeeping-api/openapi.json. Copilot erzeugt daraus Typen und Aufrufe; der Schlüssel kommt im Code aus einer Umgebungsvariable.
„Welche Konten nutzen wir für Software-Abos?“
list_accounts mit dem Suchbegriff und list_journal_entries mit Konto und Zeitraum zeigen Kontenrahmen (SKR03 oder SKR04) und die bisherigen Buchungen – nützlich, bevor Sie eine eigene Zuordnung programmieren.
„Buche die Zahlung zu Rechnung 2026-041.“
Erst mit Schreibrecht: list_bank_transactions und list_open_items finden beide Seiten, match_bank_transaction ordnet zu. VS Code legt Ihnen den Aufruf vorher mit seinen Argumenten zur Freigabe vor.
Grenzen und Rechtsrahmen
- Übermittlungen an ELSTER löst der Agent nicht aus. Er prüft amtlich (check_tax_filing), bereitet vor (prepare_tax_filing) und fordert den Freigabe-Link an (request_tax_filing_approval); übermittelt wird in der App mit Ihrer PIN.
- Den Jahresabschluss erstellen Sie in der App. Der Agent liest ausgestellte Abschlüsse (get_annual_report) und übergibt die Saldenliste (publish_trial_balance).
- Kein Weg führt über die Anbindung zur Bankanbindung, zu den Einstellungen der Gesellschaft, zu IBAN und BIC der Geschäftspartner oder zu freien Datenbankabfragen – auch kein selbst geschriebener Code, denn die REST-API kennt nur ihre dokumentierten Routen.
- Gebucht wird über denselben Buchungskern wie in der App. Weil § 146 Abs. 4 AO und § 239 Abs. 3 HGB verbieten, den ursprünglichen Inhalt einer Buchung unkenntlich zu machen, korrigiert der Agent per Storno und nie durch Überschreiben.
- Copilot-Ausgaben sind Vorschläge. Die Verantwortung bleibt bei Ihnen, allein oder gemeinsam mit Ihrer Steuerberatung, die in derselben Software mitarbeiten kann.
Häufige Fragen
Welche Datei nutzt GitHub Copilot in VS Code für MCP-Server?
Copilot-Sitzungen lesen das portable Format: .mcp.json im Arbeitsbereich oder ~/.copilot/mcp-config.json für den Benutzer. Das ältere VS-Code-Format .vscode/mcp.json mit inputs funktioniert weiter in Local-Sitzungen; Server mit ${input:…} reicht VS Code nicht an Copilot-Sitzungen weiter.
Muss meine Organisation MCP in Copilot freischalten?
In Copilot Business und Copilot Enterprise ja: Die Richtlinie „MCP servers in Copilot“ ist standardmäßig aus und wird von den Administratoren eingeschaltet. Für Copilot Free, Pro, Pro+ und Max gilt sie nicht.
Wie trage ich den Schlüssel in JetBrains oder Xcode ein?
In der mcp.json des Copilot-Plugins unter servers → buchhaltung → requestInit → headers als Authorization: Bearer jab_live_…. Eine verdeckte Abfrage dokumentiert GitHub dort nicht; nehmen Sie einen Leseschlüssel mit kurzer Laufzeit.
Fragt Copilot, bevor es bucht?
In VS Code ja: Werkzeuge ohne readOnlyHint legt VS Code vor der Ausführung zur Bestätigung vor. Lesende Abfragen laufen ohne Rückfrage. Der Cloud Agent auf GitHub fragt dagegen nicht – ihm geben Sie nur einen Leseschlüssel.
Kann Copilot die Umsatzsteuer-Voranmeldung abgeben?
Nein. Copilot kann sie lesen, amtlich prüfen lassen, vorbereiten und einen Freigabe-Link anfordern. Übermittelt wird in der App mit Ihrer PIN.
Was ist der Unterschied zur Seite „Buchhaltung mit Copilot“?
Jene Seite ordnet alle Copilot-Varianten ein, auch Copilot Studio und Microsoft 365 Copilot. Diese Seite beschreibt nur GitHub Copilot – mit den Konfigurationsdateien, Freigaben und Richtlinien, die Entwickler brauchen.
Vom selben Anbieter: Jahresabschluss nach HGB – der komplette Leitfaden auf jahresabschluss.io.