A Model Context Protocol (MCP) server that exposes the Kontist banking API as tools for AI assistants.
Kontist is one of the few (possibly the only) German business bank accounts with a public SDK. This MCP server lets AI tools like OpenCode interact with your Kontist account - checking balances, viewing transactions, and managing transfers.
- Node.js 18+
- A Kontist business account
- Kontist API credentials (client ID + client secret)
git clone https://github.com/tobiasendres-dev/kontist-mcp.git
cd kontist-mcp
npm install
npm run auth # Opens browser for OAuth
# Configure OpenCode to use this server
npm start # Or run directly: node server.mjs- Log in to Kontist Dashboard
- Go to Settings → Developers (or API access)
- Create new API credentials
- Note your
clientIdandclientSecret
Run the OAuth server to get access tokens:
cd ~/kontist-mcp
npm install
npm run authThis starts a local server at http://localhost:3000 and opens the Kontist OAuth flow in your browser. After authentication, tokens are saved to ~/.config/kontist/tokens.json.
Add to your OpenCode config at ~/.config/opencode/opencode.json:
{
"mcp": {
"kontist": {
"type": "local",
"command": ["node", "/your/path/kontist-mcp/server.mjs"],
"enabled": true
}
}
}Returns current account balance and available balance. ✓ Tested
Returns account details including IBAN and holder name. ✓ Tested
Lists the 50 most recent transactions with amounts, recipients, and descriptions. ✓ Tested
Lists transfers by type (SEPA_TRANSFER, STANDING_ORDER, TIMED_ORDER). Optional type param defaults to SEPA_TRANSFER. ✓ Tested
Creates a new transfer. Requires: amount, recipient, iban. Optional: purpose. Returns confirmationId, then confirm with TAN. ✓ Tested
Confirms a transfer with TAN. Requires: confirmationId, tan. ✓ Tested
Lists all cards. ✓ Tested
- Tokens expire after ~1 hour
- Run
npm run authagain when expired to get new tokens
- "Connection closed" or "Unauthorized" → Token expired, run
npm run authagain - Re-authenticate by visiting http://localhost:3000/auth
-
Keep your
clientSecretconfidential -
Tokens are stored in
~/.config/kontist/tokens.json- restrict file permissions:chmod 600 ~/.config/kontist/tokens.json -
Transfer tools require TAN confirmation - you must manually approve each transfer via your phone
MIT License - see LICENSE file.
This is an unofficial, community-built tool. Not affiliated with Kontist. Use at your own risk. The author is not responsible for any financial losses.