split-bill-mcp
Registry code: 6794f3cf141d8a43
Create a bill from a chat/photo and share it with anyone
from a public catalogue that lists it, not from the operator
- endpoint
- https://money4k.com/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is split-bill-mcp live?
- Yes — it answered the hub's last check (checked 3h ago). It answered 100% of checks over the last 30 days.
- Is split-bill-mcp free to use?
- Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
- What tools does split-bill-mcp have?
- 4 tools: set_bill_selections_batch, update_bill, create_bill, get_current_user_profile.
- Is split-bill-mcp safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 99.2%· all time 99.2%
last good check
of 4 tools
- degraded → live
- degraded → live
- live → degraded· HTTP 522
- degraded → live
- live → degraded· timeout after 20000ms
- used for
- create a shared bill
- update a bill
- save item selections on a bill
- takes → gives
- text, data → data
- tools
- 3 changes data
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
get_current_user_profile auth-required 3h ago
Returns the authenticated user's id, full_name, email and created_at for the bill UI to identify their own item selections. Requires OAuth and uses the user identity from the bearer token. This read-only helper is intended for calls from the app UI.
{ "type": "object", "additionalProperties": false }arguments 4 linesset_bill_selections_batch changes data unknown never probed
Use this when the connected user asks to select, change or clear their own items on an existing shared bill, such as one pizza portion and one tip share, for calculating their personal share. Saves absolute item selection quantities for that user; it does not change bill items, prices or the total. Do not use to create or edit a bill, select for friends, or mark a payment as completed. Use actual bill_id and item IDs; quantity 0 clears a selection, and omitted selections remain unchanged. Selections and the user's display name are visible to anyone with the bill link. Cannot select on behalf of other people or collect payments. Requires OAuth; no profile lookup is needed.
{ "type": "object", "required": [ "bill_id", "selections" ], "properties": { "bill_id": { "type": "string", "description": "Bill ID to update selections for" }, "selections": { "type": "array", "items": { "type": "object", "required": [ "item_id", "quantity" ], "properties": { "item_id": { "type": "string", "description": "Bill item ID" }, "quantity": { "type": "string", "description": "Selected quantity as numeric string" } }, "additionalProperties": false }, "description": "Selections by item" } }, "additionalProperties": false }arguments 36 linesupdate_bill changes data unknown never probed
Use this when the user asks to edit an existing shared bill: correct an item, rename it, add or remove purchases, add tips by participant count, or divide a shared dish into selectable portions. Replaces the complete content of a public bill owned by the connected user, whether created from a receipt or from words in chat. Do not use for a new bill, a hypothetical question or recording which items a participant chose; use create_bill or set_bill_selections_batch for those respective actions. Supply the existing bill_id and every item to keep, preserving existing item IDs; omitted items and their selections are deleted. New items use an empty ID. Do not send a partial list to correct one item. Each item total_price must equal unit_price times quantity and bill total_price must equal the sum of item totals in one currency. Include taxes in eligible item prices under local rules, never as standalone items. Keep the printed receipt total or an explicitly corrected user-supplied total fixed; resolve mismatches by rechecking extraction and arithmetic, never by balancing adjustments. Support requested edits in chat, including tips and shared portions. For total tips of EUR 50 for 5 people, add one selectable item with quantity 5 and unit_price EUR 10; ask if participant count is missing. Explicitly requested additions or removals change the total only by their exact amount; do not add included tips twice. To split a shared item, set quantity to the requested portion count and divide its existing tax-inclusive line total by that count, preserving line and bill totals. If division is not exact in currency minor units, clarify the allocation before writing. Retained item IDs preserve selected quantities without rescaling; clarify the effect before changing the meaning of units on an already selected item. Returns the updated bill and the same share_url. Requires OAuth; no profile lookup is needed.
{ "type": "object", "required": [ "bill_id", "title", "info", "total_price", "items" ], "properties": { "info": { "type": "string", "description": "Relevant bill notes, for example shared portions or an explicitly requested tip addition; omit receipt personal data" }, "items": { "type": "array", "items": { "type": "object", "required": [ "id", "name", "quantity", "unit_price", "total_price" ], "properties": { "id": { "type": "string", "description": "Preserve the returned item ID when updating an existing item; use an empty string for a new item" }, "name": { "type": "string", "description": "Item name" }, "quantity": { "type": "string", "description": "Positive item quantity as numeric string. For requested shared portions or tips, use the explicit participant count; each unit is one selectable share" }, "unit_price": { "type": "object", "required": [ "number", "currency_code" ], "properties": { "number": { "type": "string", "description": "Price numeric value as string, for example 12.50" }, "currency_code": { "type": "string", "description": "ISO 4217 currency code, for example USD, EUR, RUB" } }, "description": "Nonnegative final unit price after discounts including all taxes applicable to this item. Allocate separate receipt tax rows only to eligible items under local rules; never create standalone tax items or add included taxes twice", "additionalProperties": false }, "total_price": { "type": "object", "required": [ "number", "currency_code" ], "properties": { "number": { "type": "string", "description": "Price numeric value as string, for example 12.50" }, "currency_code": { "type": "string", "description": "ISO 4217 currency code, for example USD, EUR, RUB" } }, "description": "Final item total; must equal unit_price times quantity exactly and use the bill currency", "additionalProperties": false } }, "additionalProperties": false }, "description": "Complete bill item list in one currency; updates delete omitted items and their selections" }, "title": { "type": "string", "description": "Short bill title based on the user's description, for example Dinner with friends" }, "bill_id": { "type": "string", "description": "Bill ID to update" }, "total_price": { "type": "object", "required": [ "number", "currency_code" ], "properties": { "number": { "type": "string", "description": "Price numeric value as string, for example 12.50" }, "currency_code": { "type": "string", "description": "ISO 4217 currency code, for example USD, EUR, RUB" } }, "description": "Final printed receipt total or explicit user-supplied total; keep that control total fixed. For items described in chat without a supplied total, calculate the exact item sum. Only explicit user-requested additions or removals change a reconciled total by their exact amount; record them in info. Splitting items preserves the total. Never hide inconsistent inputs or invent balancing adjustments", "additionalProperties": false } }, "additionalProperties": false }arguments 111 linescreate_bill changes data unknown never probed
Use this when the user wants to create and share an itemized bill for a restaurant meal or shared purchase, with a link where participants select their own items and calculate their shares. Accept items from a receipt photo, typed list or plain-language description; no receipt or separately supplied grand total is required. For a EUR 20 pizza and two beers at EUR 5 each, submit pizza 1 x 20 and beer 2 x 5, bill total EUR 30. If no total was supplied, calculate it exactly from the stated items; clarify missing currency or ambiguous amounts, and do not invent taxes or fees. Do not call merely to read a receipt, answer simple arithmetic, collect payments or book a restaurant. Use update_bill for changes to an existing bill. Anyone with the returned share_url can view it. Supply positive quantities, nonnegative prices and one currency; each item total_price must equal unit_price times quantity, and bill total_price must equal the sum of item totals. Include separate receipt taxes in the prices of eligible items under local rules, including different food and alcohol tax groups; never create standalone tax items or add included taxes twice. When a receipt or user-supplied final total is present, keep that control total fixed. If totals differ, recheck the source items and correct extraction or arithmetic; never change the control total or invent adjustments to pass validation. After reconciling the receipt, an explicitly requested extra tip adds its exact amount to the bill total; record the receipt total and addition in info, and never add an already included tip twice. Represent requested tips as one selectable item with quantity equal to the explicitly supplied participant count and unit_price equal to total tips divided by that count; ask for a missing count and never round away a remainder. Shared items may be split into selectable portions by dividing their unchanged line total by the requested count. Reconcile discounts and tips before calling; do not guess unclear receipt values. Returns the saved bill, share_url and bill UI. Requires OAuth; no profile lookup is needed. Creation is not idempotent: do not blindly retry after a timeout or an ambiguous server error.
{ "type": "object", "required": [ "title", "info", "total_price", "items" ], "properties": { "info": { "type": "string", "description": "Relevant bill notes, for example shared portions or an explicitly requested tip addition; omit receipt personal data" }, "items": { "type": "array", "items": { "type": "object", "required": [ "id", "name", "quantity", "unit_price", "total_price" ], "properties": { "id": { "type": "string", "description": "Preserve the returned item ID when updating an existing item; use an empty string for a new item" }, "name": { "type": "string", "description": "Item name" }, "quantity": { "type": "string", "description": "Positive item quantity as numeric string. For requested shared portions or tips, use the explicit participant count; each unit is one selectable share" }, "unit_price": { "type": "object", "required": [ "number", "currency_code" ], "properties": { "number": { "type": "string", "description": "Price numeric value as string, for example 12.50" }, "currency_code": { "type": "string", "description": "ISO 4217 currency code, for example USD, EUR, RUB" } }, "description": "Nonnegative final unit price after discounts including all taxes applicable to this item. Allocate separate receipt tax rows only to eligible items under local rules; never create standalone tax items or add included taxes twice", "additionalProperties": false }, "total_price": { "type": "object", "required": [ "number", "currency_code" ], "properties": { "number": { "type": "string", "description": "Price numeric value as string, for example 12.50" }, "currency_code": { "type": "string", "description": "ISO 4217 currency code, for example USD, EUR, RUB" } }, "description": "Final item total; must equal unit_price times quantity exactly and use the bill currency", "additionalProperties": false } }, "additionalProperties": false }, "description": "Complete bill item list in one currency; updates delete omitted items and their selections" }, "title": { "type": "string", "description": "Short bill title based on the user's description, for example Dinner with friends" }, "total_price": { "type": "object", "required": [ "number", "currency_code" ], "properties": { "number": { "type": "string", "description": "Price numeric value as string, for example 12.50" }, "currency_code": { "type": "string", "description": "ISO 4217 currency code, for example USD, EUR, RUB" } }, "description": "Final printed receipt total or explicit user-supplied total; keep that control total fixed. For items described in chat without a supplied total, calculate the exact item sum. Only explicit user-requested additions or removals change a reconciled total by their exact amount; record them in info. Splitting items preserves the total. Never hide inconsistent inputs or invent balancing adjustments", "additionalProperties": false } }, "additionalProperties": false }arguments 106 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id6794f3cf141d8a43.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/6794f3cf141d8a43/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/6794f3cf141d8a43?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.