Skip to main content
Quo MCP currently exposes the same complete toolset to Claude, ChatGPT, and other connected MCP clients. A client can call several tools in one task—for example, discover an inbox, fetch its recent messages, and create follow-up tasks from the results. Tool names and parameters are stable identifiers. How you select or approve a tool call depends on your MCP client.

Workspace discovery

Example prompts:
  • “Which Quo numbers can I use, and who is assigned to each one?”
  • “Find Jamie’s user ID and show the inboxes assigned to them.”

Messages and conversations

Choose the correct send tool

Bulk message modes

send-bulk-messages accepts one of two input modes:
  • Same message: Provide to as an array of 2–40 phone numbers and content as the message sent to every recipient.
  • Personalized messages: Provide messages as an array of 2–40 objects, each containing that recipient’s to phone number and content.
Use exactly one mode per call. Do not combine messages with to or content, and include each recipient only once. Use send-message when sending to one person. All three send tools:
  • Require a from number that belongs to the connected Quo workspace. The tool accepts its E.164 number or PN… phone-number ID.
  • Accept message content up to 1,600 characters.
  • Use prepaid messaging credits and count as API-powered messages. See API pricing.
  • Cannot undo or recall a message after it is sent.
Confirm the sender, recipients, message content, and whether the recipients should share a thread before sending. In particular, never substitute send-group-message for a private broadcast.
Example prompts:
  • “Show me yesterday’s messages across the support inbox and summarize the open questions.”
  • “Summarize this week’s support inbox, but skip conversations we already marked done.”
  • “Show the full group thread with Priya and Sam from the sales line.”
  • “Draft a reply to +14165550100, but ask me to approve it before sending.”
  • “Send this service notice privately to these 12 customers so none of them can see the other numbers.”
  • “Send each attendee their own confirmation time from this list as a private message.”

Calls and voicemail

Voicemail processing is asynchronous. If a voicemail has an in-progress status, its duration, transcript, and recording URL may be empty; retry after processing completes. A missed call with no voicemail is still returned. Call and message results include activity IDs (AC…). Multi-contact results can also include conversation IDs (CN…). Use these IDs to link a follow-up task to the exact call, message, or conversation. Example prompts:
  • “What calls did we miss yesterday, and which callers left a voicemail?”
  • “Summarize this week’s completed call transcripts for the sales inbox.”
  • “Find Pat’s call from this morning and create a task linked to that call.”

Contacts

Phone numbers are normalized to E.164. Email values must be valid email addresses.
update-contact only works on contacts created in Quo, through the API, or through Quo MCP. Contacts created by an integration cannot be updated — use get-contact to check a contact’s source, and make the change in the system that created it.
Example prompts:
  • “Look up the contact with +14165550100 and show their custom fields.”
  • “Create a contact for Priya Shah at Northwind, then show me the new contact ID.”
  • “Clear the outdated role on this contact without changing any other field.”

Contact notes

Adding or editing a note doesn’t send anything to the contact. Notes can’t be deleted through Quo MCP. Example prompts:
  • “Add a note to Priya’s contact summarizing today’s call, and mention Jamie so they follow up.”
  • “What notes do we have on Northwind’s main contact?”
  • “Fix the typo in the last note on this contact.”

Tasks

When creating a task, use the most specific link available:
  1. Use an activityId (AC…) for one particular call or message.
  2. Use a conversationId (CN…) for the whole thread with a contact.
  3. Use an inbox number or PN… ID only when the task is not about a specific activity or conversation.
update-task can update the title and description together as one change. Assignment, unassignment, due-date changes, completion or reopening, and conversation linking or unlinking are separate change types. Example prompts:
  • “List the open tasks and show who each is assigned to.”
  • “Create a follow-up task for tomorrow linked to this missed call and assign it to Alex.”
  • “Mark task TK… complete.”

Feedback

This tool is opt-in. A client should not run it as a routine survey or raise it in an unrelated conversation, and it should offer to send feedback at most once — after trying to help — when you ask to share feedback or hit a limitation it cannot work around. Frustration alone is not consent. A submission cannot be edited or withdrawn, and Quo does not promise a reply. Review the summary before approving it, and keep credentials, unrelated personal details, and protected health information out of the feedback. Example prompts:
  • “Send Quo my feedback that I need to schedule a message for a future date.”
  • “Yes, please pass that along to the product team.”

Fetch modes and pagination

The fetch tools can search a specific contact deeply or discover activity across an inbox broadly.

One contact or group thread

Set participantPhoneNumber to query one contact. To query a group thread with fetch-messages, set participantPhoneNumbers instead: a list of every other member of the group, up to 10, not including your inbox. A group thread is matched by its exact member list, so take the list from the group’s header in a whole-inbox result.
  • fetch-messages, fetch-call-transcripts, and fetch-missed-calls return up to 100 matching records per page.
  • If the response includes a next-page token, call the same tool with the same filters plus pageToken.
  • A pageToken can be used only when participantPhoneNumber is set, or participantPhoneNumbers for a group thread.
  • These queries always return the full history, including conversations marked done or snoozed.

Whole inbox

Omit the participant filters to work across the inbox. By default this includes conversations marked done or snoozed.
  • fetch-messages returns up to 10 of the most recent messages for every conversation with messages in the window, including group threads. Set createdAfter to read every message in the window. Without it, the tool reads only the inbox’s 1,000 most recent messages.
  • Group threads are listed with their members, and each message shows its sender. A conversation with more than 10 messages in the window is flagged with the exact parameters to fetch its full thread.
  • If fetch-messages stops early, because createdAfter was omitted or the window is too large to read in one call, the response says where it stopped and includes a conversationPageToken to continue.
  • maxResults applies to single-contact and group-thread message queries and is ignored by the whole-inbox message view.
  • fetch-messages and fetch-call-transcripts accept excludeDoneConversations. Set it to true to skip conversations that are currently marked done or snoozed; it defaults to false, which includes every conversation. fetch-missed-calls does not accept this filter.
  • Call tools aggregate matching calls across discovered participants, up to the requested result limit. If a call-tool response indicates that older conversations remain, continue discovery with the returned conversationPageToken.
The tool response includes the token and guidance needed for the next call. Treat page tokens as opaque and do not modify them.

Dates, times, and phone numbers

  • Pass createdAfter, createdBefore, and task due dates as ISO 8601 datetimes with Z or an explicit offset, such as 2026-08-21T14:00:00-04:00.
  • Fetch results use UTC timestamps. A client should convert relative requests such as “yesterday” from the user’s local timezone to the corresponding UTC range, then present results in the user’s timezone.
  • Use E.164 for external phone numbers, such as +14165550100. International numbers are supported.
  • When a tool accepts an inbox, use either its E.164 number or its PN… ID. Run list-inboxes to discover valid values.