Split shared costs fairly: who owes whom, in the fewest payments. No account.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use when the user wants a shared place for a group (trip, flat, event) to keep adding expenses and see who owes whom, not just a one-time calculation. Creates a group and returns a link anyone can open without signing up to add and edit expenses. Anyone with the link can edit it, so share it only with the group. Creates a saved page, so only call it when the user wants a shared group. For a one-off answer use halves_settle_up. Example: {"name": "Lisbon trip", "currency": "EUR", "people": ["Ana", "Ben", "Cy"]}.
Names (2 to 40).
Group name, e.g. "Lisbon trip".
Main currency, default USD.
Optional starting expenses (up to 50), same shape as the settle tool.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http halves https://halves.clawhard.com/mcp
Use when the user wants a shared place for a group (trip, flat, event) to keep adding expenses and see who owes whom, not just a one-time calculation. Creates a group and returns a link anyone can open without signing up to add and edit expenses. Anyone with the link can edit it, so share it only with the group. Creates a saved page, so only call it when the user wants a shared group. For a one-off answer use halves_settle_up. Example: {"name": "Lisbon trip", "currency": "EUR", "people": ["Ana", "Ben", "Cy"]}.
| Argument | Type | Description |
|---|---|---|
| name | string | Group name, e.g. "Lisbon trip". |
| people* | array | Names (2 to 40). |
| currency | string | Main currency, default USD. |
| expenses | array | Optional starting expenses (up to 50), same shape as the settle tool. |
{
"type": "object",
"required": [
"people"
],
"properties": {
"name": {
"type": "string",
"description": "Group name, e.g. \"Lisbon trip\"."
},
"people": {
"type": "array",
"items": {
"type": "string"
},
"description": "Names (2 to 40)."
},
"currency": {
"type": "string",
"description": "Main currency, default USD."
},
"expenses": {
"type": "array",
"items": {
"type": "object"
},
"description": "Optional starting expenses (up to 50), same shape as the settle tool."
}
}
}Use when the user shares a trip, dinner, household or group expense list and asks who owes whom, how to split costs, or how to settle up. Returns each person's paid, share and net balance, and the smallest set of payments that squares everyone up. Handles equal splits, splits among a subset, exact amounts and payments already made, with correct rounding. Nothing is saved. Example: {"people": ["Ana", "Ben", "Cy"], "expenses": [{"what": "Dinner", "amount": 90, "paid_by": "Ana"}, {"what": "Taxi", "amount": 24, "paid_by": "Ben", "split_between": ["Ben", "Cy"]}]}. Do the arithmetic here instead of by hand.
| Argument | Type | Description |
|---|---|---|
| people* | array | Names of everyone in the group (2 to 40, unique). |
| currency | string | ISO currency code, default USD. |
| expenses* | array | What was paid. |
| payments | array | Payments already made between people to settle up. |
{
"type": "object",
"required": [
"people",
"expenses"
],
"properties": {
"people": {
"type": "array",
"items": {
"type": "string"
},
"description": "Names of everyone in the group (2 to 40, unique)."
},
"currency": {
"type": "string",
"description": "ISO currency code, default USD."
},
"expenses": {
"type": "array",
"items": {
"type": "object",
"required": [
"amount",
"paid_by"
],
"properties": {
"what": {
"type": "string"
},
"exact": {
"type": "object",
"description": "Optional exact amount per person (must add up to amount). Overrides split_between.",
"additionalProperties": {
"type": "number"
}
},
"amount": {
"type": "number",
"description": "Total in normal units, e.g. 45.50"
},
"paid_by": {
"type": "string"
},
"split_between": {
"type": "array",
"items": {
"type": "string"
},
"description": "Who shared it. Default: everyone, equally."
}
}
},
"description": "What was paid."
},
"payments": {
"type": "array",
"items": {
"type": "object",
"required": [
"from",
"to",
"amount"
],
"properties": {
"to": {
"type": "string"
},
"from": {
"type": "string"
},
"amount": {
"type": "number"
}
}
},
"description": "Payments already made between people to settle up."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.