count

a shared-expense ledger your agent operates. hosted remote mcp — paste one url into claude, chatgpt or cursor. no repo, no local process, no api key to mint. everyone else in the count gets a no-signup share link. tools: create_count, add_expense, get_balances, settle, add_member, list_counts. free.

Documentation

six tools. one url. no api key to mint.

count is a hosted remote mcp server over streamable http. there is no repo to clone, no process to keep alive on your laptop, and the other people in your count never make an account.

prove it is live

$ curl -s https://count.nanocorp.app/mcp/k_your_key

{
  "name": "count",
  "status": "ok",
  "transport": "streamable-http",
  "protocolVersion": "2025-06-18",
  "tools": [
    "create_count", "add_expense",
    "get_balances", "list_counts",
    "settle", "add_member"
  ]
}

mcp itself speaks json-rpc over post to the same url. your agent handles that part.

connect

paste the url. that is the whole integration.

claude

  1. 01settings → connectors
  2. 02add custom connector
  3. 03paste the url, click add

free, pro, max and team. on team an owner adds it in organization settings first.

chatgpt

  1. 01settings → connectors → advanced settings
  2. 02turn on developer mode
  3. 03create → paste url → no authentication → scan tools

on plus and pro, chatgpt connectors read but do not write today. ask it for balances; write from claude, cursor or the web ledger.

cursor

  1. 01open ~/.cursor/mcp.json
  2. 02{"mcpServers":{"count":{"url":"…"}}}
  3. 03restart cursor

a per-repo.cursor/mcp.json works too. leave out any type field.

longer walkthrough for claude, with the four screens and what to say first: connect claude to shared expenses

the tools

every tool, its arguments, and what comes back.

name

string, required

what this count is: “flat”, “tahoe trip”

members

string[]

the other people, by first name

currency

string

USD, EUR or GBP. defaults to USD

you say

“make a count for my flat with maya and theo”

the tool returns

made "flat" with 3 members: you, maya, theo. share link: https://count.nanocorp.app/c/hq7fn2mkxd no signup for anyone who opens it.

add_expense

Records one shared expense and returns every member's new balance.

description

string, required

what the money went on

amount

number|string, required

the total paid, 184.20

count

string

name or link. optional if you have one count

paid_by

string

member who paid. defaults to you

split_between

string[]

members to split equally. defaults to all

shares

object

uneven split: {"maya": 40, "theo": 20}

you say

“i paid $184.20 for groceries, split three ways”

the tool returns

recorded. groceries, $184.20, paid by you. maya owes you $61.40. theo owes you $61.40.

get_balances

Reads who owes whom, plus the last five lines. No writes.

count

string

name or link

you say

“what do i owe in the flat count”

the tool returns

flat: 3 members, you, maya, theo. maya owes you $61.40. theo owes you $61.40. recent: 2026-08-22 groceries $184.20 paid by you. link: https://count.nanocorp.app/c/hq7fn2mkxd

list_counts

Lists your counts, each with your own balance and its link. No writes.

no arguments.

you say

“which counts do i have”

the tool returns

2 counts. flat — you are owed $122.80 — https://count.nanocorp.app/c/hq7fn2mkxd | tahoe trip — clear — https://count.nanocorp.app/c/w9dz4qm3rk

settle

Records that money changed hands outside count. Omit amount to settle in full.

from

string, required

member who paid the money

to

string, required

member who received it

amount

number|string

omit to clear what they owe

count

string

name or link

you say

“maya paid me back $61.40”

the tool returns

settled. maya paid you $61.40 outside count. theo owes you $61.40.

add_member

Adds a person to an existing count.

name

string, required

their first name

count

string

name or link

you say

“add priya to the tahoe trip”

the tool returns

added priya to tahoe trip. members are: you, maya, theo, priya.

limits, plainly

  • free covers 3 counts on one key. a fourth needs the lifetime licence, $29.00, once — what that is. the counts you already have are never taken away.
  • count records who owes whom. it does not hold, move or transfer funds, and no tool will ever claim it did.
  • a share link is the only credential a count has. anyone with it can read and write. any member can replace it from the count page.
  • one currency per count, set when it is made. count does not convert.

troubleshooting

it is not connecting.

the client rejects the url, or lists no tools

run the curl above. if it answers with the tool names, the endpoint is live and the problem is in the client. re-paste the url with no trailing slash and nothing after the key.

chatgpt sees the tools but will not write

expected on plus and pro: developer-mode connectors read only today. writing needs a business plan. use claude or cursor to write, or the count's own web ledger.

status says "unknown key"

the key was replaced. open any count's share link, claim your member name, and mint a fresh one from /key. the old key stops working the moment the new one exists.

a tool answered with a plain sentence instead of doing it

that is the design. every failure comes back as one sentence your agent can read aloud, and nothing is written when it does. a silent failure in a money ledger is worse than an outage.

still stuck: email hello@count.nanocorp.app.