kontist-mcp
kontist-mcp
Ein OAuth2-Client und eine typisierte GraphQL-Schicht über das Geschäftskonto von Kontist, bereitgestellt über das Model Context Protocol, sodass Kontostände, Transaktionen und Steuerrücklagen von einem Tool-Client statt aus der Web-App gelesen und annotiert werden können.
Warum es das gibt
Kontist ist ein deutsches Geschäftskonto für Freiberufler und bietet zwei Dinge, die die meisten Banken nicht sinnvoll zur Verfügung stellen: automatische Unterkonten für Umsatzsteuer- und Einkommensteuerrücklagen sowie ein Annotationsfeld pro Transaktion für die Buchhaltung. Beides ist zur Steuererklärung wichtig und beides ist mühsam von Hand zu bearbeiten.
Der interessante Teil ist die Authentifizierungskette und nicht die Abfragen. Kontist sichert sein langlebiges Refresh-Token durch eine interaktive Zustimmung plus einen auf dem Telefon bestätigten MFA-Push ab. Das Token muss daher einmal über einen lokalen Callback-Server erfasst und anschließend als einzige zu speichernde Anmeldedaten behandelt werden. Alles danach ist Token-Austausch, Caching und Ablaufverwaltung.
Related MCP server: FinTS-Finanzen
Tools
Tool | Funktion |
| Kontoidentität und IBAN, der Auth-Smoke-Test |
| Aktueller Kontostand |
| Letzte Transaktionen, gefiltert nach Datum, Betrag oder Kategorie |
| Eine Transaktion vollständig |
| Salden der Unterkonten für Umsatzsteuer- und Einkommensteuerrücklagen |
| Die Buchhaltungsnotiz zurück an eine Transaktion schreiben |
| Zu- und Abflüsse, wichtigste Gegenparteien und Kategoriesummen über einen Zeitraum |
Jede Tool-Eingabe wird vor dem Absenden einer Abfrage mit einem zod-Schema validiert, sodass ein fehlerhafter Datumsbereich lokal und nicht als GraphQL-Fehler abgelehnt wird.
So funktioniert es
tool client
| MCP over stdio
kontist-mcp (Node + TypeScript)
| GraphQL over fetch, OAuth2 bearer, token refreshed and cached
api.kontist.com/api/graphqlDie Authentifizierung erfolgt über OAuth2 mit einer einmaligen interaktiven Zustimmung, die ein langlebiges Refresh-Token erzeugt. Nur dieses Refresh-Token kommt in .env. Access-Tokens werden bei Bedarf abgerufen, in .tokens-cache.json zwischengespeichert und bei Ablauf erneuert, sodass der interaktive Ablauf genau einmal durchläuft.
Ausführen
npm install
cp .env.example .env # client id, client secret
npm run setup # one-time OAuth consent, writes the refresh token
npm run test:auth # confirms the token works
npm run buildRegistrieren Sie es dann bei Ihrem MCP-Client und verweisen Sie auf dist/index.js. Eine vollständige Anleitung einschließlich der Registrierung der Kontist-Entwickler-App finden Sie in SETUP.md.
Stack
Node 18+, TypeScript, @modelcontextprotocol/sdk, graphql-request, das offizielle kontist-SDK für den OAuth-Ablauf, zod für die Validierung von Tool-Eingaben. Kein ORM und kein Framework.
Für den einmaligen Zustimmungsschritt muss die Kontist-Mobile-App installiert und angemeldet sein, da das Refresh-Token erst nach Bestätigung eines MFA-Pushs auf dem Telefon ausgegeben wird.
Einschränkungen
Hauptsächlich lesend ausgelegt. Der einzige Schreibvorgang ist das Annotationsfeld. Überweisungen sind bewusst nicht freigeschaltet, obwohl die API sie unterstützt und der Scope
transfersexistiert, denn ein Agent, der Geld bewegen kann, ist keine gute Idee.Noch nicht mit einem Live-Konto getestet. Der OAuth2-Ablauf, der GraphQL-Client und alle sieben Tools sind geschrieben und typgeprüft, aber das Konto selbst wird erst eröffnet, sobald die Gewerbeanmeldung durch ist. Erwarten Sie beim ersten echten Lauf Schema-Abweichungen bei den Transaktionsfeldern.
Keine Testsuite. Zwei Smoke-Skripte,
test:authundtest:balance, und sonst nichts.Einzelnes Konto. Keine Multi-Konto-Verwaltung, keine Paginierung über das hinaus, was Kontist standardmäßig zurückgibt.
Lizenz
Apache 2.0. Siehe LICENSE und NOTICE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityFmaintenanceMCP server for accessing and managing Banktivity personal finance data, enabling account, transaction, and budget operations through natural language.3MIT
- Alicense-qualityBmaintenanceRead-only MCP server for FinTS/HBCI banking; enables account information retrieval such as balances and transactions via PIN-TAN.MIT
- Alicense-qualityBmaintenanceMCP server that turns bank transactions into a financial digest including cash-flow forecast, spending breakdown, fee detection, and receipt reconciliation, exposing deterministic engines as JSON-RPC tools.Apache 2.0
- AlicenseAqualityAmaintenanceMCP server for the Canton of Bern tax portal TaxMe/BE-Login that reads account statements and tax returns via Playwright browser automation.1341MIT
Related MCP Connectors
Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.
TaxSort — Tollbooth-monetized MCP server for personal tax transaction classification
Hosted MCP server for personal tools: budgets, savings goals, spaced repetition, tips, countdowns.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Fabi-SPL/kontist-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server