{"id":292682,"recorded_at":"2026-10-26T21:08:34.043217Z","observed_at":"2026-10-26T21:08:34.043106Z","subject_kind":"endpoint","subject":"c46f5e7f-cef9-425a-8512-2067a8fde55c","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":11,"tools":[{"description":"Apply part of a held deposit to one invoice: it records that amount as a PAYMENT through the invoice server. amount_minor defaults to the lesser of held and owed. More than either, or a pre-arrival date, is refused.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_minor":{"description":"How much of the deposit to apply, in minor units. Defaults to the smaller of what is held and what the invoice still owes","exclusiveMinimum":0,"maximum":1000000000000,"type":"integer"},"date":{"description":"YYYY-MM-DD, the day the deposit was set against the invoice. Defaults to today","type":"string"},"id":{"description":"Deposit id such as DEP-2026-0001, or an exact client name","minLength":1,"type":"string"},"invoice":{"description":"The invoice number to apply it to, e.g. INV-2026-0001","minLength":1,"type":"string"},"note":{"description":"Free text kept on the application row","maxLength":10000,"type":"string"}},"required":["id","invoice"],"type":"object"},"name":"deposit_apply"},{"description":"Answer \"how much of theirs am I holding?\" for one client or everyone: received, applied to invoices, refunded and still held, one row per currency, never added across them. Reads only; deposit_list shows each deposit.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"as_of":{"description":"YYYY-MM-DD, count only deposits received on or before this day","type":"string"},"client":{"description":"Client id, exact name or a name containing this text. Leave out for every client","type":"string"}},"type":"object"},"name":"deposit_balance"},{"description":"Delete a deposit that never moved money, freeing that month's free-tier slot. One with anything applied or refunded is refused, naming it, since a payment or refund would be left with nothing behind it.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"id":{"description":"Deposit id such as DEP-2026-0001, or an exact client name","minLength":1,"type":"string"}},"required":["id"],"type":"object"},"name":"deposit_delete"},{"description":"List deposits newest first: DEP number, client, kind, date, reference and what was received, applied, refunded and still held, with the same four totalled per currency. Filter by client, status, kind, date.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"client":{"description":"Only deposits for this client id, exact name, or a name containing this text","type":"string"},"from":{"description":"YYYY-MM-DD, earliest received date","type":"string"},"kind":{"description":"Default \"all\"","enum":["security","retainer","all"],"type":"string"},"status":{"description":"Default \"all\". held means some of the money is still held","enum":["held","applied","refunded","all"],"type":"string"},"to":{"description":"YYYY-MM-DD, latest received date","type":"string"}},"type":"object"},"name":"deposit_list"},{"description":"Record a security or retainer deposit received from a client, in minor units, with its currency, the date it arrived and the bank reference. Returns the DEP-YYYY-NNNN id.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_minor":{"description":"What was received, in MINOR units: 50000 = 500.00 EUR, 50000 = JPY 50000. Never a decimal","exclusiveMinimum":0,"maximum":1000000000000,"type":"integer"},"client":{"description":"Client name or client id. A name the invoice server already knows brings its address, email and VAT id onto the deposit","maxLength":200,"minLength":1,"type":"string"},"client_address":{"description":"Postal address for the statement's client block, newlines allowed","maxLength":2000,"type":"string"},"client_email":{"description":"Only if the user gave it; otherwise the stored client's email is used","maxLength":320,"type":"string"},"client_vat_id":{"description":"Client VAT / tax registration id","maxLength":64,"type":"string"},"currency":{"description":"Defaults to your business default currency","pattern":"^[A-Za-z]{3}$","type":"string"},"kind":{"description":"security: held against damage or non-payment. retainer: held against work not yet invoiced","enum":["security","retainer"],"type":"string"},"notes":{"description":"Free text kept on the record and printed on the statement","maxLength":10000,"type":"string"},"received_date":{"description":"YYYY-MM-DD, the day the money arrived. Defaults to today","type":"string"},"reference":{"description":"Bank reference, transfer note or cheque number the money arrived with","maxLength":200,"type":"string"}},"required":["client","amount_minor","kind"],"type":"object"},"name":"deposit_record"},{"description":"Give part or all of a held deposit back to the client, with the date and how it was sent. Refuses more than is still held. The invoice server is not touched: a refund is not a payment.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_minor":{"description":"How much to give back, in minor units. Defaults to everything still held","exclusiveMinimum":0,"maximum":1000000000000,"type":"integer"},"date":{"description":"YYYY-MM-DD, the day the money went back. Defaults to today","type":"string"},"id":{"description":"Deposit id such as DEP-2026-0001, or an exact client name","minLength":1,"type":"string"},"method":{"description":"How it was sent, e.g. \"bank transfer to the account it came from\". Printed on the statement","maxLength":200,"type":"string"},"note":{"description":"Free text kept on the refund row","maxLength":10000,"type":"string"}},"required":["id"],"type":"object"},"name":"deposit_refund"},{"description":"Call this tool to render one client's A4 deposit statement and return a download link valid for one hour. Titled DEPOSIT STATEMENT, every movement in date order, closing with what is still held. Pro.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"as_of":{"description":"YYYY-MM-DD printed as the statement date. Defaults to today","type":"string"},"client":{"description":"Client id, exact name or a name containing this text","minLength":1,"type":"string"},"currency":{"description":"Only needed when the client has deposits in more than one currency","pattern":"^[A-Za-z]{3}$","type":"string"},"out_path":{"description":"Name for the downloaded file, e.g. acme-deposits. Defaults to the client and currency; the statement comes back as a download link valid for one hour","type":"string"}},"required":["client"],"type":"object"},"name":"deposit_statement_pdf"},{"description":"Turn one client's deposits into a plain-text statement to paste into an email: every movement in date order and the closing balance held. Pass currency when they have more than one. Also a .txt download link valid one hour. Free on every tier.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"as_of":{"description":"YYYY-MM-DD printed as the statement date. Defaults to today","type":"string"},"client":{"description":"Client id, exact name or a name containing this text","minLength":1,"type":"string"},"currency":{"description":"Only needed when the client has deposits in more than one currency","pattern":"^[A-Za-z]{3}$","type":"string"},"greeting":{"description":"Opening line, default \"Hello\" plus the client name","type":"string"},"sign_off":{"description":"Closing line, default your business name from the shared profile","type":"string"}},"required":["client"],"type":"object"},"name":"deposit_statement_text"},{"description":"The deposit book at a date: held per currency, received, applied and refunded, the oldest holdings with days held, and every deposit older than N days with nothing applied. Pro; deposit_balance is free.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"as_of":{"description":"YYYY-MM-DD to count from. Defaults to today","type":"string"},"limit":{"description":"How many oldest held deposits to list. Default 10","maximum":200,"minimum":1,"type":"integer"},"older_than_days":{"description":"Flag deposits received this many days ago or more with nothing applied. Default 90","maximum":36500,"minimum":0,"type":"integer"}},"type":"object"},"name":"deposits_report"},{"description":"Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"key":{"description":"License key from checkout, MCPL1.<payload>.<signature>","type":"string"}},"required":["key"],"type":"object"},"name":"license_activate"},{"description":"Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{},"type":"object"},"name":"license_status"}]},"body_sha256":"02f9d7de6fe2c695fa313e7e7147d37a0a30eb16de8de6bf8fc1fdbc2f8f0e83","prev_id":null,"leaf":"0xf53d4b8375f3483f423dfbd17c73287f6f9e8d3b07e79b1cd50b411b269a5097","leaf_text":"{\"body\":\"02f9d7de6fe2c695fa313e7e7147d37a0a30eb16de8de6bf8fc1fdbc2f8f0e83\",\"id\":292682,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793048914043106,\"prev\":null,\"subject\":\"c46f5e7f-cef9-425a-8512-2067a8fde55c\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0xf53ce2710cbf60efe00f7124cadf9c113429c9465f698fdbd3fab71eee20d113","0x1b38a566e6077bf77bdf12c755de9b98d76724f00faff5cdab7a958d0661108a","0x218f807255cbf5bfd139ec1e909ec5d3bfb2b729630b34642b302e484536f137","0x6d2733d4e30c3f7c8a92b1db23fee362e23b28d805f91b95c1de27a6fe719f69","0xc2fba0516969e0b3ba410111f1eb460f00acb353f0bdf8b5da08aacc76064fd5","0xe847e6d3596ee675a8aa79b92cbfced635fbec6c0ffb6af2a04c1e8bce01692d","0x09a740d09397b15c20522395e740a4969efb497e3c24db2c32f7f6b921db8b4a","0x26f07f0af4c8911df13cb157ee560f9e1ce16c07dd41975c492712e6680d048f","0x3d82e9ada7c7d17c361b62c6ce33f9647e7db0d1c163d3a3aa6538d4c298b9bd","0xf7bdc34efb83dc5cbbcb5071558fe87a477728e005b9d180c492e090371b2357","0xd1f6cbd0d3ee44ebe2e23b42e7f1822bbdf0afd342375323b5d4f8bc89cd943a","0x86ae35463d854f3938d986999aa8497e14f0ba2aa6f39a269e1e6d1134f9b847","0x79695e4356ea25a2b58265a824698704cd2c743099ce2dca9e41384ce8f1a8c5","0xd769d41500075835c3b2f9184d223699fb983fd05c29fbcb44d964abc7ee380d","0x68d296b1e00b4899fb83c3fba36fffaefa311eac2903067dbebfe776a12b4a9a","0x5fb5dda563336cd1bc1b9f44c52b76237ae72ed2145cb9290f39f304ca7dd678","0x74a0a08e4e7ab9aa5bfbead33dec7e1c7e8e364cff69a63720d764bbe987aadc"]}