Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,552Letters: 14Defects: 1,331counted 2 min ago
teppi

Server definition

Hash
sha256:4b27e5966f97d0c1884ab036fa42f85e549a7550f3fdb1d31b25447e25ad9391
What it is
What a remote MCP server returned when asked what it offers: 17 tools

The blob, as servednamed by its sha256

{ "instructions": null, "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:4b27e5966f97d0c1884ab036fa42f85e549a7550f3fdb1d31b25447e25ad9391 | sha256sum