QO
OfficialAI & ML

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.

Quick Install
npx -y @qonto/qonto-mcp-server

Overview

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):

git clone https://github.com/qonto/qonto-mcp-server.git
cd qonto-mcp-server
# Install dependencies (example)
npm install
# Set env vars and run
export QONTO_API_KEY="sk_test_xxx"
export MCP_PORT=3000
npm start

Run with Docker:

# Build
docker build -t qonto-mcp-server .
# Run
docker run -e QONTO_API_KEY="sk_test_xxx" -e MCP_PORT=3000 -p 3000:3000 qonto-mcp-server

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):

VariablePurpose
QONTO_API_KEYAPI key used to call the Qonto backend
MCP_PORTPort the MCP server listens on (default: 3000)
JWT_SECRETSecret for signing consent/session tokens
ENVIRONMENTdevelopment

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

  1. 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.
  2. 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.
  3. 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.

Tags:ai-ml