splose MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.15.4Updated Nov 7, 2026

Read splose patients, appointments, invoices, cases; book and cancel appointments, record payments.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowFinanceBusiness & Commerce

Overview

AI-generated overview

Remote MCP server for Splose practice management: read patients, appointments, invoices and cases, and book, cancel or record payments.

What you can do
  • Look up the account, patients, contacts, cases and custom fields
  • Browse appointments, practitioners, locations, services, waitlists, busy times and patient forms
  • Check availability and find free bookable slots
  • Review invoices, payments, payment methods, credit notes and support activities
  • Book, reschedule, cancel or check in appointments, and create patients and contacts
  • Record a payment against an invoice and check usage or plan status
When to use it
Useful for allied-health or clinic staff who want an assistant to answer scheduling and billing questions, find open slots, or make routine booking and payment entries in Splose without opening the app.
Requirements
Remote endpoint reached over streamable HTTP; no local package. Sign-in is via OAuth, then the Splose API key and region (Australia or UK) are entered on first connect. The workspace owner must request API access from Splose Support (paid Splose plans only) and create the key under My account, API.
Before you install
Handles health and funding data (patients, NDIS and plan details, forms), so lookups should be user-driven. Write tools create, change or cancel appointments and patients, may trigger patient notifications or cancellation charges, and are not idempotent for creates and payments. Recording a payment moves money on the invoice but does not charge a card. Usage is metered: 50 calls/month free, paid plans billed via Stripe checkout.

Installation

In SourceWeft

  1. Open splose MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fsplose/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "splose-by-usefulapi": {
      "type": "http",
      "url": "https://splose.usefulapi.io/mcp"
    }
  }
}

README

splose MCP by usefulapi

Read splose patients, appointments, invoices, cases; book and cancel appointments, record payments.

Live endpoint: https://splose.usefulapi.io/mcp · Homepage: https://usefulapi.io/splose

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://splose.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http splose https://splose.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "splose": {      "url": "https://splose.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your splose credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/splose/

On first connect you'll paste your splose API key and pick your region (Australia or UK). The workspace owner requests API access from splose Support (paid plans only), then creates the key in splose under My account, API.

Tools

ToolTypeWhat it does
splose_get_accountreadGet the account behind the API key
splose_list_patientsreadList patients
splose_get_patientreadGet a patient
splose_list_appointmentsreadList appointments
splose_get_appointmentreadGet an appointment
splose_list_practitionersreadList practitioners
splose_get_practitionerreadGet a practitioner
splose_list_locationsreadList locations
splose_get_locationreadGet a location
splose_list_servicesreadList services
splose_get_servicereadGet a service
splose_list_contactsreadList contacts
splose_get_contactreadGet a contact
splose_list_casesreadList cases
splose_get_casereadGet a case
splose_list_invoicesreadList invoices
splose_get_invoicereadGet an invoice
splose_list_paymentsreadList payments
splose_get_paymentreadGet a payment
splose_list_payment_methodsreadList payment methods
splose_list_credit_notesreadList credit notes
splose_list_waitlistreadList waitlist items
splose_list_patient_formsreadList patient forms
splose_list_support_activitiesreadList support activities
splose_list_busy_timesreadList busy times
splose_list_cancellation_reasonsreadList cancellation reasons
splose_list_custom_fieldsreadList patient custom fields
splose_get_practitioner_availabilityreadGet a practitioner's availability
splose_find_free_slotsreadFind free appointment slots
splose_create_appointmentwriteCreate an appointment
splose_update_appointmentwriteUpdate (reschedule) an appointment
splose_cancel_appointmentwriteCancel an appointment
splose_mark_patient_arrivedwriteMark a patient as arrived
splose_create_patientwriteCreate a patient
splose_create_contactwriteCreate a contact
splose_record_paymentwriteRecord a payment against an invoice
splose_usage_statusmetaUsage status (free-tier meter)
splose_request_featuremetaRequest a missing feature
splose_upgrademetaUpgrade to Pro or Pro+
splose_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with splose_upgrade (it returns a Stripe Checkout link). Cancel any time with splose_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running splose_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by splose.

Source: servers/splose/README.md at commit 4046075

Tools

36

splose_get_account

Get the account behind the API key

The organisation and the practitioner who owns the API key, plus the key's expiry date. Good first call. GET /me.

Takes no parameters.

splose_list_patients

List patients

Patients (clients) of the practice, filtered, in id order, as short rows: id, name, email, birthdate, phones, tags, alert, archived. Use splose_get_patient for the full record. HEALTH DATA: only look people up when the user asks. GET /patients.

Parametersidsemailid_gtid_ltlastnamebirthdatefirstnameupdate_gtupdate_ltpatientTagphoneNumberinclude_archived

splose_get_patient

Get a patient

One patient in full: contact details, address, NDIS number and plan info, Medicare/health fund, emergency contact, tags and custom fields. HEALTH DATA. GET /patients/{id}.

Parameterspatient_idrequired

splose_list_appointments

List appointments

Appointments in id order: start/end (UTC), service, location, practitioner, price, note and the per-patient status (Arrived, Did not arrive, Cancelled, Completed, cancellation reason, invoice id). Filter by time window, patient, practitioner or status. GET /appointments.

Parametersid_gtid_ltstatusstart_gtstart_ltpatientIdupdate_gtupdate_ltpractitionerIdinclude_archivedstatus_update_gtstatus_update_lt

splose_get_appointment

Get an appointment

One appointment in full, with each patient's status, case, invoice and cancellation details. GET /appointments/{id}.

Parametersappointment_idrequired

splose_list_practitioners

List practitioners

Practitioners (staff): name, email, profession, role, active flag, online-booking flag, timezone and their location/service connections. GET /practitioners.

Parametersemailid_gtid_ltisActivelastnameroleNamefirstnameupdate_gtupdate_ltinclude_archived

splose_get_practitioner

Get a practitioner

One practitioner in full, including provider numbers and connections. GET /practitioners/{id}.

Parameterspractitioner_idrequired

splose_list_locations

List locations

Practice locations: title, address, phone, email, timezone, online-booking flag and the ids of the services offered there. GET /locations.

Parametersid_gtid_lttitleupdate_gtupdate_ltinclude_archived

splose_get_location

Get a location

One location in full. GET /locations/{id}.

Parameterslocation_idrequired

splose_list_services

List services

The service catalogue: name, type, code, duration (minutes), unit (Hour or Each), price, tax type, group size and tags. GET /services.

Parameterscodenametypeid_gtid_ltupdate_gtupdate_ltserviceTaginclude_archived

splose_get_service

Get a service

One service in full, including provider-travel pricing. GET /services/{id}.

Parametersservice_idrequired

splose_list_contacts

List contacts

Contacts (GPs, plan managers, referrers, invoice recipients): name, type, email, address, phones and the ids of their patients, invoices and cases. GET /contacts.

Parametersemailid_gtid_ltlastnamefirstnameupdate_gtupdate_ltphoneNumberinclude_archived

splose_get_contact

Get a contact

One contact in full. GET /contacts/{id}.

Parameterscontact_idrequired

splose_list_cases

List cases

Cases (funding referrals and plans): case number, budget, hours or appointment allowance, issue and expiry dates, tracking type, open flag and utilisation alert. HEALTH/FUNDING DATA. GET /cases.

Parametersid_gtid_ltstatuscontactIdpatientIdtrackTypeupdate_gtupdate_ltpractitionerIdinclude_archived

splose_get_case

Get a case

One case in full, with its appointment connections. GET /cases/{id}.

Parameterscase_idrequired

splose_list_invoices

List invoices

Invoices: number, issue/due dates, patient, contact, location, practitioner, subtotal, tax, total, paid amount, status (Draft, Awaiting Payment, Paid), line items and payment ids. Use status=Awaiting Payment for what is owed. GET /invoices.

Parametersid_gtid_ltstatuspatientIdupdate_gtupdate_ltlocationIdpractitionerIdinclude_archived

splose_get_invoice

Get an invoice

One invoice in full with its line items and payments. GET /invoices/{id}.

Parametersinvoice_idrequired

splose_list_payments

List payments

Payments received: payment number, amount, date, patient, location, payment method, the invoices each payment settles and credit allocations. GET /payments.

Parametersid_gtid_ltpatientIdupdate_gtupdate_ltlocationIdinclude_archived

splose_get_payment

Get a payment

One payment in full. GET /payments/{id}.

Parameterspayment_idrequired

splose_list_payment_methods

List payment methods

Payment methods (cash, card, bank transfer and so on) with their ids, needed to record a payment. GET /payment-methods.

Parametersid_gtid_ltupdate_gtupdate_ltinclude_archived

splose_list_credit_notes

List credit notes

Credit notes: number, invoice, patient, subtotal, tax, total, sent status, items and allocations. GET /credit-notes.

Parametersid_gtid_ltinvoiceIdpatientIdupdate_gtupdate_ltsentStatuspractitionerId

splose_list_waitlist

List waitlist items

Waitlist entries: patient, practitioner, location, wanted services, preferred days and time, tags and active flag. GET /waitlists.

Parametersid_gtid_ltisActivepatientIdupdate_gtupdate_ltlocationIdserviceIdsdateAddedGtdateAddedLtuserGroupIdpractitionerId+1 more

splose_list_patient_forms

List patient forms

Forms sent to patients: title, status (Incomplete, In progress, Completed), patient, appointment, template and submission time. The form content is included. GET /patient-forms.

Parametersid_gtid_ltpatientIdupdate_gtupdate_lttemplateIdinclude_archived

splose_list_support_activities

List support activities

Non-appointment billable activities (NDIS support activities): patient, practitioner, service, item code, quantity, price, invoice id. GET /support-activities.

Parametersid_gtid_ltstart_gtstart_ltpatientIdupdate_gtupdate_ltinclude_archived

splose_list_busy_times

List busy times

Blocked-out time in practitioner calendars (leave, admin time): start/end, location, practitioners, type and note. GET /busy-times.

Parametersid_gtid_ltstart_gtstart_ltupdate_gtupdate_ltbusyTimeTypeIdpractitionerIdinclude_archived

splose_list_cancellation_reasons

List cancellation reasons

Cancellation reasons with their ids, needed to cancel an appointment. GET /cancellation-reasons.

Parametersid_gtid_ltupdate_gtupdate_ltinclude_archived

splose_list_custom_fields

List patient custom fields

The custom fields defined for patients: id, name, type (short text, dropdown, date and so on), required flag and options. GET /custom-field/.

Takes no parameters.

splose_get_practitioner_availability

Get a practitioner's availability

A practitioner's working-hours availability per date and location (start/end time, weekly or fortnightly repeat). The window is at most 100 days. This is the roster, not the open slots: use splose_find_free_slots for bookable times. GET /availabilities/{practitionerId}.

ParametersendDaterequiredstartDaterequiredlocationIdpractitioner_idrequired

splose_find_free_slots

Find free appointment slots

Bookable free slots for one or more practitioners at a location for one patient service, between from and to (the window is at most 7 days). Returns, per practitioner, the start/end of each open slot in UTC. Read-only. GET /free-slots.

ParameterstofromrequiredintervalserviceIdrequiredlocationIdrequiredpractitionerIdsrequired

splose_create_appointment

Create an appointment

WRITE: books ONE appointment for one patient with one practitioner, service and location, from start to end (UTC). Splose may send the patient its normal booking confirmation or reminders according to the practice's settings, and the appointment can later be invoiced. Check splose_find_free_slots first. Not idempotent: calling twice books twice. POST /appointments.

ParametersendrequirednotestartrequiredcaseIdpatientIdrequiredserviceIdrequiredlocationIdrequiredpractitionerIdrequired

splose_update_appointment

Update (reschedule) an appointment

WRITE: changes the time, service, location, practitioner, case or patient of ONE existing appointment; send only the fields to change. Splose may notify the patient of a change according to the practice's settings. Same input twice gives the same result. PUT /appointments/{id}.

ParametersendstartcaseIdpatientIdserviceIdlocationIdappointment_idrequiredpractitionerId

splose_cancel_appointment

Cancel an appointment

WRITE: cancels ONE appointment with a cancellation reason (ids from splose_list_cancellation_reasons) and an optional note. The reason's billable rate may create a cancellation charge, and the patient may be notified per the practice's settings. For a group appointment pass patient_id to cancel only that patient's place; without it the whole appointment is cancelled. Cannot be undone through this server: confirm with the user first and pass confirm: true. POST /appointments/{id}/cancellation or /appointments/{id}/patients/{patientId}/cancellation.

ParametersnoteconfirmrequiredreasonIdrequiredpatient_idappointment_idrequired

splose_mark_patient_arrived

Mark a patient as arrived

WRITE: marks the patient of ONE appointment as arrived (check-in). For a group appointment pass patient_id to mark just that patient. Marking twice has the same effect. POST /appointments/{id}/arrival or /appointments/{id}/patients/{patientId}/arrival.

Parameterspatient_idappointment_idrequired

splose_create_patient

Create a patient

WRITE: adds ONE new patient record (first and last name required). Search with splose_list_patients first to avoid a duplicate. Patient messaging follows the practice's settings and communicationPreference. Not idempotent: calling twice creates two patients. HEALTH DATA: only enter what the user supplied. POST /patients.

ParametersirnsexcityalertemailstatetitlecountrylastnamerequiredpronounstimezoneaddressL1+16 more

splose_create_contact

Create a contact

WRITE: adds ONE contact (GP, plan manager, referrer, payer). type, name and email are required (type is Splose's contact type, e.g. Standard; see splose_list_contacts for the values in use). Not idempotent: calling twice creates two contacts. POST /contacts.

ParametersnamerequiredtyperequiredemailrequiredstatetitlesuburbcountrylastNameaddressL1addressL2firstNamedoctorType+6 more

splose_record_payment

Record a payment against an invoice

WRITE, MONEY: records ONE payment received (cash, card, transfer) against ONE invoice; it moves the invoice towards Paid and is shown in the patient's account. It does NOT charge anyone's card. amount must not exceed what is owed (check splose_get_invoice). Not idempotent: calling twice records two payments, and this server cannot delete a payment, so confirm the details with the user first and pass confirm: true. Ids come from splose_get_invoice and splose_list_payment_methods. POST /payments.

ParametersamountrequiredconfirmrequiredinvoiceIdrequiredpatientIdrequiredlocationIdrequiredpaymentDaterequiredpaymentMethodIdrequired

Version history

14
  1. v1.15.4LatestNov 7, 2026
  2. v1.14.3Nov 5, 2026
  3. v1.14.2Nov 5, 2026
  4. v1.14.1Nov 4, 2026
  5. v1.14.0Nov 3, 2026
  6. v1.13.1Nov 3, 2026
  7. v1.12.0Nov 1, 2026
  8. v1.10.0Oct 31, 2026
  9. v1.9.0Oct 31, 2026
  10. v1.8.2Oct 30, 2026
  11. v1.8.0Oct 30, 2026
  12. v1.3.0Oct 26, 2026
  13. v1.0.3Oct 25, 2026
  14. v1.0.0Oct 25, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations