IntakeQ MCP by usefulapi
io.usefulapi/intakeq · v1.11.1
Search clients, appointments, intakes, notes and invoices in IntakeQ, and book or cancel visits.
MCPremoteno credentialsCalendarEmailFinance
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 19 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 87/100
What it does: 19 tools · 13 read, 6 write (incl. delete/pay) · Calendar, Email, Knowledge & docs
Test call intakeq_list_clients: needs a key: HTTP 401 (539 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +9
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://intakeq.usefulapi.io/mcpTools
19 tools listed at last check
intakeq_list_clientsSearch the practice's clients (patients) by name, email or client number, by created/updated date range, by external id, or by a custom field. Without include_profile it returns Name, Email, Phone and ClientNumber; with include_profile=true it returns the full profile (address, insurance, tags, custintakeq_get_client_diagnosesList the diagnoses recorded for one client: code, description, start/end date and the treatment note they came from. IntakeQ: GET /client/{clientId}/diagnoses.intakeq_list_appointmentsQuery appointments by client name/email, date range, status, practitioner or last-modified date. Max 100 per page. IntakeQ: GET /appointments.intakeq_get_appointmentFetch one appointment: client, practitioner, service, location, start/end, status, price, invoice, telehealth link and cancellation details. IntakeQ: GET /appointments/{id}.intakeq_get_booking_settingsList the scheduler's locations, services (with duration and price) and practitioners — the ids you need to create an appointment. IntakeQ: GET /appointments/settings.intakeq_list_intakesQuery submitted intake questionnaires (summaries: client, status, questionnaire, practitioner, dates). By default only completed forms; set all=true for every status (Sent, Partial, Completed, Offline). Max 100 per page. IntakeQ: GET /intakes/summary.intakeq_get_intakeFetch one intake questionnaire with every question and answer, its consent forms and linked appointment. IntakeQ: GET /intakes/{id}.intakeq_list_questionnairesList the intake questionnaire templates in the account (id, name, archived, anonymous) — the ids you need to send one. IntakeQ: GET /questionnaires.intakeq_list_practitionersList the practitioners in the account (id, name, email, external id). IntakeQ: GET /practitioners.intakeq_list_notesQuery treatment note summaries by client, lock status, date range or last-updated date. Max 100 per page. IntakeQ: GET /notes/summary.intakeq_get_noteFetch one treatment note with every question and answer and its linked appointment. IntakeQ: GET /notes/{id}.intakeq_list_invoicesQuery invoices by client, issue date range, status, practitioner or last-updated range. Each invoice includes items, payments and amounts due/paid. Max 100 per page. IntakeQ: GET /invoices.intakeq_get_invoiceFetch one invoice: line items, taxes, discounts, payments, totals and amount due. IntakeQ: GET /invoices/{id}.intakeq_save_clientCreate a client, or update one. With ClientId the existing client is updated. WITHOUT ClientId IntakeQ still tries to match an existing client by first name + email (or first name + phone) and updates that one instead of creating a duplicate. For updates, fetch the full profile first (intakeq_list_cintakeq_add_client_tagAdd a tag to a client. The tag is created if it does not exist; adding one the client already has is a no-op. IntakeQ: POST /clientTags.intakeq_create_appointmentBook an appointment in the PracticeQ scheduler. Get PractitionerId, ServiceId and LocationId from intakeq_get_booking_settings. All fields are required by IntakeQ. Status must be Confirmed or WaitingConfirmation; SendClientEmailNotification may be true only when Status is Confirmed. IntakeQ: POST /aintakeq_update_appointmentChange an appointment's time, service, location, status or reminder type. Id and UtcDateTime are required (send the current time to keep it); include only the other fields you are changing. The client and practitioner cannot be changed, and a Confirmed appointment cannot go back to WaitingConfirmatiintakeq_cancel_appointmentCancel an appointment, with an optional reason. This changes the client's booking and cannot be undone through the API — book a new appointment to replace it. IntakeQ: POST /appointments/cancellation.intakeq_send_questionnaireSend an intake questionnaire to a client by email or SMS. This MESSAGES THE CLIENT. Identify the client by ClientId, or by ClientName plus ClientEmail and/or ClientPhone (omit ClientEmail to force SMS). PractitionerId is optional. Returns the new intake. IntakeQ: POST /intakes/send.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.usefulapi/intakeq)