moneybird-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for the HTTP transport. Takes precedence over `MONEYBIRD_PORT` if both are set. | 3000 |
| MONEYBIRD_HOST | No | Bind address for the HTTP transport. | 127.0.0.1 |
| MONEYBIRD_PORT | No | Port for the HTTP transport. Used if `PORT` is not set. | 3000 |
| MONEYBIRD_BASE_URL | No | API base URL. For testing against a stub. | https://moneybird.com/api/v2 |
| MONEYBIRD_TOOLSETS | No | Toolsets to enable. Accepts `all`, `none`, or a comma-separated list with `-name` to drop one from the defaults. | core,invoicing,purchases,banking,time |
| MONEYBIRD_API_TOKEN | No | Token to use, bypassing the stored credentials entirely. | |
| MONEYBIRD_CLIENT_ID | No | OAuth application client id. Must be set together with the secret. | |
| MONEYBIRD_HTTP_AUTH | No | HTTP authentication mode: `none`, `shared-token`, `passthrough`, or `oauth`. | shared-token if MONEYBIRD_MCP_AUTH_TOKEN is set, else none |
| MONEYBIRD_TIME_ZONE | No | IANA time zone sent with date-sensitive requests, e.g. `Europe/Amsterdam`. | |
| MONEYBIRD_TRANSPORT | No | Transport for the MCP server: `stdio` or `http`. | stdio |
| MONEYBIRD_PUBLIC_URL | No | Public origin the `oauth` mode advertises and builds its redirect URI from. | |
| MONEYBIRD_ALLOW_WRITE | No | Set to `true` to enable tools that create or modify data. | false |
| MONEYBIRD_MAX_RETRIES | No | Number of retries after the first attempt, for 429 and 5xx responses. | 3 |
| MONEYBIRD_ALLOW_DELETE | No | Set to `true` to enable tools that delete data. Has no effect without `MONEYBIRD_ALLOW_WRITE=true`. | false |
| MONEYBIRD_DATABASE_URL | No | Postgres holding the `oauth` mode's authorization state. | |
| MONEYBIRD_OAUTH_SCOPES | No | Comma-separated scopes to request during `login --oauth`. | all six scopes |
| MONEYBIRD_REDIRECT_URI | No | Redirect URI for the OAuth flow. Must match the one registered with your application. | http://127.0.0.1:51739/callback |
| MONEYBIRD_CLIENT_SECRET | No | OAuth application client secret. Must be set together with the client id. | |
| MONEYBIRD_MCP_AUTH_TOKEN | No | Shared secret callers must present in `shared-token` mode. | |
| MONEYBIRD_MCP_CONFIG_DIR | No | Directory holding `credentials.json`. | $XDG_CONFIG_HOME/moneybird-mcp, else ~/.config/moneybird-mcp |
| MONEYBIRD_ADMINISTRATION_ID | No | Administration used when a tool does not name one. Defaults to the administration from stored credentials. | |
| MONEYBIRD_REQUEST_TIMEOUT_MS | No | Per-request timeout in milliseconds. | 30000 |
| MONEYBIRD_TOKEN_ENCRYPTION_KEY | No | 32 bytes of hex encrypting Moneybird tokens at rest. Generate with `openssl rand -hex 32`. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| connect_moneybirdA | Authenticate this server against a Moneybird account. Call it when other tools report missing or rejected credentials. It opens the Moneybird token page and stores the token you create. |
| moneybird_connection_statusA | Report whether this server has working Moneybird credentials, which administration is selected, and which administrations the token can reach. |
| select_administrationA | Change the administration that tools use when they are not given an explicit administration_id. Applies for the rest of this session. |
| list_administrationsA | List every Moneybird administration this token can access, with id, name, language, currency and country. Use this first to discover the administration id other tools need. |
| list_contactsA | List or search contacts (customers and suppliers). Supply |
| get_contactA | Retrieve a single contact by its Moneybird id, or by your own |
| list_productsA | List the product catalogue, optionally narrowed by free-text query or currency. |
| get_productA | Retrieve a product by Moneybird id or by its |
| list_tax_ratesA | List the VAT rates configured for the administration. Invoice lines reference these by |
| list_ledger_accountsA | List the chart of accounts. Bookings and invoice lines reference these by |
| get_ledger_accountB | Retrieve a single ledger account. |
| list_identitiesA | List the identities (sender profiles) an administration can invoice under, including the default one. |
| get_identityA | Retrieve one identity, or the administration default when no id is given. |
| list_custom_fieldsA | List the custom fields defined for contacts, sales invoices and identities, with the ids needed to set them. |
| list_document_stylesA | List the document styles (invoice and estimate layouts) of the administration. |
| list_usersA | List the users with access to the administration, with their ids and permissions. |
| list_sales_invoicesA | List sales invoices. Defaults to the current financial year, so pass an explicit |
| get_sales_invoiceA | Retrieve one sales invoice by its Moneybird id, including its lines, payments and notes. |
| find_sales_invoice_by_invoice_idA | Look up a sales invoice by its printed invoice number, e.g. "2025-0001". Drafts have no invoice number and are never found this way. |
| find_sales_invoice_by_referenceA | Look up a sales invoice by the |
| download_sales_invoice_pdfA | Return a download URL for the invoice PDF. The link is signed and expires after 30 seconds, so use it immediately. |
| list_estimatesA | List estimates (quotes). Defaults to the current financial year, so pass an explicit |
| get_estimateA | Retrieve one estimate by its Moneybird id, or by the estimate number printed on the document ( |
| download_estimate_pdfA | Return a download URL for the estimate PDF. The link is signed and expires after 30 seconds, so use it immediately. |
| list_recurring_sales_invoicesA | List the recurring invoice schedules. Only active schedules are returned unless the filter says otherwise. |
| get_recurring_sales_invoiceA | Retrieve one recurring invoice schedule, including its lines and next invoice date. |
| list_external_sales_invoicesA | List revenue invoiced outside Moneybird, e.g. by a webshop or POS. Defaults to the current financial year, so pass an explicit |
| get_external_sales_invoiceA | Retrieve one external sales invoice, including its lines and payments. |
| list_subscriptionsA | List the subscriptions of one contact. Moneybird has no administration-wide subscription list, so |
| get_subscriptionA | Retrieve one subscription, including its product, billing cycle and recurring invoice. |
| list_subscription_templatesA | List the subscription templates of the administration. Requires the |
| list_purchase_invoicesA | List purchase invoices (bills received from suppliers), newest first. Narrow with |
| get_purchase_invoiceA | Retrieve one purchase invoice by id, with its lines, payments, attachments and notes. |
| list_receiptsA | List receipts (expenses paid on the spot, without a supplier invoice). Narrow with |
| get_receiptA | Retrieve one receipt by id, with its lines, payments, attachments and notes. |
| list_general_documentsA | List general documents: filed paperwork such as contracts and correspondence that carries a date and reference but no amounts. Narrow with |
| get_general_documentA | Retrieve one general document by id, with its attachments and notes. |
| list_general_journal_documentsA | List general journal documents (manual journal entries). Narrow with |
| get_general_journal_documentA | Retrieve one general journal document by id, with its debit and credit entries. |
| list_typeless_documentsA | List typeless documents: uploads parked in Moneybird that have not been classified as an invoice, receipt or anything else yet. Narrow with |
| get_typeless_documentA | Retrieve one typeless document by id, with its attachments. |
| download_document_attachmentA | Return a temporary download URL for one attachment of a document. Get the attachment ids from the document itself with get_purchase_invoice, get_receipt or the matching get tool. |
| list_financial_accountsA | List the bank and payment provider accounts of the administration, with the ids that financial mutations and statements reference as |
| list_financial_mutationsA | List bank transactions. Without a filter Moneybird returns the current financial year only, so pass an explicit |
| get_financial_mutationA | Retrieve one bank transaction by id, including the payments and ledger bookings currently linked to it. |
| get_paymentA | Retrieve a payment by id, whichever document it belongs to. Payment ids appear on invoices, receipts and on the bookings of a financial mutation. |
| list_purchase_transactionsA | List outgoing payment instructions (purchase transactions). Moneybird defaults to |
| get_purchase_transactionA | Retrieve one purchase transaction by id, with its amount, state and the document it pays. |
| list_time_entriesA | List tracked time. Without a filter Moneybird returns the current financial year, so pass an explicit |
| get_time_entryA | Retrieve a single time entry by id, with its contact, project, user and billable state. |
| list_projectsA | List projects. Moneybird returns only active projects unless the filter says otherwise. Time entries reference these by |
| get_projectA | Retrieve a single project by id, with its name, state and budget. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/HalloSouf/moneybird-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server