← The evidence ledger
Evidence row 299950
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 10e3b8a4-08e2-4ace-8741-7d44afd44f54
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 21b7b06d60fe0998565647bb8a2ce1570a8564e73ac9f5121301de07146e6fb0
- Leaf
- 0xb1a7474fbfa337edd3af07ad28f64d31ecc050155da8c589418544acba0ac1e9
What was observed
{
"count": 17,
"tools": [
{
"description": "WRITE — books a REAL new individual appointment in the live Cliniko practice. Requires patient_id, practitioner_id, business_id, appointment_type_id, and starts_at (ISO 8601). ends_at defaults from the appointment type if omitted. POST /individual_appointments.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"appointment_type_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Appointment type id (required)."
},
"business_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Business id (required)."
},
"ends_at": {
"description": "End time, ISO 8601. Defaults from the appointment type if omitted.",
"type": "string"
},
"notes": {
"description": "Appointment notes.",
"type": "string"
},
"patient_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Patient id (required)."
},
"practitioner_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Practitioner id (required)."
},
"starts_at": {
"description": "Start time, ISO 8601 e.g. 2026-07-20T09:00:00Z (required).",
"minLength": 1,
"type": "string"
}
},
"required": [
"patient_id",
"practitioner_id",
"business_id",
"appointment_type_id",
"starts_at"
],
"type": "object"
},
"name": "cliniko_create_appointment"
},
{
"description": "WRITE — creates a REAL new patient record in the live Cliniko practice. Requires first_name + last_name. POST /patients.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"address_1": {
"description": "Street address line 1.",
"type": "string"
},
"city": {
"description": "City.",
"type": "string"
},
"country_code": {
"description": "ISO country code, e.g. AU.",
"type": "string"
},
"date_of_birth": {
"description": "Date of birth yyyy-mm-dd.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"email": {
"description": "Email address.",
"type": "string"
},
"first_name": {
"description": "Patient first name (required).",
"minLength": 1,
"type": "string"
},
"last_name": {
"description": "Patient last name (required).",
"minLength": 1,
"type": "string"
},
"notes": {
"description": "Free-text notes.",
"type": "string"
},
"phone_number": {
"description": "A phone number (stored as a Mobile phone number).",
"type": "string"
},
"post_code": {
"description": "Post / ZIP code.",
"type": "string"
},
"state": {
"description": "State / region.",
"type": "string"
}
},
"required": [
"first_name",
"last_name"
],
"type": "object"
},
"name": "cliniko_create_patient"
},
{
"description": "Get the Cliniko account and subscription details for the authenticated API key. A good first call to sanity-check auth, shard, and User-Agent. GET /account.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "cliniko_get_account"
},
{
"description": "Fetch a single individual appointment by id. GET /individual_appointments/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Individual appointment id."
}
},
"required": [
"id"
],
"type": "object"
},
"name": "cliniko_get_appointment"
},
{
"description": "Fetch a single invoice by id. GET /invoices/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Invoice id."
}
},
"required": [
"id"
],
"type": "object"
},
"name": "cliniko_get_invoice"
},
{
"description": "Fetch a single patient by id. GET /patients/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Patient id."
}
},
"required": [
"id"
],
"type": "object"
},
"name": "cliniko_get_patient"
},
{
"description": "Fetch a single treatment note by id. NOTE: treatment notes are protected health information (PHI). Read-only. GET /treatment_notes/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Treatment note id."
}
},
"required": [
"id"
],
"type": "object"
},
"name": "cliniko_get_treatment_note"
},
{
"description": "List appointment types (service definitions). GET /appointment_types.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"description": "Page number (1-based). Default 1.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"per_page": {
"description": "Results per page (max 100). Default 50.",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
}
},
"type": "object"
},
"name": "cliniko_list_appointment_types"
},
{
"description": "List individual appointments, optionally filtered by patient/practitioner/business/type and a starts_at date-time window (starts_from / starts_to, ISO 8601). GET /individual_appointments.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"appointment_type_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Filter by appointment type id."
},
"business_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Filter by business id."
},
"order": {
"description": "Sort direction. asc | desc.",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"page": {
"description": "Page number (1-based). Default 1.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"patient_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Filter by patient id (q[]=patient_id:=)."
},
"per_page": {
"description": "Results per page (max 100). Default 50.",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
},
"practitioner_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Filter by practitioner id."
},
"sort": {
"description": "Field to sort by, e.g. created_at.",
"type": "string"
},
"starts_from": {
"description": "Only appointments starting at/after this ISO 8601 time (q[]=starts_at:>).",
"type": "string"
},
"starts_to": {
"description": "Only appointments starting before this ISO 8601 time (q[]=starts_at:<).",
"type": "string"
}
},
"type": "object"
},
"name": "cliniko_list_appointments"
},
{
"description": "List bookable appointment slots for a business + practitioner + appointment type within a date range (from/to, yyyy-mm-dd, span <= 7 days). High-value booking-slot lookup. GET /businesses/{business_id}/practitioners/{practitioner_id}/appointment_types/{appointment_type_id}/available_times.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"appointment_type_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Appointment type id (path)."
},
"business_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Business id (path)."
},
"from": {
"description": "Range start yyyy-mm-dd (cannot be more than 7 days before `to`).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"practitioner_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Practitioner id (path)."
},
"to": {
"description": "Range end yyyy-mm-dd (cannot be more than 7 days after `from`).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
}
},
"required": [
"business_id",
"practitioner_id",
"appointment_type_id",
"from",
"to"
],
"type": "object"
},
"name": "cliniko_list_available_times"
},
{
"description": "List businesses (practice locations) in the account. GET /businesses.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"description": "Page number (1-based). Default 1.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"per_page": {
"description": "Results per page (max 100). Default 50.",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
}
},
"type": "object"
},
"name": "cliniko_list_businesses"
},
{
"description": "List invoices, optionally filtered by patient. GET /invoices.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"order": {
"description": "Sort direction. asc | desc.",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"page": {
"description": "Page number (1-based). Default 1.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"patient_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Filter by patient id (q[]=patient_id:=)."
},
"per_page": {
"description": "Results per page (max 100). Default 50.",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
},
"sort": {
"description": "Field to sort by, e.g. created_at.",
"type": "string"
}
},
"type": "object"
},
"name": "cliniko_list_invoices"
},
{
"description": "Search/list patients. Name/email filters use Cliniko 'contains' matching (q[]=field:~value). GET /patients.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"email": {
"description": "Filter by email (contains match).",
"type": "string"
},
"first_name": {
"description": "Filter by first name (contains match).",
"type": "string"
},
"last_name": {
"description": "Filter by last name (contains match).",
"type": "string"
},
"order": {
"description": "Sort direction. asc | desc.",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"page": {
"description": "Page number (1-based). Default 1.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"per_page": {
"description": "Results per page (max 100). Default 50.",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
},
"sort": {
"description": "Field to sort by, e.g. created_at.",
"type": "string"
}
},
"type": "object"
},
"name": "cliniko_list_patients"
},
{
"description": "List practitioners in the account. GET /practitioners.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"description": "Page number (1-based). Default 1.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"per_page": {
"description": "Results per page (max 100). Default 50.",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
}
},
"type": "object"
},
"name": "cliniko_list_practitioners"
},
{
"description": "List billable products/items. GET /products.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"description": "Page number (1-based). Default 1.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"per_page": {
"description": "Results per page (max 100). Default 50.",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
}
},
"type": "object"
},
"name": "cliniko_list_products"
},
{
"description": "List treatment notes, optionally filtered by patient. NOTE: treatment notes are protected health information (PHI) — handle with care. Read-only. GET /treatment_notes.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"description": "Page number (1-based). Default 1.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"patient_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Filter by patient id (q[]=patient_id:=)."
},
"per_page": {
"description": "Results per page (max 100). Default 50.",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
}
},
"type": "object"
},
"name": "cliniko_list_treatment_notes"
},
{
"description": "Get the single next bookable slot for a business + practitioner + appointment type (optionally from a date). GET /businesses/{business_id}/practitioners/{practitioner_id}/appointment_types/{appointment_type_id}/next_available_time.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"appointment_type_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Appointment type id (path)."
},
"business_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Business id (path)."
},
"from": {
"description": "Optional earliest date yyyy-mm-dd to search from.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"practitioner_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"minLength": 1,
"type": "string"
}
],
"description": "Practitioner id (path)."
}
},
"required": [
"business_id",
"practitioner_id",
"appointment_type_id"
],
"type": "object"
},
"name": "cliniko_next_available_time"
}
]
}What the leaf hashes
{"body":"21b7b06d60fe0998565647bb8a2ce1570a8564e73ac9f5121301de07146e6fb0","id":299950,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793053183581426,"prev":null,"subject":"10e3b8a4-08e2-4ace-8741-7d44afd44f54","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0xb1a73c0f0c9c03777fa2f3d6ba240a353a232a47cbf6403d495a4f764a045675
- 0x67fd19a41b654376c15d7949a839370cef6eaf1ddfbcf864e3bcdb580c2b7e73
- 0x7a3a796cb77be792f2a25f3d7ed9fc486bcf7b38655023d5a02dca856c50c0d4
- 0xacf4af2870fc86bc90a0997b565eb9903b096829c2a316d1153ff059916ee42e
- 0xe107ed30c59d52179aeadc4aa1bfb7c30c89298f6f6583df498eda76498e28be
- 0x404ae4c8b53cf78df1730d6f4e06b3cf09f293fa1b4c433534fdc21df012973f
- 0x4234d00d938bcdee4b2f6d379a923aaf1472c7a0212cd24391e3a69ab4f5a6bf
- 0xd523e0e141f7bab8247f84ee9e15f23d1c43c72c32b0c34c876dd20ae8d20438
- 0xce7b52aea929e25bddd38b0f456f23a397675312e4cb7db15eb3b5cd4faf39c1
- 0xd5cd216c2216432b3046cca4e23b3c34d41ceff1aa810aa4eea5bd58437939ce
- 0xb673e7e79847b2398685ec91a7c3b2395fccef249a8f8983b5eecc97a794a3ec
- 0xce1aeb889b974291cea1fbfd01595655bd2c1b3636dc5b56eeb8904adb9f6c65
- 0x3b1c0e225d1b1cb24cd5d5ea4af2de20ed68a1eaf8b61924ed1b81e4b9cf7e39
- 0x083427e39db4dd470662401f6db5db8fadf084fc4274cf8621b368416952b78b
- 0x1a74ed3b3756b9cd946da49701bcec120ec88645013da99fa9eea60b39e1a570
- 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
- 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae