← The evidence ledger
Evidence row 1475304
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint ffb2c26e-4d4a-4270-8565-bb02a1678c99
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 2b116c93501fa5cbd75da596ef663830e4392e493afa2ca596bd0d5849f5e01e
- Leaf
- 0x4d9642ebebf7b12e1577972336efceadd4b88c872303aa968470e6014277f68b
What was observed
{
"count": 7,
"tools": [
{
"description": "Counts South African working days between two dates (inclusive), excluding weekends and public holidays. Optionally counts Saturdays as working days. Useful for notice periods, payment terms and delivery dates.",
"inputSchema": {
"properties": {
"end": {
"description": "YYYY-MM-DD",
"type": "string"
},
"include_saturdays": {
"default": false,
"type": "boolean"
},
"start": {
"description": "YYYY-MM-DD",
"type": "string"
}
},
"required": [
"start",
"end"
],
"type": "object"
},
"name": "business_days_between"
},
{
"description": "Returns BCEA minimum leave (annual, sick, family responsibility), notice period and retrenchment severance pay for an employee, given days worked per week, start date and pay.",
"inputSchema": {
"properties": {
"as_at": {
"description": "Date to evaluate, default today",
"type": "string"
},
"days_per_week": {
"description": "Days worked per week, e.g. 5 or 6",
"type": "number"
},
"start_date": {
"description": "Employment start, YYYY-MM-DD",
"type": "string"
},
"weekly_wage": {
"description": "Ordinary weekly wage in rand (for severance)",
"type": "number"
},
"worker_type": {
"default": "general",
"enum": [
"general",
"farm",
"domestic"
],
"type": "string"
}
},
"required": [
"days_per_week",
"start_date"
],
"type": "object"
},
"name": "leave_and_termination"
},
{
"description": "Checks whether an hourly, daily, weekly or monthly wage meets South Africa's National Minimum Wage on a given date (farm and domestic workers included). Returns the legal minimum, the shortfall and monthly equivalents.",
"inputSchema": {
"properties": {
"amount": {
"description": "Wage in rand",
"type": "number"
},
"date": {
"description": "YYYY-MM-DD, default today",
"type": "string"
},
"hours_per_day": {
"description": "Ordinary hours per day (needed for day). Default 9",
"type": "number"
},
"hours_per_week": {
"description": "Ordinary hours per week (needed for week/month). Default 45",
"type": "number"
},
"period": {
"enum": [
"hour",
"day",
"week",
"month"
],
"type": "string"
},
"worker_type": {
"default": "general",
"enum": [
"general",
"farm",
"domestic",
"epwp"
],
"type": "string"
}
},
"required": [
"amount",
"period"
],
"type": "object"
},
"name": "minimum_wage_check"
},
{
"description": "Calculates BCEA pay for a pay period: ordinary hours, weekday/Saturday overtime (1.5x), Sunday work (1.5x if ordinarily worked, else 2x), and public holiday work (s18). Flags breaches of overtime limits and checks the BCEA earnings threshold (employees above it have no statutory overtime entitlement).",
"inputSchema": {
"properties": {
"annual_earnings": {
"description": "Regular annual earnings, to test the BCEA threshold (optional)",
"type": "number"
},
"date": {
"description": "YYYY-MM-DD, default today",
"type": "string"
},
"hourly_rate": {
"description": "Ordinary hourly rate in rand",
"type": "number"
},
"ordinarily_works_sunday": {
"default": false,
"type": "boolean"
},
"ordinary_daily_hours": {
"default": 9,
"description": "Hours in a normal shift, for public holiday minimum. Default 9",
"type": "number"
},
"ordinary_hours": {
"description": "Ordinary hours worked in the period",
"type": "number"
},
"overtime_hours": {
"default": 0,
"description": "Weekday/Saturday overtime hours",
"type": "number"
},
"public_holiday_hours": {
"default": 0,
"type": "number"
},
"public_holiday_is_ordinary_workday": {
"default": true,
"type": "boolean"
},
"sunday_hours": {
"default": 0,
"type": "number"
},
"weeks_in_period": {
"default": 1,
"description": "Weeks covered, used to check the 10h/week overtime cap. Default 1",
"type": "number"
}
},
"required": [
"hourly_rate",
"ordinary_hours"
],
"type": "object"
},
"name": "overtime_and_premium_pay"
},
{
"description": "Lists South African public holidays for a year, including Sunday-to-Monday substitutions and once-off declared holidays (e.g. election days).",
"inputSchema": {
"properties": {
"year": {
"description": "e.g. 2026",
"type": "integer"
}
},
"required": [
"year"
],
"type": "object"
},
"name": "public_holidays"
},
{
"description": "Calculates monthly UIF (1% employee + 1% employer, capped at the R17,712 ceiling) for one or more employees, and the employer's Skills Development Levy (1% of payroll, exempt if annual payroll is under R500,000).",
"inputSchema": {
"properties": {
"annual_payroll_estimate": {
"description": "Employer's total annual payroll, for the SDL exemption test. Default: monthly total x 12",
"type": "number"
},
"monthly_remuneration": {
"description": "Gross monthly remuneration per employee, in rand",
"items": {
"type": "number"
},
"type": "array"
}
},
"required": [
"monthly_remuneration"
],
"type": "object"
},
"name": "uif_sdl_contributions"
},
{
"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":"2b116c93501fa5cbd75da596ef663830e4392e493afa2ca596bd0d5849f5e01e","id":1475304,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793415896299923,"prev":null,"subject":"ffb2c26e-4d4a-4270-8565-bb02a1678c99","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (246033 rows).
- 0x4d96872840f66ef69a8582a1218bde3853e71a94c2b528de5d2dd9829e96373e
- 0x2d8965824de1b6c8ff015dc4479c73de9b5a36209ebd3cac41a25e2a0c05bcf4
- 0x26880def39b368de24f995294a3b101c8092d0285ca1cb3e24f708354ddd5d3b
- 0xf0535c89ef4ccf603760bcd5fc3544eff1cf55b4118d1e77084da87bc53c775a
- 0xa9dee706415126bc0d6c1b670354a448c37dd766e3e0b5c2494251cf3ec2bc66
- 0xbffaa51ed1c4f9bdbf1cb66d695d1f2d59c612c7ae7fb3eb65f96918b5154cf4
- 0xa138d5361069009d1633a5e5f1c3a5bfaa5da844def2002d8f053ae2af673550
- 0xfe477a1502553be865083467a86c98c77d91f5dfd30c49554c0323e6ca19311c
- 0xa2a07235c428876e910a2910439ae3b1a42fae2365043b42dda375f8e0f16445
- 0xb6745c66b93d566b80865e16a392f5df53ec907c71ba3e46a892a88a46c26d1d
- 0xf49bb5c098c7379ad7d95db260fb8e602a114ea08d72adebebdc083d7cbbbbed
- 0xd8082ac82a3597a5d01801914570acfd58eb4768c625e0c1bea0c5481620828a
- 0x3b31ad2e230b4adddfd3db6e960243f893810b5bd12d29f0e9a17684e7acb3b6
- 0xa61ca0b664c5ff2f545d3f92e3125f2b38c2b4e58fd9a71badfd8a85dda4c936
- 0x37f0ccf90cd9ba8759ef0154382593820880794592760020f095a3628e43fc3f
- 0xad4540f06e3fdfe46524d8592f8d854d4849e16217bc047eaf024f0abebe34b0
- 0xa00a931d72706fa2402bfc9b441a12eb7c6a61ff42a542916106e3637177f101
- 0x59f83f7228f07febe2780660e422e171b0359b8aa031ee3be07e991118130c15
- Day root
- 0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
- Chained
- 0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
- Published
- On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0