# Nookal MCP Muse connector

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

## Nookal MCP

Check clinic locations, staff, availability, appointments, clients and invoices in Nookal practice management.

- Record: https://musedirectory.ai/connector/nookal-mcp
- Category: Health
- Developer: usefulapi (https://usefulapi.io/nookal/)
- 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, 1772ms, checked 2026-10-29T10:31:21Z
- Endpoint: https://nookal.usefulapi.io/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-10-29T12:41:36Z)
- Source: Found in the official MCP Registry (io.usefulapi/nookal) https://registry.modelcontextprotocol.io/v0/servers?search=io.usefulapi%2Fnookal

Read-only access to Nookal clinic data: locations, practitioners, services, classes, appointment availability and bookings, client records with contact details and health notes, treatment cases, and invoices with payments. Requires Nookal account and API access.

Example request: "Show me available appointment slots with Dr. Smith next week for a physiotherapy consultation."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Nookal MCP to help me. It is a free service with an MCP server at https://nookal.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:
- nookal_list_locations: List the clinic's locations (id, name, address, time zone, active). Location ids are needed by most other tools. Only the locations your API client was granted are returned. Nookal GraphQL: locations.
- nookal_list_staff: List staff members and practitioners (id, name, title, speciality, email, location ids, whether they are a provider / bookable online / active). Use the staff ids as provider_ids in list_appointments and staff_ids in get_availability. Nookal GraphQL: staff.
- nookal_list_services: List the appointment types / services offered (id, name, category, duration in minutes, price, location, online-booking settings). Use a service id in get_availability. Nookal GraphQL: services.
- nookal_list_classes: List the class types offered (id, name, category, duration, price, location, online-booking settings) — the class definitions, not individual sessions. Nookal GraphQL: classes.
- nookal_get_availability: Get the free appointment slots per date between two dates (max 60 days, Nookal's limit), optionally for given locations, practitioners and a service. Each slot has its date, start time (24h, clinic local time), provider id and location id. Read-only: it does not book anything. No
- nookal_list_appointments: List appointments (date, start/end time, status, type, client, practitioner, case, location, arrived / did-not-arrive flags, notes), filtered by date range, location, client, practitioner, type and status. Dates are clinic local. Nookal GraphQL: appointments.
- nookal_search_clients: Find clients (patients) by name, date of birth, mobile, email or id. Returns id, name, date of birth, location, active/deceased flags and contact details. With partial_match, names match on their first letters (e.g. 'Sm' finds Smith). Nookal GraphQL: clients.
- nookal_get_client: Get one client (patient) by id: name, date of birth, contact details, addresses, alerts, allergies, notes, occupation, referring doctor and their treatment cases; optionally a summary of their invoices (totals and balances). Health-fund, pension and online-booking codes are not r
- nookal_list_cases: List treatment cases (id, client, title, start and referral dates, referrer, primary practitioner, notes), filtered by client, case or practitioner. Nookal GraphQL: cases.
- nookal_list_invoices: List invoices with their line items and payments (number, client, case, location, practitioner, date, subtotal, tax, total, paid, balance), filtered by location, invoice id or creation date. For one client's invoices use get_client with include_invoices. Nookal GraphQL: invoices.
- nookal_list_payments: List payments received against invoices (method, amount, date, reference, invoice, client, location), filtered by invoice or payment date. Nookal GraphQL: payments.

Screening checks:
- MCP handshake: pass (Answered in 41ms)
- Domain against threat feeds (Cloudflare security DNS): pass (nookal.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 (11 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)
