# Practice Better Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## Practice Better

Access your Practice Better clients, sessions, availability, services and invoices.

- Record: https://musedirectory.ai/connector/practice-better
- Category: Productivity
- Developer: usefulapi (https://usefulapi.io/practice-better/)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 1931ms, checked 2026-10-29T10:01:09Z
- Endpoint: https://practice-better.usefulapi.io/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-10-29T07:56:41Z)
- Source: Found in the official MCP Registry (io.usefulapi/practice-better) https://registry.modelcontextprotocol.io/v0/servers?search=io.usefulapi%2Fpractice-better

Read-only access to Practice Better practice management data: client records, appointments, practitioner availability, services, packages, invoices and form requests. Requires a Practice Better account and API connection.

Example request: "Show me my upcoming appointments for this week and which clients have unpaid invoices."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Practice Better to help me. It is a free service with an MCP server at https://practice-better.usefulapi.io/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- practice_better_get_account: The practitioner (API user) behind this connection: id, name, title, timezone, default currency, role flags and the practice (company) id and name. Settings, integrations and the bio are not returned. GET /consultant/profile.
- practice_better_list_practitioners: List the practitioners and admin users of the practice, with id, name, role flags and activation status. Use the ids to filter sessions and invoices. GET /company/administration/members.
- practice_better_list_clients: List client records, newest first: id, status, name, email, phone, timezone and activity dates. Date of birth, address, insurance and notes are not returned. A page holds at most 100 records. To look up one person by name or email use practice_better_find_clients. GET /consultant
- practice_better_find_clients: Search client records by name, preferred name or email (case-insensitive text match). Practice Better has no search endpoint, so this reads the 500 most recent records (5 pages of 100) and filters them; `complete` says whether every record was checked. Returns at most `max_result
- practice_better_get_client: One client record by id: status, name, preferred name, pronouns, email, phones, timezone, activity dates and tag ids. Date of birth, address, insurance, emergency contacts, notes and health history are not returned. GET /consultant/records/{recordId}.
- practice_better_list_sessions: List sessions (appointments), newest first: date, duration, service, practitioner, client (id and name), status and payment status. Booking notes and session notes are not returned. Filter by date range, practitioner, client record, service or group/1-1. GET /consultant/sessions.
- practice_better_get_session: One session (appointment) by id: date, duration, service, practitioner, client (id and name), location and status. Booking notes and session notes are not returned. For a group session pass record_id to see one client's view. GET /consultant/sessions/{sessionId}.
- practice_better_get_availability: Open booking slots of one practitioner for one service, starting on the given day: start, end and duration of each slot. It follows the practitioner's booking settings. Needs a practitioner id and a service id. GET /consultant/availability/slots.
- practice_better_list_services: List the services (appointment types) the practice offers: id, name, duration, group or 1-1, session types and SKU. GET /consultant/services.
- practice_better_list_packages: List the package definitions (bundles of sessions or programs) the practice sells: id, name and SKU. GET /consultant/packages.
- practice_better_list_tags: List the tags the practice uses to organize clients: id and name. A client record carries tag ids. GET /tags.
- practice_better_list_invoices: List client invoices, newest first: number, date, totals, amount due and paid, payment status, client (id and name) and practitioner. Payment history and line items are not in the list; use practice_better_get_invoice. GET /consultant/payments/invoices.
- practice_better_get_invoice: One invoice by id with its line items (date, quantity, amount, tax) and totals. Descriptions, payment history and billing contact are not returned. GET /consultant/payments/invoices/{invoiceId}.
- practice_better_list_forms: List the form templates of the practice (intake forms, questionnaires, consent forms): id and name only. GET /consultant/forms.
- practice_better_list_form_requests: List forms sent to clients, newest first: which form, which client (id), practitioner, and whether it was started or completed, with dates. The answers are never returned. GET /consultant/formrequests.

Screening checks:
- MCP handshake: pass (Answered in 22ms)
- Domain against threat feeds (Cloudflare security DNS): pass (practice-better.usefulapi.io, usefulapi.io not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (15 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
