Semble MCP by usefulapi

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

Read Semble patients, bookings, invoices and products; create patients and tasks, label patients.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowFinanceBusiness & Commerce

Overview

AI-generated overview

Connects an assistant to a Semble clinic practice: read patients, bookings, invoices and staff, and create patients, tasks and labels.

What you can do
  • Look up practice details, staff users, contacts and the price list of products, services and appointment types
  • Search and read patients, including demographics, contact details, labels and status
  • List and read bookings for the whole practice or one patient, with doctor, location, type and journey status
  • List and read invoices with totals, line items and outstanding amounts, filtered by date and status
  • List tasks and create or update them (status, assignee, due date, priority, notes)
  • List patient labels and add an existing label to a patient
When to use it
Useful when a clinic or practice staff member wants to ask questions about their Semble data in natural language, such as tomorrow's appointments, a patient's recent bookings or outstanding invoices, or wants the assistant to file tasks and label patients.
Requirements
A remote endpoint reached over streamable HTTP; no local package. Sign-in is via OAuth, and on first connect you paste a Semble API token and choose Production or Sandbox. No API key or Authorization header goes in the client config. A usefulapi.io account with a plan (free tier limited to 50 tool calls per month).
Before you install
Handles patient personal and health data, so access should be limited to authorised staff. Four tools write to Semble (create patient, create task, update task, add patient label); the create-patient tool does not check for duplicates, so search first. Usage is metered and paid plans are billed through a Stripe checkout link; cancellation runs to the end of the paid period with no refund for the current period. The API token is stored per user on the hosted service.

Installation

In SourceWeft

  1. Open Semble 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%2Fsemble/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": {
    "semble-by-usefulapi": {
      "type": "http",
      "url": "https://semble.usefulapi.io/mcp"
    }
  }
}

README

Semble MCP by usefulapi

Live endpoint: https://semble.usefulapi.io/mcp

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://semble.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http semble https://semble.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": {    "semble": {      "url": "https://semble.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 Semble credentials.

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

On first connect you will paste your Semble API token and choose Production or Sandbox. They are validated, stored per-user, and scoped to you. No keys in config files.

Tools

ToolTypeWhat it does
semble_get_practicereadGet the practice
semble_list_patientsreadList or search patients
semble_get_patientreadGet a patient
semble_list_patient_bookingsreadList a patient's bookings
semble_list_bookingsreadList bookings
semble_get_bookingreadGet a booking
semble_list_usersreadList users (staff)
semble_get_userreadGet a user (staff)
semble_list_productsreadList products and services
semble_get_productreadGet a product or service
semble_list_invoicesreadList invoices
semble_get_invoicereadGet an invoice
semble_list_contactsreadList contacts
semble_list_tasksreadList tasks
semble_list_labelsreadList patient labels
semble_create_taskwriteCreate a task (WRITE)
semble_update_taskwriteUpdate a task (WRITE)
semble_add_patient_labelwriteAdd a label to a patient (WRITE)
semble_create_patientwriteCreate a patient (WRITE)
semble_usage_statusmetaUsage status (free-tier meter)
semble_request_featuremetaRequest a missing feature
semble_upgrademetaUpgrade to Pro or Pro+
semble_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 account)$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 semble_upgrade (it returns a Stripe Checkout link). Cancel any time with semble_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running semble_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT

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

Tools

19

semble_get_practice

Get the practice

The practice the API token belongs to: name, timezone, locations, appointment types and medical specialties. A good first call to check the connection.

Takes no parameters.

semble_list_patients

List or search patients

Patients of the practice (personal and health data). `search` matches name, email, phone or date of birth. Returns id, name, date of birth, contact details and status, plus pageInfo.hasMore for the next page.

Parameterspagesearchpage_size

semble_get_patient

Get a patient

One patient by id (personal data): demographics, phones, address, numbers, custom attributes, labels, comments and status. Appointments, invoices and tasks have their own tools.

Parametersidrequired

semble_list_patient_bookings

List a patient's bookings

The bookings (appointments) of one patient between two dates, with doctor, location, appointment type and status. Both dates are required (YYYY-MM-DD).

Parametersendrequiredpagestartrequiredpage_sizepatient_idrequiredonly_cancelledinclude_deleted

semble_list_bookings

List bookings

Bookings (appointments) of the whole practice. With a date range, a booking is included if it starts or ends inside it. Returns patient, doctor, location, appointment type, status and journey (arrived, consultation, departed, dna).

Parametersendpagestartpage_sizeinclude_deleted

semble_get_booking

Get a booking

One booking by id, with patient, doctor, location, appointment type, status and journey.

Parametersidrequired

semble_list_users

List users (staff)

Staff users of the practice (clinicians and admin): name, email, role, qualifications and specialties. Use the ids for bookings and tasks.

Parameterspagesearchpage_sizeclinicians_onlyinclude_deleted

semble_get_user

Get a user (staff)

One staff user by id.

Parametersidrequired

semble_list_products

List products and services

The practice's price list: appointment types, services and stock items, with price, cost, duration and stock level. `search` matches the item code or name.

Parameterspagesearchpage_size

semble_get_product

Get a product or service

One product, service or appointment type by id.

Parametersidrequired

semble_list_invoices

List invoices

Invoices whose invoice date is inside a date range, with patient, totals and what is outstanding. Filter by status (active or cancelled) and paid_or_outstanding. Monetary amounts are in the practice currency.

Parametersendpagestartstatuspage_sizepaid_or_outstanding

semble_get_invoice

Get an invoice

One invoice by id, with its line items, totals and what is outstanding.

Parametersidrequired

semble_list_contacts

List contacts

Contacts of the practice (referring doctors, insurers and other payors). `search` matches name, email, phone, specialty and numbers.

Parameterspagesearchis_payoris_doctorpage_size

semble_list_tasks

List tasks

Practice tasks, filtered by patient, status, priority, type or assignee. Returns subject, due date, priority, assignee and patient.

Parameterspagestatusprioritypage_sizetask_typepatient_idassigned_to

semble_list_labels

List patient labels

The labels that can be put on patients (id, title, colour). Use the id with semble_add_patient_label.

Parameterspagesearchpage_size

semble_create_task

Create a task (WRITE)

Creates a task in Semble assigned to a staff user (get ids from semble_list_users), optionally about a patient, with a due date, priority and type. Creates a new record each time it is called.

Parameterssubjectrequiredcommentsdue_dateprioritytask_typepatient_idassigned_torequired

semble_update_task

Update a task (WRITE)

Changes a task: close or reopen it (status), reassign it, move the due date, or edit subject, priority and notes. Only the fields you pass are changed.

Parametersidrequiredstatussubjectcommentsdue_datepriorityassigned_to

semble_add_patient_label

Add a label to a patient (WRITE)

Puts an existing label on a patient (label ids from semble_list_labels). Adds only; nothing is removed.

Parameterslabel_idrequiredpatient_idrequired

semble_create_patient

Create a patient (WRITE)

Creates a new patient record (personal data) from the details you give. It does not check for an existing patient: search with semble_list_patients first to avoid a duplicate.

Parametersdobsexcityemailaddresscountrycommentspostcodelast_namerequiredfirst_namerequiredphone_typephone_number

Version history

12
  1. v1.12.4LatestNov 7, 2026
  2. v1.11.3Nov 5, 2026
  3. v1.11.2Nov 5, 2026
  4. v1.11.1Nov 4, 2026
  5. v1.11.0Nov 3, 2026
  6. v1.10.1Nov 3, 2026
  7. v1.9.0Nov 1, 2026
  8. v1.7.0Oct 31, 2026
  9. v1.6.0Oct 31, 2026
  10. v1.5.2Oct 30, 2026
  11. v1.5.0Oct 30, 2026
  12. v1.0.0Oct 26, 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