qontoctl
@alexey-pelykh
About qontoctl
CLI and MCP server for the Qonto banking API
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"qontoctl": {
"command": "npx",
"args": [
"-y",
"qontoctl",
"mcp"
],
"env": {
"QONTOCTL_ORGANIZATION_SLUG": "<your-org-slug>",
"QONTOCTL_SECRET_KEY": "<your-secret-key>"
}
}
}
}Tools
128Upload an attachment file (PDF, JPEG, PNG) from the filesystem
Show details of a specific attachment
List attachments for a transaction
Attach a file to a transaction from the filesystem
Remove attachment(s) from a transaction. If attachment_id is provided, removes that specific attachment. Otherwise removes all attachments.
List all bank accounts for the organization
Show details of a specific bank account
Download IBAN certificate PDF for a bank account
Create a new bank account. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Update an existing bank account. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Close a bank account. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
List SEPA beneficiaries in the organization
Show details of a specific SEPA beneficiary
Create a new SEPA beneficiary. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Update an existing SEPA beneficiary. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Trust one or more SEPA beneficiaries (requires Embed-partner-only `beneficiary.trust` OAuth scope; standard third-party apps will receive 403). SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Untrust one or more SEPA beneficiaries (requires Embed-partner-only `beneficiary.trust` OAuth scope; standard third-party apps will receive 403). SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
List cards in the organization
Show details of a specific card
Create a new card. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Bulk create cards (up to 50). SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Lock a card. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Unlock a card. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Report a physical card as lost (irreversible). SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Report a physical card as stolen (irreversible). SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Discard a card (irreversible). SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Update a card's spending limits. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Update a card's nickname. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Update a card's options (ATM, NFC, online, foreign). SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Update a card's restrictions (active days, merchant categories). SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Get secure iframe URL for viewing card details (PAN, CVV, expiry)
List available card appearances (designs by type and level)
Create a bulk SEPA transfer from a debit account. Each item provides either beneficiary_id (existing) or beneficiary (inline name+iban). client_transfer_id is auto-generated when omitted; vop_proof_token is auto-resolved via bulk_verify_payee when omitted (and sca_session_token is not provided). SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
List bulk transfers
Show details of a specific bulk transfer
List clients with optional pagination
Show details of a specific client
Create a new client
Update an existing client
Delete a client
List client invoices with optional filters
Show details of a specific client invoice
Create a draft client invoice with client and line items
Update a draft client invoice
Delete a draft client invoice
Finalize a client invoice (assign number, transition from draft to unpaid)
Send a finalized client invoice to the client via email. Requires `send_to` (one or more recipient emails) and `email_title`; optional `email_body` and `copy_to_self` (default `true`).
Mark a client invoice as paid
Unmark a client invoice paid status (transition back to unpaid)
Cancel a finalized client invoice
Upload a file to a client invoice from the filesystem
Show upload details for a client invoice
List credit notes in the organization
Show details of a specific credit note
Run a read-only healthcheck against the configured qontoctl profile. Returns a DiagnosticReport with per-check status (ok/warn/fail/skip), detail, and suggested actions. Use this first when something doesn't work.
Retrieve e-invoicing settings for the organization
Show insurance contract details
Create a new insurance contract
Update an insurance contract
Upload a document to an insurance contract from the filesystem
Remove a document from an insurance contract
Check eligibility for international transfers
List supported currencies for international transfers
Create an international transfer quote with exchange rate
List international beneficiaries in the organization
Get required fields for an international beneficiary corridor
Create a new international beneficiary. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Update an international beneficiary. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Remove an international beneficiary. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Get required fields for an international transfer
Create an international transfer. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Create an internal transfer between two bank accounts within the same organization. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
List all labels in the organization
Show details of a specific label
List all memberships in the organization
Show the current authenticated user's membership
Invite a new member to the organization
Show organization details including name, slug, and bank accounts
List payment links
Show details of a specific payment link
Create a new payment link (basket or invoice type)
Deactivate a payment link
List payments for a specific payment link
List available payment methods for payment links
Establish payment link connection with provider
Get payment link connection status
List products from the authenticated organization's catalogue
List quotes with optional filters
Show details of a specific quote
Create a new quote with client and line items
Update an existing quote
Delete a quote
Send a quote to the client via email. Requires `send_to` (one or more recipient emails) and `email_title`; `copy_to_self` BCCs the authenticated user (defaults to true server-side).
Create a recurring transfer. vop_proof_token is auto-resolved via verify_payee when omitted (and sca_session_token is not provided). SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Cancel a recurring transfer. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
List recurring transfers
Show details of a specific recurring transfer
List all requests in the organization
Approve a pending request. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Decline a pending request. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Create a flash card request. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Create a virtual card request. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Create a multi-transfer request (1-400 transfers). SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Show the status of a Strong Customer Authentication (SCA) session. Use this to poll an SCA session token returned by a previous tool call that triggered an SCA challenge. Returns one of: `waiting` (the user has not yet responded), `allow` (approved — retry the original request), or `deny` (rejected). Tokens expire after 15 minutes.
Simulate a user SCA decision in the Qonto sandbox environment (testing only). Use after triggering an SCA-required operation in sandbox to bypass the mobile-app approval flow. Returns an error when the server is not configured for sandbox mode (no `oauth.staging-token` / `QONTOCTL_STAGING_TOKEN`).
List bank statements with optional filters
Show details of a specific bank statement
List supplier invoices with optional filters
Show details of a specific supplier invoice
Create supplier invoices by uploading files from the filesystem
List all teams in the organization
Create a new team in the organization
List Qonto Terminals (POS) linked to the authenticated organization
Initiate a payment on a Qonto Terminal (POS). Returns 202 Accepted — the terminal must still physically accept the card before the payment settles. An offline terminal may hold the request open for up to ~120 seconds.
List transactions for a bank account with optional filters
Show details of a specific transaction
List SEPA transfers with optional filters
Show details of a specific SEPA transfer
Create a SEPA transfer. Provide either beneficiary_id (existing beneficiary) or beneficiary (inline beneficiary object with name and iban), but not both. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Cancel a pending SEPA transfer. SCA: this operation may require Strong Customer Authentication; the tool polls inline by default (wait=30s) and falls back to a structured pending response so the caller can continue via sca_session_show + sca_session_token.
Download SEPA transfer proof PDF (returns base64-encoded content)
Verify a payee (Verification of Payee / VoP)
Bulk verify payees (Verification of Payee / VoP)
List webhook subscriptions
Show details of a specific webhook subscription
Create a new webhook subscription
Update an existing webhook subscription
Delete a webhook subscription
Overview
What is qontoctl?
qontoctl is a CLI and MCP (Model Context Protocol) server for the Qonto banking API. It lets AI assistants (Claude, etc.) interact with Qonto through natural language, and also works as a standalone command-line tool.
How to use qontoctl?
Install via npm (npm install -g qontoctl), run directly with npx qontoctl, or install via Homebrew. Create a profile with your Qonto API credentials using qontoctl profile add mycompany, then test with qontoctl profile test. Use commands like qontoctl account list. For MCP integration, configure the MCP client (Claude Desktop, Claude Code, Cursor, Windsurf) to run npx qontoctl mcp. To use a non-default config file, set the QONTOCTL_CONFIG_FILE environment variable.
Key features of qontoctl
- Full Qonto banking API via CLI and MCP
- Manage accounts, transactions, and statements
- Handle SEPA beneficiaries and transfers
- Invoicing: clients, invoices, quotes, credit notes
- Invite members and manage organization settings
- Upload and view attachments for transactions
Use cases of qontoctl
- Use an AI assistant to retrieve organization details or list bank accounts.
- Automate SEPA transfer creation and verification.
- Manage client invoices from creation to finalization.
- Handle bulk transfers and recurring transfers via natural language.
- Invite new team members to the Qonto organization.
FAQ from qontoctl
What are the prerequisites for qontoctl?
Node.js >= 24 and a Qonto business account with API access.
How do I set up API credentials?
Use the qontoctl profile add command with your Qonto API credentials, then test with qontoctl profile test.
How do I configure MCP for different clients?
See the MCP Integration section in the README for configuration examples for Claude Desktop, Claude Code, Cursor, and Windsurf.
Can I use a non-default config file for MCP?
Yes, set the QONTOCTL_CONFIG_FILE environment variable in the MCP host's env block to point to the desired config file path.
Does qontoctl work without an AI assistant?
Yes, qontoctl is a fully functional CLI that can be used standalone for all supported operations.
Frequently asked questions
What are the prerequisites for qontoctl?
Node.js >= 24 and a Qonto business account with API access.
How do I set up API credentials?
Use the `qontoctl profile add` command with your Qonto API credentials, then test with `qontoctl profile test`.
How do I configure MCP for different clients?
See the MCP Integration section in the README for configuration examples for Claude Desktop, Claude Code, Cursor, and Windsurf.
Can I use a non-default config file for MCP?
Yes, set the `QONTOCTL_CONFIG_FILE` environment variable in the MCP host's env block to point to the desired config file path.
Does qontoctl work without an AI assistant?
Yes, qontoctl is a fully functional CLI that can be used standalone for all supported operations.
Basic information
More Developer Tools MCP servers

Kaiva Bridge
Kaiva Bridge turns any Postgres database or OpenAPI spec into a secure, hosted MCP server — per-tool access control, every call audited. Dependency Trust gives coding agents the senior-engineer check before adding a dep

Hermoso
HermosoHermoso is a remote MCP server that runs a full marketing operation from your agent: research competitor ads, generate image and video ads, publish to social channels, and build and manage paid campaigns. 718 tools (306

Routebase
RoutebaseRoutebase keeps your API's design, docs, contract tests, mocks and monitoring in one living OpenAPI spec so they can't drift apart. Agents work on that same source of truth, under your team's permissions.

Skycloak
Manage your Skycloak-hosted Keycloak: clusters, realms, apps, SSO and users, from any MCP client.

Termany
thinkany-aiAgent-Native Terminal
Comments