Nookal MCP server
Nookal in any MCP client, through Memtro: Nookal does not publish this server. Memtro's Nookal connector reads Nookal through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Nookal practice management for allied health clinics: appointments by day, location, practitioner or patient id (never their notes), free appointment slots, practitioners, locations and services, and a patient lookup by name (id and name only; no clinical or contact details). When you ask, can book, change, move or cancel appointments, book class places, create invoices, record payments against an invoice, and delete an invoice.
Reads
nookal_list_locationsClinic locations the API key may see: id, name, address and timezone (appointment times are in the location's timezone).nookal_list_practitionersPractitioners: id, name, title, speciality and the locations they work at.nookal_list_servicesAppointment types (services) with duration, price and locations, and with include_classes the class types too.nookal_list_appointmentsAppointments in a date range (default today and the next 6 days): date, start and end time, service, practitioner, location, patient id…nookal_find_free_slotsFree appointment slots for one practitioner at one location between two dates (start and end times), to offer before booking.nookal_find_patientFinds a patient by surname (or its first letters) and optionally first name, to get the patient id a booking needs.
Acts, when you ask
These change something in Nookal. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
nookal_book_appointmentBooks an appointment in Nookal for a patient with a practitioner at a location, for a service, date and start time (in the location's timezone).nookal_update_appointmentChanges a Nookal appointment's date, start time, practitioner, service, location or status (Completed, Pending, Cancelled, DNA for did not attend)…nookal_rebook_appointmentMoves a patient's Nookal appointment to a new date, time, practitioner or location; with cancel_first…nookal_cancel_appointmentCancels a patient's appointment in Nookal, freeing the slot; the patient may be notified by the practice's settings.nookal_book_classBooks a patient into a class in Nookal (a class type, practitioner, location, date and start time).nookal_create_invoiceCreates an invoice in Nookal for a patient at a location, from consultation, class, pass or stock items by id, or ad hoc items by name and price.nookal_record_paymentRecords a payment against a Nookal invoice (cash, EFTPOS, card, health fund and so on).nookal_delete_invoicePermanently deletes an invoice in Nookal, by id.
Connect it
First connect Nookal on Dashboard → Connections, then add Memtro to your client once. The Nookal tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Nookal connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › Who is booked in with Maya Okafor today?
- › When is the next free slot with a physiotherapist at the city clinic?
- › Which patients did not attend this week?
- › What services do we offer at the Northwind location, and how long are they?
- › Book Tom Reilly in for an initial assessment on Thursday at 10am.
Questions
- Is this an official Nookal MCP server?
- No. It is Memtro's MCP server with Memtro's Nookal connector behind it: the connector reads Nookal through its API with the credentials you connect on Dashboard → Connections, and Nookal publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in Nookal?
- Only when you ask, and only what it has been granted: book an appointment for a patient with a practitioner (Nookal may send the patient a confirmation or reminder); change an appointment's time, practitioner, service, location or status; move (rebook) an appointment to a new time, or cancel it and book anew; cancel a patient's appointment; book a patient into a class; create an invoice for a patient; record a payment against an invoice; delete an invoice. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.