Server definition
- Hash
- sha256:cefe95cc636d7857041a90d04d30be4639e022a8bf77e32139a5060a64636764
- What it is
- What a remote MCP server returned when asked what it offers: 11 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"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",
"outputSchema": null
},
{
"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",
"outputSchema": null
},
{
"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",
"outputSchema": null
},
{
"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",
"outputSchema": null
},
{
"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",
"outputSchema": null
},
{
"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",
"outputSchema": null
},
{
"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",
"outputSchema": null
},
{
"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",
"outputSchema": null
},
{
"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",
"outputSchema": null
},
{
"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",
"outputSchema": null
},
{
"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",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:cefe95cc636d7857041a90d04d30be4639e022a8bf77e32139a5060a64636764 | sha256sum