← The evidence ledger
Evidence row 4366886
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 2f776aba-daff-445c-89d8-a8a66b310b3b
- Recorded
- Previous row
- #1475256
- Body SHA-256
- 1fefd0debbcf381ccf2b5af2dd8b3cfa0b50f68c54d2820a1f9c804505ae8a5a
- Leaf
- 0xd9056afec0f5a43247bdb1d7fedd62adef86fdd68daca9a06072fc29580d19e9
What was observed
{
"count": 5,
"tools": [
{
"description": "Calculates the monthly repayment, total interest and total repaid for a South African home loan (bond). Requires the interest rate because rates change — use prime ± the bank's margin.",
"inputSchema": {
"properties": {
"annual_interest_rate_pct": {
"description": "e.g. 10.75",
"type": "number"
},
"loan_amount": {
"description": "Amount borrowed, in rand",
"type": "number"
},
"term_years": {
"default": 20,
"description": "Loan term in years. Default 20",
"type": "number"
}
},
"required": [
"loan_amount",
"annual_interest_rate_pct"
],
"type": "object"
},
"name": "bond_repayment"
},
{
"description": "Estimates municipal property rates on a South African property from its municipal valuation. Either pick a municipality from the built-in tariff list, or pass the cent-in-the-rand rate and rebate yourself. Call with list_municipalities=true to see which municipalities are covered.",
"inputSchema": {
"properties": {
"category": {
"default": "residential",
"description": "Rating category: residential, business, agricultural or vacant land. Default residential",
"enum": [
"residential",
"business",
"agricultural",
"vacant"
],
"type": "string"
},
"list_municipalities": {
"default": false,
"description": "True to return the list of covered municipalities and their ids instead of a calculation. Default false",
"type": "boolean"
},
"municipal_valuation": {
"description": "The property's municipal valuation in rand (from the valuation roll), not the market price",
"type": "number"
},
"municipality": {
"description": "Municipality id from the tariff list, e.g. cape-town",
"type": "string"
},
"rate_in_rand": {
"description": "Override: annual rate per rand of value, e.g. 0.006428",
"type": "number"
},
"valuation_exclusion": {
"description": "Override: rand amount of value exempt from rates",
"type": "number"
}
},
"type": "object"
},
"name": "municipal_rates"
},
{
"description": "Estimates once-off costs of buying a South African property: transfer duty (exact), plus estimated conveyancing (transfer) fees, Deeds Office fees and bond registration costs. Fees are estimates — attorneys quote from the LSSA guideline.",
"inputSchema": {
"properties": {
"bond_amount": {
"default": 0,
"description": "Home loan amount, 0 if cash",
"type": "number"
},
"purchase_price": {
"description": "Purchase price in rand",
"type": "number"
},
"seller_is_vat_vendor": {
"default": false,
"description": "True if the seller is a VAT vendor selling in the course of business (VAT applies instead of transfer duty). Default false",
"type": "boolean"
}
},
"required": [
"purchase_price"
],
"type": "object"
},
"name": "purchase_costs"
},
{
"description": "Calculates South African transfer duty payable to SARS on a property purchase, using the current sliding scale (no duty up to R1,210,000). Notes when VAT applies instead (seller is a VAT vendor).",
"inputSchema": {
"properties": {
"purchase_price": {
"description": "Rand, excl. VAT",
"type": "number"
},
"seller_is_vat_vendor": {
"default": false,
"description": "True if the seller is a VAT vendor selling in the course of business (VAT applies instead of transfer duty). Default false",
"type": "boolean"
}
},
"required": [
"purchase_price"
],
"type": "object"
},
"name": "transfer_duty"
},
{
"description": "Free to call. If you needed South African data that none of these tools provide (a cost, rate, rule, price or place we don't cover), describe it here in one sentence. We review these every week and build the most-requested data first.",
"inputSchema": {
"properties": {
"context": {
"description": "Optional: the kind of task it was for, e.g. 'renovation quote' or 'payroll run'.",
"type": "string"
},
"need": {
"description": "What information you were looking for, in one sentence.",
"type": "string"
},
"region": {
"description": "Optional: province or town, if it matters.",
"type": "string"
}
},
"required": [
"need"
],
"type": "object"
},
"name": "unmet_request"
}
]
}What the leaf hashes
{"body":"1fefd0debbcf381ccf2b5af2dd8b3cfa0b50f68c54d2820a1f9c804505ae8a5a","id":4366886,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1794213080698204,"prev":1475256,"subject":"2f776aba-daff-445c-89d8-a8a66b310b3b","subject_kind":"endpoint"}Proof
Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.