Skip to content

Developers

Your books, from your own code or your own assistant.

A REST API and an MCP server on every plan, under a token you make in Settings: on Free it reads, on Personal and Business it can also make changes. Ask Claude what you spent on software this year, or have it file every Uber ride as business travel. It works as you, inside your plan and your household, and it can never move money.

No account yet? The sample books answer without one: claude mcp add --transport http contha-demo https://demo.contha.com/api/mcp

Start

A token, then one line of setup

  1. In the app, open Settings and make a token under Claude and ChatGPT (Use a token instead). It is shown once; keep it like a password.
  2. Tick Can make changes only if you want your assistant or script to file and add things. Without it the token reads.
  3. Paste it into one of the setups below. Revoke it any time from the same place; the next request is refused.

Claude Code

One command, then ask about your money in the terminal.

claude mcp add --transport http contha https://app.contha.com/api/mcp \
  --header "Authorization: Bearer YOUR_TOKEN"

Cursor

In .cursor/mcp.json, or Settings, MCP.

{
  "mcpServers": {
    "contha": {
      "url": "https://app.contha.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

Claude Desktop

In claude_desktop_config.json, through the mcp-remote bridge.

{
  "mcpServers": {
    "contha": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://app.contha.com/api/mcp",
               "--header", "Authorization: Bearer YOUR_TOKEN"]
    }
  }
}

Anything that speaks HTTP

The REST API, with the same token.

curl "https://app.contha.com/api/v1/transactions?side=business&limit=20" \
  -H "Authorization: Bearer YOUR_TOKEN"

MCP

What your assistant can do

22 tools that read and 6 that change the books, the last only for a token made to. Tools for the business side answer on the Business plan.

get_overview
Start here: Free to use, this month by book, bills coming up, the next tax payment and what needs you.
get_upcoming_bills
Every recurring charge expected in the next 30 to 90 days.
get_budget
A month’s budget, planned against spent, line by line.
get_spending_by_person
Who spent what, for a period or one category: each person, joint, and not said.
get_net_worth
Net worth, as cash, investments and debt.
get_accounts
Every account with its balance, type, side and how fresh its feed is.
get_transactions
Transactions by date, side, review state or a search, each with its id and category.
get_categories
Categories with their ids and what each does for tax.
get_rules
Your rules, in the order they are tried.
get_profit_and_loss
The business month by month: money in and out by category.
get_holdings
Investment holdings, with gains.
get_schedule_c
The Schedule C worksheet, line by line.
get_tax_estimate
The year’s estimated tax, worked out.
get_quarterly_schedule
The four quarterly payments, with dates and amounts.
get_year_end_package
Any file of the year-end package, as CSV.
audit_misfiled_business
Charges that look like business spending filed as personal.
get_cashflow
Where the money came from and went, by month.
get_card_recommendations
Credit cards ranked by what each would earn on your own spending, after fees.
get_savings_opportunities
Cash earning less than it could, and what the difference is worth a year.
get_subscription_review
Every recurring charge, with price rises, duplicates and renewals flagged.
get_spending_trends
Each category month by month against its usual, and your top merchants.
get_goals
Your savings goals: saved, left, and what each needs a month.
file_transactionschanges
File one or many: category, side, or both; optionally remember the merchant.
add_transactionchanges
Add cash or anything a bank will not carry.
delete_transactionchanges
Delete one you added by hand.
create_rulechanges
File a merchant one way from now on, deposits or charges only if you like.
set_budgetchanges
Set what you plan to spend in a category this month.
mark_billchanges
Mark a recurring charge cancelled, or not a bill at all.

REST API

https://app.contha.com/api/v1

JSON in and out. Money is integer cents, negative for money out. Errors are always{ error: { code, message } }, and a token gets 120 REST requests a minute. The MCP server takes 60 tool calls a minute per token.

EndpointWhat it does
GET/meThe token: plan and scopes
GET/accountsAccounts and balances
GET/categoriesCategories, with what each does for tax
GET/transactionsTransactions, newest firstQuery: from, to, accountId, categoryId, side, needsReview, q, limit, cursor
POST/transactionsAdd a transaction by hand (write)
PATCH/transactions/{id}File a transaction (write)
DELETE/transactions/{id}Delete a transaction added by hand (write)
GET/rulesRules, in the order they are tried
POST/rulesAdd a rule (write)
GET/reports/profit-and-lossThe business, month by month (Business plan)Query: year

Limits

What a token can never do

  • Move money. Contha reads banks and holds none; nothing here can pay, transfer or hold an account.
  • Reach past you. A token works as its maker, under the same rules as the app: their plan, their household, and a viewer’s token only reads.
  • Delete what a bank sent. It can delete a transaction you added by hand, and nothing else.
  • Outlive you deciding otherwise. Every token shows when it was last used, expires when you choose, and stops on the next request once revoked.

Getting started

Make a token in Settings and ask your books anything.