IntakeQ MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.39.1Updated Nov 14, 2026

Search clients, appointments, intakes, notes and invoices in IntakeQ, and book or cancel visits.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowFinanceBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server for IntakeQ that lets an assistant search clients, intakes, notes, invoices and appointments, and book or cancel visits.

What you can do
  • Search clients and read their full profile or recorded diagnoses
  • List and fetch appointments, plus booking settings with locations, services and practitioners
  • List intake questionnaires and read submitted forms with all answers and consents
  • List treatment notes and read a full note with its answers
  • List and fetch invoices with line items, payments and amounts due
  • Create or update clients, add tags, create, reschedule or cancel appointments, and send questionnaires by email or SMS
When to use it
Useful when a practice or clinic staff member wants to ask questions about their IntakeQ data in plain language, or have the assistant draft bookings, reschedules and client messages without opening the IntakeQ interface.
Requirements
Remote endpoint at intakeq.usefulapi.io, added by URL only; sign-in is via OAuth, and the login page asks for an IntakeQ API key (from the account owner's Developer API settings, paid IntakeQ plan). No local install. A free tier allows 50 tool calls per month; paid plans are billed per user through a Stripe checkout link.
Before you install
Write tools change real practice data: creating or updating clients, tagging, booking, rescheduling, cancelling (not reversible through the API) and sending questionnaires that message the client by email or SMS. The IntakeQ API key is entered on the provider's login page and stored per user, so trust in that third party matters. Paid plans cost money and upgrades charge the price difference immediately, with no refund on cancellation.

Installation

In SourceWeft

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

README

IntakeQ MCP by usefulapi

Use IntakeQ from Claude, Cursor, or any MCP client — search clients, review intake forms and treatment notes, check invoices, and book or reschedule appointments. Hosted, no local install: connect with your own IntakeQ credentials.

Live endpoint: https://intakeq.usefulapi.io/mcp · Homepage: https://usefulapi.io/intakeq

Connect

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

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

On first connect you'll provide your IntakeQ API key (More > Settings > Integrations > Developer API; main account owner only, paid plan), no other setup. They're validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
intakeq_list_clientsreadSearch clients
intakeq_get_client_diagnosesreadGet a client's diagnoses
intakeq_list_appointmentsreadList appointments
intakeq_get_appointmentreadGet one appointment
intakeq_get_booking_settingsreadGet booking settings
intakeq_list_intakesreadList intake forms
intakeq_get_intakereadGet a full intake form
intakeq_list_questionnairesreadList questionnaire templates
intakeq_list_practitionersreadList practitioners
intakeq_list_notesreadList treatment notes
intakeq_get_notereadGet a full treatment note
intakeq_list_invoicesreadList invoices
intakeq_get_invoicereadGet one invoice
intakeq_save_clientwriteCreate or update a client
intakeq_add_client_tagwriteTag a client
intakeq_create_appointmentwriteCreate an appointment
intakeq_update_appointmentwriteUpdate or reschedule an appointment
intakeq_cancel_appointmentwriteCancel an appointment
intakeq_send_questionnairewriteSend an intake questionnaire
intakeq_usage_statusmetaUsage status (free-tier meter)
intakeq_request_featuremetaRequest a missing feature
intakeq_upgrademetaUpgrade to Pro or Pro+
intakeq_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 user)$9/mo or $90/yr (2 months free)10,000 tool calls / month
Pro+ (per user)$39/mo or $390/yr (2 months free)100,000 tool calls / month

Each paid plan covers this server only. Ask your AI to run intakeq_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with intakeq_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with intakeq_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by IntakeQ.

Source: servers/intakeq/README.md at commit f22f848

Tools

19

intakeq_list_clients

Search clients

Search 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, custom fields, linked clients). Max 100 per page. IntakeQ: GET /clients.

Parameterspagesearchdeleted_onlycustom_fieldsinclude_profiledate_created_enddate_updated_enddate_created_startdate_updated_startexternal_client_id

intakeq_get_client_diagnoses

Get a client's diagnoses

List the diagnoses recorded for one client: code, description, start/end date and the treatment note they came from. IntakeQ: GET /client/{clientId}/diagnoses.

Parametersclient_idrequired

intakeq_list_appointments

List appointments

Query appointments by client name/email, date range, status, practitioner or last-modified date. Max 100 per page. IntakeQ: GET /appointments.

Parameterspageclientstatusend_datestart_datedeleted_onlyupdated_sincepractitioner_email

intakeq_get_appointment

Get one appointment

Fetch one appointment: client, practitioner, service, location, start/end, status, price, invoice, telehealth link and cancellation details. IntakeQ: GET /appointments/{id}.

Parametersappointment_idrequired

intakeq_get_booking_settings

Get booking settings

List the scheduler's locations, services (with duration and price) and practitioners — the ids you need to create an appointment. IntakeQ: GET /appointments/settings.

Takes no parameters.

intakeq_list_intakes

List intake forms

Query 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.

Parametersallpageclientend_dateclient_idstart_datedeleted_onlyupdated_sinceexternal_client_id

intakeq_get_intake

Get a full intake form

Fetch one intake questionnaire with every question and answer, its consent forms and linked appointment. IntakeQ: GET /intakes/{id}.

Parametersintake_idrequired

intakeq_list_questionnaires

List questionnaire templates

List the intake questionnaire templates in the account (id, name, archived, anonymous) — the ids you need to send one. IntakeQ: GET /questionnaires.

Takes no parameters.

intakeq_list_practitioners

List practitioners

List the practitioners in the account (id, name, email, external id). IntakeQ: GET /practitioners.

Takes no parameters.

intakeq_list_notes

List treatment notes

Query treatment note summaries by client, lock status, date range or last-updated date. Max 100 per page. IntakeQ: GET /notes/summary.

Parameterspageclientstatusend_dateclient_idstart_datedeleted_onlyupdated_since

intakeq_get_note

Get a full treatment note

Fetch one treatment note with every question and answer and its linked appointment. IntakeQ: GET /notes/{id}.

Parametersnote_idrequired

intakeq_list_invoices

List invoices

Query 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.

Parameterspagestatusend_dateclient_idstart_datepractitioner_emaillast_updated_end_datelast_updated_start_date

intakeq_get_invoice

Get one invoice

Fetch one invoice: line items, taxes, discounts, payments, totals and amount due. IntakeQ: GET /invoices/{id}.

Parametersinvoice_idrequired

intakeq_save_client

Create or update a client

Create 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_clients with include_profile=true) and send it back with your changes, so no field is unintentionally cleared. Field names are IntakeQ's own. Dates are Unix timestamps in milliseconds. IntakeQ: POST /clients.

ParametersCityNameEmailPhoneGenderAddressCountryArchivedClientIdLastNameFirstNameHomePhone+25 more

intakeq_add_client_tag

Tag a client

Add 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.

Parameterstagrequiredclient_idrequired

intakeq_create_appointment

Create an appointment

Book 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 /appointments.

ParametersStatusrequiredClientIdrequiredServiceIdrequiredLocationIdrequiredUtcDateTimerequiredReminderTyperequiredPractitionerIdrequiredSendClientEmailNotificationrequired

intakeq_update_appointment

Update or reschedule an appointment

Change 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 WaitingConfirmation. IntakeQ: PUT /appointments.

ParametersIdrequiredStatusServiceIdLocationIdUtcDateTimerequiredReminderTypeSendClientEmailNotification

intakeq_cancel_appointment

Cancel an appointment

Cancel 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.

Parametersreasonappointment_idrequired

intakeq_send_questionnaire

Send an intake questionnaire

Send 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.

ParametersClientIdClientNameClientEmailClientPhonePractitionerIdQuestionnaireIdrequiredExternalClientId

Version history

25
  1. v1.39.1LatestNov 13, 2026
  2. v1.38.0Nov 12, 2026
  3. v1.37.3Nov 11, 2026
  4. v1.36.5Nov 8, 2026
  5. v1.36.4Nov 7, 2026
  6. v1.35.3Nov 5, 2026
  7. v1.35.2Nov 5, 2026
  8. v1.35.1Nov 4, 2026
  9. v1.35.0Nov 3, 2026
  10. v1.34.1Nov 3, 2026
  11. v1.33.0Nov 1, 2026
  12. v1.31.0Oct 31, 2026
  13. v1.30.0Oct 31, 2026
  14. v1.29.2Oct 30, 2026
  15. v1.29.0Oct 30, 2026
  16. v1.24.0Oct 26, 2026
  17. v1.21.3Oct 25, 2026
  18. v1.21.0Oct 25, 2026
  19. v1.20.0Oct 24, 2026
  20. v1.17.0Oct 23, 2026
  21. v1.16.4Oct 22, 2026
  22. v1.16.3Oct 21, 2026
  23. v1.11.1Oct 9, 2026
  24. v1.10.0Oct 9, 2026
  25. v1.0.0Sep 30, 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