Install Cadrumo

This page covers installation only: get the package, install the aeat command, add the optional extras you want, and (if you use an AI assistant) install the separate agent harness. If you do not have Cadrumo on your machine yet, start at Get Cadrumo for the acquisition paths and their current availability. Configuration and first use start in the quickstart once the install checks pass.

Cadrumo works without any optional service. Google export, on-host LLM vision, cloud LLM upload, and the separate agent harness are all opt-in. The core filing workflow runs with none of them.

Before you start

You need:

  • Python 3.13 or newer, with pip available.

  • Around 200 MB of free disk space.

Install the CLI

The beta installs from the project repository:

git clone https://github.com/nevenincs/cadrumo.git
cd cadrumo
uv sync
uv run aeat --version

Registry listings for the packaged channels (PyPI, Scoop, Homebrew, and the plugin marketplace) open with the public launch; see Get Cadrumo for each channel’s current status.

Confirm the install

No taxpayer profile is needed for these checks; you create one with aeat config profile create after installing. See Set up a profile.

Confirm the command is on your path and the capability posture is readable. Then run the workstation check on your own machine. Its dependency and platform rows intentionally reflect that workstation, including tools on your path, installed browser assets, and operating-system settings. Use the machine-readable form for scripted setup checks (--format json is a global flag, so it goes before the command):

1Confirm the command is on your path.
aeat --version
aeat --version
2Ask what is installed and what is missing.
aeat config check
aeat config check
3Run the same check with machine-readable output for scripted setups.
aeat --format json config check
aeat --format json config check

Install optional extras from the checkout

The core install is lean. Google export, the live AEAT browser, the Anthropic-API provider, and OFX/QFX bank-statement import are optional package extras. Name the extras you need when you install:

uv sync --extra google --extra browser

The available extras are google, browser, anthropic, ofx, and all. aeat config check lists each extra and prints the exact install command for any that is missing. A feature whose extra is not installed refuses with the same hint instead of failing obscurely.

Two extras need a further provisioning step after the pip install:

  • The browser extra drives a Chromium build for live AEAT reads. Download the exact build the installed extra launches with:

    1Download the Chromium build the installed browser extra launches with.
    aeat config provision browser
    aeat config provision browser

    It does nothing when that build is already present. With the browser channel set to chromium, a browser read that finds the build missing refuses and names this command.

  • On-host invoice reading uses a local model runtime (Ollama) with a text model for text-layer PDFs and a vision model for scans. Run aeat config provision status to see where you stand: whether the runtime is installed, whether it answers, and which reader models are present.

    Then close whatever that report shows as missing. aeat config provision install installs the runtime through winget on Windows or Homebrew on macOS, and only with --confirm; it does nothing when the runtime is already installed. On Linux, install Ollama with its upstream installer, which needs root. aeat config provision start starts an installed runtime that is not answering, and does nothing when it already answers. aeat config provision pull downloads every reader role’s model, a few GB in total; narrow it with --role to fetch one role’s model at a time. aeat config provision verify confirms each model loads and answers.

For cloud LLM classification, put the provider’s own CLI on PATH and sign in with that provider’s flow. See Classify transactions with an LLM.

Run aeat config check again after each change to confirm the gap is closed.

Run the Model Context Protocol (MCP) surface

Cadrumo’s separate cadrumo-harness distribution provides the MCP server, cadrumo-mcp, so an AI assistant can operate the same local, gated commands the CLI exposes, together with an agent harness: the operator rules, taxpayer-situation skills, and scoped agent personas that keep the assistant inside the safety boundary.

In the beta, synchronize that workspace member and run the server from the same repository checkout:

uv sync --package cadrumo-harness
uv run --package cadrumo-harness cadrumo-mcp --help

Connect an agent shows the source-checkout registration and explains what the agent can and cannot do.

Next steps