Skip to main content

Moneybird MCP

Language: English · Nederlands

PyPI Python CI

Unofficial community integration. This project is not developed, endorsed, supported, or audited by Moneybird B.V.

Beta 0.6.1. The supported setup is a local MCP server over stdio. It starts mechanically read-only. Experimental writes require an explicit local opt-in and supervised approval.

Use Claude, ChatGPT, Cursor, or another MCP client to search and work with a Moneybird administration. The server can read contacts, invoices, documents, bank mutations, reports, and locally indexed bookkeeping data.

Get started

You need Python 3.11 or newer, an MCP client, and a fresh Moneybird API token.

Recommended: run with uvx

Add this server configuration to your MCP client:

{
  "mcpServers": {
    "moneybird": {
      "command": "uvx",
      "args": ["moneybird-mcp"],
      "env": {
        "MONEYBIRD_ACCESS_TOKEN": "your-token-here",
        "MONEYBIRD_ADMINISTRATION_ID": "optional"
      }
    }
  }
}

Restart the client and ask it to list your Moneybird administrations.

MONEYBIRD_ADMINISTRATION_ID is optional when the token can access only one administration. Never paste a real Moneybird token into a chat, issue, log, or committed file.

Claude Code registrations are scoped. Its default local scope is available only in the current project; use --scope user when Moneybird should be available from every project. If claude mcp list says connected but a different project shows no tools, check claude mcp get moneybird and re-add the configuration at user scope. Do not use project scope for a configuration containing a personal token, because project scope writes a shared .mcp.json file.

Install with pip

python -m pip install --upgrade moneybird-mcp
moneybird-mcp

For PDF attachment reading:

python -m pip install --upgrade "moneybird-mcp[pdf]"

Package page: moneybird-mcp on PyPI

On Windows, quit every MCP client that is running moneybird-mcp before installing or upgrading with pip; Windows cannot replace the locked console executable. If pip reports WinError 32, keep the client closed and run the install command again to repair the partial installation. The recommended uvx setup avoids upgrading that in-use console script.

Upgrade

With pip:

python -m pip install --upgrade moneybird-mcp

On Windows, close the MCP client first. If an earlier attempt failed with WinError 32, rerun the same command while the client remains closed.

To force uvx to refresh its cached package metadata:

uvx --refresh-package moneybird-mcp moneybird-mcp

Check the installed command and available options:

moneybird-mcp --help

What it can do

  • Search contacts, sales invoices, purchase invoices, receipts, general journals, and bank mutations.
  • Read Moneybird reports, including profit and loss, balance sheet, general ledger, VAT, debtor, and creditor reports.
  • Review purchase invoices, invoice-delivery settings, bank mutations, and bookkeeping inconsistencies.
  • Audit product data and calculate guarded bulk price changes with exact decimal previews.
  • Read PDF attachments locally when the optional PDF dependency is installed.
  • Build a local search index for faster ranked search.
  • Prepare guarded write previews when writes have been explicitly enabled.

The server uses compact Tool Search by default, so an MCP client does not need to load every tool schema at startup. See the tool reference and Moneybird API coverage.

Use list_supported_workflows to discover the small set of outcomes that are integrated and tested end to end. The generated workflow catalogue records their risk, mode, version, prerequisites, verification, and limitations. Product tools perform their concrete administration and record preflight themselves.

Read-only and write modes

The server starts mechanically read-only. This is the default and needs no flag:

MONEYBIRD_CAPABILITY_MODE=read_only

Experimental writes are available only in local or authenticated single-user deployments:

MONEYBIRD_CAPABILITY_MODE=write_enabled

Writes use durable prepare/execute approvals and action-specific verification. This is safety machinery, not independent proof that a human approved the action. Keep destructive-tool confirmation enabled in the MCP client and review every preview.

Configuration

The most useful settings are:

Setting Default Purpose
MONEYBIRD_ACCESS_TOKEN none Moneybird personal API token
MONEYBIRD_ADMINISTRATION_ID automatic when unambiguous Administration to use
MONEYBIRD_CAPABILITY_MODE read_only read_only or write_enabled
MONEYBIRD_MCP_DATA_DIR ~/.moneybird-mcp for installed stdio Local approvals, audit, OAuth, and search state
MCP_TOOL_DISCOVERY search Compact discovery; use full for older clients
MCP_TRANSPORT stdio stdio, http, or legacy sse

The package never discovers .env files automatically. Use an MCP-client environment block or an explicitly selected file:

moneybird-mcp --env-file /absolute/path/moneybird-mcp.env

See Getting started for complete setup examples.

Deployment boundary

Mode Intended use Status
Local stdio One user on one machine Supported default
Authenticated HTTP/SSE One trusted user behind authentication and TLS Experimental
Hosted multi-user service Multiple users or organisations Not implemented

Every HTTP/SSE listener requires MCP_AUTH_TOKEN, including loopback. Non-loopback listeners are refused unless a trusted TLS proxy is explicitly configured. The included gateway is a demonstration, not a production hosted product.

See Deployment and safety, Security policy, and the threat model.

Local data

Installed stdio runs store local state in ~/.moneybird-mcp unless MONEYBIRD_MCP_DATA_DIR is set. This can include:

  • OAuth access and refresh tokens;
  • the approvals SQLite database;
  • per-administration audit logs;
  • search indexes and caches;
  • privacy-safe local telemetry.

These files are not encrypted by this project. Restrict access to the directory and read Local data lifecycle before backing up or deleting it.

Documentation

Support and status

This is a pre-1.0 community project. There is no guaranteed response time, uptime, data recovery, bookkeeping correctness, or tax advice.

Use GitHub Issues for reproducible bugs and feature requests without secrets or customer data. Report vulnerabilities privately as described in SECURITY.md.

Licence

This project is source-available, not OSI-approved open source. It is distributed under the MIT License with the Commons Clause License Condition v1.0.

Personal use, internal organisational use, inspection, and modification are permitted. Selling the software, offering a paid hosted service based substantially on it, or commercially repackaging it requires a separate commercial licence. For commercial licensing, contact the repository owner through GitHub Issues. The complete terms in LICENSE govern.

Release files for moneybird-mcp 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for moneybird-mcp 0.6.1
File Size Uploaded
moneybird_mcp-0.6.1.tar.gz 383.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for moneybird-mcp 0.6.1
File Interpreter ABI Platform
moneybird_mcp-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 595.8 kB

Release files / moneybird_mcp-0.6.1.tar.gz

Download URL moneybird_mcp-0.6.1.tar.gz
Size 383.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1a5b95ff5e4e027e12082b3a0cec13340ca8fe1efe41ccd5e6ba204b093ed935
BLAKE2b-256 checksum
How to use checksums
28d2c180dfecfdf0ff9a264aeb02a7b19574d34202e3949fb235c9646f7fc249
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.

Transparency log

Release files / moneybird_mcp-0.6.1-py3-none-any.whl

Download URL moneybird_mcp-0.6.1-py3-none-any.whl
Size 212.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fe2f764e1d39a3872d0353704d931c6ee5ed8c16e9bba33b6af3413ca47a47df
BLAKE2b-256 checksum
How to use checksums
9c1b15adbb126c485701877d4d79cbc1de9fbf1c5d669469a519d305f3b6953e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.

Transparency log

Release history Release notifications | RSS feed

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

This release

0.6.1 This release

2 release files

0.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page