kontist-mcp
kontist-mcp
Un cliente OAuth2 y una capa GraphQL tipada sobre la banca empresarial de Kontist, expuestos a través del Model Context Protocol para que los saldos, las transacciones y las reservas fiscales puedan leerse y anotarse desde un cliente de herramientas en lugar de desde la aplicación web.
Por qué existe
Kontist es una cuenta empresarial alemana dirigida a autónomos, y mantiene dos cosas que la mayoría de los bancos no exponen de forma útil: subcuentas automáticas de reserva para el IVA y el impuesto sobre la renta, y un campo de anotación por transacción utilizado para la contabilidad. Ambas importan a la hora de hacer la declaración de la renta y ambas resultan tediosas de manejar a mano.
La parte interesante es la cadena de autenticación más que las consultas. Kontist protege su token de actualización de larga duración tras un consentimiento interactivo y una confirmación push MFA en el teléfono, por lo que el token debe capturarse una vez a través de un servidor de devolución local y luego tratarse como la única credencial que merece la pena conservar. Todo lo demás es intercambio de tokens, almacenamiento en caché y gestión de caducidad.
Related MCP server: FinTS-Finanzen
Herramientas
Herramienta | Función |
| Identidad de la cuenta e IBAN, la prueba de humo de autenticación |
| Saldo actual |
| Transacciones recientes, filtradas por fecha, importe o categoría |
| Una transacción completa |
| Saldos de las subcuentas de reserva de IVA e impuesto sobre la renta |
| Volver a escribir la nota contable en una transacción |
| Entradas, salidas, principales contrapartes y totales por categoría en un rango |
Cada entrada de herramienta se valida con un esquema zod antes de que se envíe una consulta, por lo que un rango de fechas mal formado falla localmente en lugar de como un error de GraphQL.
Cómo funciona
tool client
| MCP over stdio
kontist-mcp (Node + TypeScript)
| GraphQL over fetch, OAuth2 bearer, token refreshed and cached
api.kontist.com/api/graphqlLa autenticación es OAuth2 con un consentimiento interactivo de una sola vez que genera un token de actualización de larga duración. Solo ese token de actualización va en .env. Los tokens de acceso se obtienen bajo demanda, se almacenan en caché en .tokens-cache.json y se renuevan cuando caducan, por lo que el flujo interactivo se ejecuta exactamente una vez.
Ejecútalo
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 buildLuego regístralo con tu cliente MCP, apuntando a dist/index.js. El tutorial completo, incluido el registro de la aplicación de desarrollador de Kontist, está en SETUP.md.
Pila tecnológica
Node 18+, TypeScript, @modelcontextprotocol/sdk, graphql-request, el SDK oficial de kontist para el flujo OAuth, zod para la validación de las entradas de las herramientas. Sin ORM y sin framework.
El paso de consentimiento de una sola vez requiere que la aplicación móvil de Kontist esté instalada y con sesión iniciada, porque el token de actualización solo se emite después de que se confirme un push MFA en el teléfono.
Limitaciones
Principalmente de lectura por diseño. La única escritura es el campo de anotación. Las transferencias no se exponen deliberadamente, aunque la API las soporta y el alcance
transfersexiste, porque un agente que pueda mover dinero es una mala idea.Aún no probado con una cuenta real. El flujo OAuth2, el cliente GraphQL y las siete herramientas están escritos y pasan la verificación de tipos, pero la cuenta en sí se abre una vez que se aprueba el registro de la actividad empresarial. Espera que la primera ejecución real revele deriva de esquema en los campos de transacción.
Sin suite de pruebas. Dos scripts de humo,
test:authytest:balance, y nada más.Cuenta única. Sin soporte para múltiples cuentas, sin paginación más allá de lo que Kontist devuelve por defecto.
Licencia
Apache 2.0. Consulta LICENSE y 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