Qonto MCP Server for LLM Account Access
Access your Qonto account through LLMs using the MCP server to securely view balances, initiate payments, and manage transactions.
npx -y @qonto/qonto-mcp-serverOverview
The Qonto MCP Server implements a Model Context Protocol (MCP) adapter that lets large language models (LLMs) interact with a Qonto bank account in a controlled, auditable way. Instead of embedding credentials in prompts or building custom connectors for each model, this server exposes a small set of MCP-compatible endpoints that an LLM can call to view balances, list transactions, and initiate payments. The server mediates requests, enforces scopes and user consent, and forwards allowed actions to Qonto’s API.
This approach is useful when you want to integrate accounting or banking capabilities into LLM-driven assistants while keeping credentials, permissions, and business rules centralized. Developers get a single integration point that handles authentication, request validation, and logging; LLMs get a clear, machine-readable ”tool” surface to call during a conversation.
Features
- Implements MCP-compatible endpoints for LLM tool discovery and invocation
- Securely proxies requests to the Qonto API using scoped credentials
- User consent and scope management for account access
- Audit logging of tool invocations and results
- Local development and containerized deployment (Docker)
- Sandbox / test mode support for safe development
- Configurable timeouts, rate limits, and request validation
Installation / Configuration
Clone the repository and run locally or via Docker.
Basic local install (Node.js example):
# Install dependencies (example)
# Set env vars and run
Run with Docker:
# Build
# Run
Example docker-compose:
version: "3.8"
services:
qonto-mcp:
image: qonto-mcp-server:latest
ports:
- "3000:3000"
environment:
QONTO_API_KEY: "${QONTO_API_KEY}"
MCP_PORT: "3000"
JWT_SECRET: "${JWT_SECRET}"
ENVIRONMENT: "development"
Important environment variables (example):
| Variable | Purpose |
|---|---|
| QONTO_API_KEY | API key used to call the Qonto backend |
| MCP_PORT | Port the MCP server listens on (default: 3000) |
| JWT_SECRET | Secret for signing consent/session tokens |
| ENVIRONMENT | development |
Available Resources
- GitHub repository: https://github.com/qonto/qonto-mcp-server
- Local endpoints (examples):
- GET /mcp/.well-known/tools — list available tools and metadata
- POST /mcp/invoke — invoke a tool/action with an MCP-style payload
- POST /consent — start or record user consent for scopes
- GET /audit/logs — (admin) retrieve invocation logs
The server commonly exposes an OpenAPI/Swagger spec to document the exact request and response schemas for each endpoint.
Use Cases
View balances from an LLM-powered chat assistant
- Flow: LLM discovers a “balance” tool via /mcp/.well-known/tools, requests invocation; server checks consent and scope, calls Qonto’s balance endpoint, and returns structured JSON for the assistant to summarize to the user.
Initiate a supplier payment through a conversational UI
- Flow: User asks the assistant to pay an invoice. The LLM invokes a “create_payment” tool with amount, beneficiary, and memo. Server validates the payload, enforces limits (e.g., max amount), requires user consent or 2FA if needed, then calls Qonto’s payments API and returns the transaction id.
Transaction search and categorization
- Flow: Finance team asks for transactions tagged “travel” in March. The LLM invokes “list_transactions” with filters; the server queries Qonto, returns structured results, and optionally logs the query for audit.
Security and Best Practices
- Keep QONTO_API_KEY and JWT_SECRET out of source control. Use a secrets manager in production.
- Limit scopes and durations for tokens used by the MCP server.
- Enable audit logging and review invocation records regularly.
- Use sandbox/test Qonto accounts for development and CI to avoid real money operations.
Troubleshooting
- If tools don’t appear to the model, verify the .well-known tools endpoint and that the server is reachable from your LLM environment.
- Check logs for authentication errors (invalid API key or expired JWT).
- For payment failures, inspect the returned Qonto API error codes and ensure the request passes server-side validation.
For code-level details, configuration examples, and contribution guidelines, see the repository: https://github.com/qonto/qonto-mcp-server.