Catalog PyPI
PACKAGE EXPLORERView in registry

acumulus-mcp

PyPI

MCP server for Acumulus — let Claude (Desktop, Code, Cursor) read and modify your Acumulus administration via natural language.

acumulusaianthropicautomationboekhoudingclaudefactuurinvoicingmcpmodel-context-protocolnetherlands
Versions collected1
Direct dependencies7From release 0.1.0
Last observed20 Oct, 18:43 UTC

README

Version 0.1.0 documentation

acumulus-mcp

MCP server for Acumulus — let an AI assistant (Claude Desktop, Claude Code, Cursor, …) read and modify your Acumulus administration through natural language, over the official Acumulus API.

Runs locally over stdio. Your Acumulus credentials stay on your machine; there is no telemetry and no proxy.

Install

pip install acumulus-mcp

Requires Python 3.10+.

Configure credentials

The server authenticates with your Acumulus contract code, username and an API token (generate one in Acumulus under your profile; it travels in the API's <password> field). Provide them as environment variables:

export ACUMULUS_CONTRACT_CODE=123456
export ACUMULUS_USERNAME=your-username
export ACUMULUS_API_TOKEN=your-api-token
# optional: validate writes without persisting them
export ACUMULUS_TESTMODE=1

Register in your MCP client

Claude Code:

claude mcp add acumulus \
  -e ACUMULUS_CONTRACT_CODE=123456 \
  -e ACUMULUS_USERNAME=your-username \
  -e ACUMULUS_API_TOKEN=your-api-token \
  -- acumulus-mcp

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "acumulus": {
      "command": "acumulus-mcp",
      "env": {
        "ACUMULUS_CONTRACT_CODE": "123456",
        "ACUMULUS_USERNAME": "your-username",
        "ACUMULUS_API_TOKEN": "your-api-token"
      }
    }
  }
}

Restart your client, then try: "Use the acumulus whoami tool to test the connection."

Tools

ToolWhat it does
whoamiSanity-check the connection (lists the account picklist).
list_picklist(picklist)Fetch reference data: accounts, contacts, products, vattypes, costcenters, costheadings, companytypes.
create_invoice(customer, lines, invoice=None)Add an invoice (invoices/invoice_add.php).
acumulus_request(api_path, fields=None)Escape hatch — call any Acumulus endpoint directly (e.g. invoices/invoice_set_payment_status.php, entry/entry_info.php). Endpoint paths match the docs at siel.nl/acumulus/API.

The acumulus_request tool means every Acumulus function is reachable even before it gets a dedicated wrapper — the credential/envelope is added for you; you only pass the endpoint path and the function-specific fields.

Safety

Set ACUMULUS_TESTMODE=1 to have Acumulus validate write calls without persisting them — do a dry run before pointing it at the live administration.

License

AGPL-3.0-or-later. For a commercial license, contact nick@easeo.nl.

Downloads & popularity

11downloads
1-day window · source-reported counts19 Oct 2026
112560
2026-10-17: 112 · observed 2026-10-20T19:00:42.8734811Z · period 2026-10-17–2026-10-172026-10-18: 18 · observed 2026-10-20T19:00:42.8734811Z · period 2026-10-18–2026-10-182026-10-19: 11 · observed 2026-10-20T19:00:42.8734811Z · period 2026-10-19–2026-10-19
17 Oct19 Oct

pypistats · 3 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-19 – 2026-10-19112026-10-20T19:00:42.8734811Z
2026-10-18 – 2026-10-18182026-10-20T19:00:42.8734811Z
2026-10-17 – 2026-10-171122026-10-20T19:00:42.8734811Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.017 Oct 20267

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
nickaldewereld/acumulus-mcp

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:43 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:206dbcfdafce983807559276893b6d0f9fd85951ff384fc9913d89a8ded88012