preu.at / work / monica-cli

Monica CLI

a personal CRM from the command line: read-only until you say otherwise, with tool definitions an agent can load as they are.

what it’s for

monica works with Monica, the open-source personal relationship manager: contacts, notes, activities, reminders, tasks, journal entries, relationships and more, on the stable 4.x API and on the current main API with UUID identifiers. output is official TOON by default, or JSON, YAML, markdown and tables, and --raw prints just the data rows for jq.

a CRM holds other people’s details, so this one starts careful: setup leaves read-only mode on unless you ask for read-write, and checks what your server version supports before an agent plans anything.

what it covers

  • contacts
  • notes
  • activities
  • reminders
  • tasks
  • tags
  • companies
  • calls
  • gifts
  • debts
  • journal
  • relationships
  • documents
  • photos
  • audit logs

built for agents

walls around the effects

other people’s details deserve a second key. reading is the default; writing is a decision.

  • read-only from the first run

    setup keeps read-only mode on unless you pass --read-write; --dry-run validates a configuration without saving it.

    monica setup --api-url http://your-monica-instance/api --api-key your-api-key --non-interactive --dry-run
  • know what this server supports

    a read-only capability probe gives an allow-list of supported commands, and a deny-list with the endpoint and status that ruled each one out.

    monica --json info unsupported-commands
  • tools in your runtime’s shape

    exports tool definitions for OpenAI, Anthropic and MCP with required inputs and mutation safety metadata, limited to what your server supports.

    monica --json agent-tools mcp-tools --instance-aware
  • writes need two keys

    API mutations need --confirm and a write-enabled configuration.

    monica api mutate <operation> --confirm
  • contracts you can check

    every output type has a registered schema, and JSON, YAML or TOON payloads can be validated against it.

    monica schemas validate config-test ./payload.toon

a first run

● commands from the READMEmonica 2026.8.1
# connect; read-only stays onmonica setupmonica info capabilitiesmonica contacts list
commands from the project’s README; what they print depends on your server.

checked against the README at 9499a09 (npm 2026.8.1) · npm

same rules, four services