docs

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.

get your keyfree. no card, no signup.

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

no key at all

or paste the bare url and skip this page.

https://count.nanocorp.app/mcp takes no key. add it as a connector and the first thing you say opens a ledger. this is the url in the directories, because a directory can only carry one address and everything after /mcp/ is personal.

the catch, said once and plainly: that ledger is tied to the conversation you opened it in. so the first tool result hands you your own keyed url and tells you to swap it in. do that and the count is yours from anywhere. ignore it and the count still exists — its share link works forever — but a new conversation on the bare url starts an empty one.

if you would rather have the permanent url first, get your key and paste that instead. same tools, same price, no swap later.

what the first call says back

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

this ledger is new and reachable from
this conversation only. to keep it,
paste https://count.nanocorp.app/mcp/k_…
into your connector settings in place
of https://count.nanocorp.app/mcp

the tools

every tool, its arguments, and what comes back.

create_count

Makes a new count and returns its share link.

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.