MCP server docs / Changelog

Changelog and change policy

StableLast updated View as Markdown

This page lists every change to the Queue CallBack MCP server that a client can see, newest first, starting with the launch on 2026-10-31. It also says what the Stable and Preview labels promise, and the notice before a change: at least 30 days before a Stable tool is removed, at least 14 days before a breaking change to a Stable tool's arguments, and none for Preview tools, which can change at any time.

For AI agents: this page is also available as Markdown at https://queuecallback.com/docs/mcp/changelog.md. The whole MCP documentation in one file: https://queuecallback.com/docs/llms-full.txt

How to read the changelog

  • Each entry is dated in UTC. The date is the day the change reached the hosted Queue CallBack MCP server at https://mcp.queuecallback.com/mcp.
  • Entries are grouped under Added, Changed, Deprecated, Removed and Fixed. An entry shows only the groups it needs. The launch entry also has Not available at launch, for what was built but not switched on.
  • Only changes a client can see are listed: tools, arguments, results, scopes, error codes, limits, the server instructions and the way the server answers requests. Changes inside the service that clients cannot see are not listed.
  • Entries are dated, not numbered. The server also reports a build identifier. It is not a compatibility signal: it stays the same when Queue CallBack switches a feature on or off or changes the Queue CallBack API behind the server, and it can change when nothing visible to clients changed. This page is the record of changes.

Changes

2026-11-06: IVR call reports for organization admins, and the RingCentral connection

Changed

  • The five IVR report tools (get_ivr_summary, list_ivr_calls, get_ivr_call, get_flow_decisions and list_ivr_flow_stats) are now for organization admins of organizations with the Custom IVR add-on, or of organizations that keep IVR reporting for a time after the add-on lapsed. For every other credential they are not listed, and a call to one by name is refused with ivr_reporting_not_enabled before anything is read. reports:read still opens the callback reports (get_live_stats, get_callback_summary, list_callbacks and get_callback_journey) to every role. See IVR call reports.
  • The User role no longer holds ivr:read, so a User's sign-in lists no IVR flow tool. An API key whose creating admin becomes a User loses ivr:read as well. Keys and sign-ins of organization admins are unchanged. See Roles.
  • The edge in front of the server answers its per-address request limit as a JSON-RPC error, like the server's own HTTP-level answers: HTTP 429, error.data.code rate_limited and Retry-After: 1. Before, it answered an HTML page without Retry-After. See HTTP errors.

Added

  • The ivr_reporting_enabled field in the get_me result. It says whether this credential can read the IVR call reports. See get_me.
  • The tool error ivr_reporting_not_enabled.
  • The ringcentral_connection field on each list_queues item and in the get_queue result: connected, needs_reconnect or not_connected. It is the organization's RingCentral connection, which all of its queues share, and it is left out when it cannot be read. See list_queues and get_queue.
  • A code on every add_callback refusal: invalid_request, invalid_callback_number, callback_number_outside_country, queue_not_found, queue_not_running, queue_without_extension, callback_already_waiting (with details.callback_id), manual_callback_limit_reached and callback_queue_unavailable. manual_callback_limit_reached also carries Retry-After and retry_after_seconds when the server can tell when a callback can be added again. See Callbacks and reporting.
  • The tool error invalid_timezone, for a get_live_stats time zone that is not an IANA time zone name.

Fixed

  • get_live_stats counts today from local midnight to the next local midnight in tz. Before, today started at midnight UTC of the local date, so in America/New_York the evening's callbacks were missing, and east of UTC part of yesterday was counted. todayStart, todayEnd and localTime now carry the zone's offset. An unknown time zone is refused with invalid_timezone instead of failing, and an organization with no callbacks yet gets zeros instead of an error. See get_live_stats.
  • list_callback_queue with status active and no time_range lists every open callback, however long ago it was created. Before, it read only the last 24 hours. total and totalPages now count the same window as the list. See list_callback_queue.

2026-11-06: queue voice and language changes, the Queue CallBack name and clearer answers

Added

  • set_queue_voice and set_queue_language are available on the hosted server. They were in the catalog from the launch but switched off. Both work in two calls with a confirm token, ask the user on every call, and reach the queue's next call. See set_queue_voice and set_queue_language.
  • The tz argument of get_live_stats, the name the other reporting tools use. See get_live_stats.
  • confirm_token_spent and next_step in the error object. A call that fails after its confirm token was used says so, where the new token comes from and, for requeue_callback, which idempotency_key to send. See The error object and Confirm tokens are spent on use.
  • A title and a one-line description for each edit_flow_draft operation (Preview).

Changed

  • The server's title, the resource_name of the discovery document and every text the server sends now read "Queue CallBack": the instructions, the tool descriptions, the error messages and the HTTP error bodies.
  • The server instructions were rewritten. They now say what Queue CallBack is, to call get_me first, which changes need the user's agreement and a confirm token, that reports count days in America/New_York unless tz is passed, and that the IVR call reports are for organization admins. The tool reference quotes the new text.
  • A call by name to a tool that is not in the credential's tool list is refused as a tool result with isError: true and a code that says why (insufficient_scope, custom_ivr_not_enabled, writes_disabled, queue_writes_disabled or queue_settings_disabled), before anything is sent. Before, it was a JSON-RPC protocol error for an unknown tool. A name that is not a tool of the server at all is still a protocol error.
  • Clearer error texts, with the same codes:
    • invalid_handle says how to check whether the operation already ran, by the kind of handle, and that a handle lasts 24 hours;
    • confirm_refused for a token that was already used says an earlier call may have made the change;
    • insufficient_scope names every cause: the key lacks the scope, the organization or the role withholds it, or the connection is a sign-in, which is read-only;
    • the HTTP 401 text names every state that answers 401, a suspended key and an ended sign-in included;
    • writes_disabled, queue_writes_disabled and queue_settings_disabled say to make the change in the portal for now.
  • The descriptions of get_me, get_organization, list_queues, get_queue and list_callback_queue were rewritten. get_node_type and edit_flow_draft (Preview) point to list_node_types instead of listing the node types.
  • create_flow_draft (Preview) is marked idempotent (idempotentHint: true): a repeated call returns the draft the first call started, with created false.

Deprecated

  • The timezone argument of get_live_stats. Use tz. timezone is still accepted, and when both are sent they must name the same zone. No removal date is set: a removal will be announced on this page at least 14 days ahead.

Removed

  • rc_app_client_id, rc_server_url, token_expiry and token_status, from each list_queues item and from the get_queue result. The token fields did not say whether a queue is connected to RingCentral. registration_status, last_registration and registration_error stay, and the organization's RingCentral connection is now ringcentral_connection (see the entry above).
  • status_url, from the answers of requeue_callback and get_requeue_status and from requeue refusals, and upgrade_url, from the custom_ivr_not_enabled refusal. Follow a requeue with its handle and get_requeue_status; request_id stays.

2026-11-05: sign-in from Claude and ChatGPT

Added

  • OAuth sign-in for Claude (claude.ai, Claude Desktop, the Claude mobile apps and Cowork) and ChatGPT. These clients can now connect to the Queue CallBack MCP server by signing in with a Queue CallBack account, without an API key. Queue CallBack supports sign-in from these two clients only; every other client connects with an API key as before. See Sign in from Claude and Sign in from ChatGPT.
  • A signed-in connection acts as the person who signed in, in that person's own organization, limited by that person's role. It gets at most the five read scopes ivr:read, reports:read, callbacks:read, queues:read and org:read, whatever the client asks for. Caller data stays masked, and no tool that changes something, publishes a flow or places a call is listed: those still need an API key. See OAuth sign-in.
  • For a signed-in connection, get_me reports actor_type oauth, the signed-in person's user_id, and api_key null. See Check the connection.

Changed

  • The discovery document at https://mcp.queuecallback.com/.well-known/oauth-protected-resource/mcp now names the authorization server in authorization_servers.
  • The WWW-Authenticate header of a 401 answer now ends with scope="ivr:read reports:read callbacks:read queues:read org:read": the scopes a sign-in asks for.
  • Three answers can now occur, for signed-in connections only: HTTP 403 insufficient_scope before any tool runs, 403 no_organization and 503 authorization_server_unavailable. See HTTP errors.

2026-10-31: queue settings and the Custom IVR requirement

A few hours after the launch, on the same day:

Added

  • The update_queue_settings tool (Stable). It changes a queue's callback settings: callback_timeout_minutes (1 to 1440), auto_requeue, max_requeue_attempts (1 to 10) and manual_callback (the portal's Manual Callback Only flag, which is stored and shown in the portal and does not change how callbacks are dialed). Only the settings you give change, and the queue keeps running. The tool needs the queues:write scope, works in two calls with a confirm token, and carries the hint that makes Claude Code ask the user on every call. Its result lists each changed setting with the old and new value. Reference: update_queue_settings.
  • With update_queue_settings, the catalog grew from 36 to 37 tools: 25 read-only and 12 that change something. Seven tools now carry the hint that makes Claude Code ask the user on every call. See Approval prompts.
  • A rate limit for queue settings changes, counted apart from voice and language changes. Both kinds answer queue_write_limited when the organization exceeds them. See Limits.
  • The tool error queue_settings_disabled, for queue settings changes while Queue CallBack has them switched off on the server. See Tool errors.
  • The custom_ivr_enabled field in the get_me result. It says whether the organization has the Custom IVR add-on. See get_me.
  • The tool error custom_ivr_not_enabled. It is returned when a request reaches an IVR flow tool for an organization without the Custom IVR add-on. Normally those tools are not listed for such an organization. The message says the IVR flow tools are not available, that the queue, callback and reporting tools still work, and that Queue CallBack can add the Custom IVR add-on to the organization. See Tool errors.

Changed

  • The IVR flow tools now need the Custom IVR add-on, the read-only ones included. Before, only ivr:write and ivr:publish needed it, so an organization without the add-on could still read its flows and the node types with ivr:read. Now all three IVR scopes take effect only for an organization that has the add-on. Without it, the 14 IVR flow tools are not listed and get_me shows custom_ivr_enabled: false. The queue, callback and reporting tools were not affected by this change. A key keeps the IVR scopes it was given, and they take effect again once the organization has the add-on. See Scopes.

  • The server instructions that every client receives gained one sentence:

    The IVR flow tools (flows, node types, drafts, validation, publishing) exist only for organizations with the Custom IVR add-on: elsewhere they are not listed and get_me shows custom_ivr_enabled false, while the queue, callback and reporting tools work as usual.

  • The descriptions of get_me, list_flows and list_node_types now name the Custom IVR add-on. The description of list_queues names update_queue_settings among the tools that take a queue id.

  • The queues:write scope now also covers a queue's callback timeout and requeue settings. The portal's description of the scope names these settings too.

2026-10-31: launch

The Queue CallBack MCP server launched.

Added

  • The endpoint https://mcp.queuecallback.com/mcp. It uses Streamable HTTP in stateless mode. A POST that carries a request gets one JSON response, and a POST that carries only notifications gets 202 with no body. It supports the MCP revisions 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05 on the same URL.

  • Authentication with API keys, sent as Authorization: Bearer qcb_sk_.... Organization admins create keys in the portal under Settings, API keys. Each key acts in exactly one organization, the one it was created in. See Create an API key.

  • Twelve scopes: ivr:read, ivr:write, ivr:publish, reports:read, pii:read, callbacks:read, callbacks:write, callbacks:dial, queues:read, queues:write, org:read and org:write. See Scopes.

  • 36 tools: 25 read-only and 11 that change something. They cover the connection (get_me), the organization, queues, the callback queue, callback and IVR reporting, and the IVR flow tools (Preview). Six tools that place calls or change what callers hear carried the hint that makes Claude Code ask the user on every call: add_callback, publish_flow, requeue_callback, restore_flow_version, set_queue_language and set_queue_voice.

  • The safety mechanisms:

    • A publish runs only with the confirm token that validate_flow returned for the same draft.
    • requeue_callback, restore_flow_version, set_queue_voice and set_queue_language work in two calls with a confirm token.
    • IVR edits go to a draft first. Callers keep hearing the published version until publish_flow runs, or until restore_flow_version brings back an earlier version with target live.
    • add_callback and requeue_callback take idempotency keys.
    • Long operations return handles, which get_requeue_status and get_publish_status follow.
    • Caller data is masked unless the key holds an effective pii:read.

    See Confirm tokens and Caller data.

  • Server instructions sent to every client: one organization per credential, read before you change, the confirm tokens and caller-data masking. The tool reference quotes the current text.

  • The discovery document at https://mcp.queuecallback.com/.well-known/oauth-protected-resource/mcp and the health check at https://mcp.queuecallback.com/healthz.

Not available at launch

  • set_queue_voice and set_queue_language were in the catalog but switched off on the hosted server, so no key saw them. Both became available on 2026-11-06 (see that entry above), behind the two-call confirm token: set_queue_voice, set_queue_language.
  • OAuth sign-in was built but not switched on. Clients that can only sign in with OAuth could not connect. Sign-in for Claude and ChatGPT became available on 2026-11-05 (see that entry above).

Status labels

Every tool and every page of the Queue CallBack MCP documentation carries one of two status labels: Stable or Preview. The label is not part of the server's tool list. The tool reference marks the IVR flow tools as Preview in their group heading and in each tool's availability row. Every other tool is Stable. Each page's Markdown also carries its label in the status field at the top.

Label Applies to What it promises What it does not promise
Stable Every tool except the IVR flow tools Names, arguments, documented result fields, scopes and error codes change only under the change and deprecation policy, with notice before a tool is removed or broken. Every change is logged on this page. That every key sees the tool. The tool list depends on the key's scopes, the organization's add-ons and settings, and server switches.
Preview The IVR flow tools (currently 14), and the IVR node types they return The tools work, and the full safety model applies to them: drafts, validation, confirm tokens and approval prompts. Every change is logged on this page. Stable tool names, arguments, node types, node fields or validation messages. Any of these can change, and a Preview tool can be removed, at any time and without notice.

Which tools are Preview

The Preview tools are the IVR flow tools. They are available only to organization admins of organizations with the Custom IVR add-on (a User's sign-in has no ivr:read). Today there are 14:

list_flows, get_flow, list_flow_versions, diff_flow, list_flow_variables, list_node_types, get_node_type, create_flow_draft, edit_flow_draft, validate_flow, publish_flow, discard_draft, restore_flow_version, get_publish_status.

Queue CallBack is redesigning the IVR flow builder, so the node types, their fields and the validation messages will change. An agent should discover node types at runtime with list_node_types and get_node_type and never hard-code them. See Node types and Edit a flow safely.

The IVR report tools (get_ivr_summary, list_ivr_calls, get_ivr_call, get_flow_decisions and list_ivr_flow_stats) are Stable. They are for organization admins of organizations with the Custom IVR add-on (IVR call reports). Their results name IVR node kinds and steps, and those follow the Preview node types, so new kinds can appear in them.

When a Preview tool becomes Stable, this page logs it in a dated entry. The Stable promises apply from that date.

Change and deprecation policy

This policy covers the hosted Queue CallBack MCP server at https://mcp.queuecallback.com/mcp:

  • at least 30 days' notice before a Stable tool is removed;
  • at least 14 days' notice before a breaking change to a Stable tool's arguments;
  • no notice for Preview tools (the IVR flow tools), which can change at any time;
  • every change, with or without notice, gets a dated entry on this page.

Breaking changes

A breaking change to a Stable tool is one that can make a working client fail or misread a result:

  • removing or renaming the tool;
  • removing an argument, making an optional argument required, narrowing the values an argument accepts, or changing its type or meaning;
  • removing or renaming a documented result field, or changing its type or meaning;
  • removing an error code, or changing what it means;
  • requiring a further scope for the tool;
  • dropping support for an MCP protocol revision.

Notice before a breaking change

Change Notice
Removing or renaming a Stable tool At least 30 days
Requiring a further scope for a Stable tool At least 30 days
Dropping support for an MCP protocol revision At least 30 days
Any other breaking change to a Stable tool's arguments, documented results or error codes At least 14 days
Any change to a Preview tool None. Every change is logged on this page

Changes that need no notice

These changes can happen at any time. Each one is logged on this page.

  • Additions. New tools, new optional arguments, new fields in results, new error codes, and new values in fields that report a state or a kind. Write clients to ignore fields they do not know. Branch on the error code (structuredContent.error.code in a tool result, error.data.code in an HTTP-level answer), not on the message text.
  • Wording. Clearer tool descriptions, server instructions and error messages. Message text is written for people and models, and it is not a contract.
  • Limits. The limits are defaults that Queue CallBack can tune. Follow Retry-After and retry_after_seconds instead of hard-coding numbers. See Limits and Retries.
  • Safety. A change needed to protect callers, caller data or the service can take effect at once, even for a Stable tool.

How a deprecation is announced

  1. A dated entry on this page, under Deprecated, names the tool, argument or field, what to use instead, and the earliest date of the change.
  2. From the same day, the tool reference marks the tool or argument as deprecated.
  3. The tool's description in tools/list starts with "Deprecated:" and names the replacement, so an agent sees the notice when it lists the tools.
  4. On or after the announced date, a dated entry under Removed or Changed records the change.

Switched-off tools and missing tools

Queue CallBack can switch changes off on the hosted server for every organization, for example to protect callers during an incident. While changes are off, clients see only the read-only tools, and the tools that change something cannot be called. Queue voice and language changes, and queue settings changes, each have a further switch of their own. Switching changes off is not a deprecation: the tools come back unchanged when they are switched on again. When a tool that was switched off becomes available on the hosted server, this page logs it.

A tool can also be missing for a reason that is not a server change:

Reason What to check
The key lacks a scope the tool needs The key's scopes in the portal, or scopes in the get_me result. See Scopes
The organization does not have the Custom IVR add-on custom_ivr_enabled in the get_me result
The credential cannot read the IVR call reports (affects the five IVR report tools) ivr_reporting_enabled in the get_me result. See IVR call reports
A User's sign-in (affects the IVR flow tools: the User role holds no ivr:read) role and scopes in the get_me result
The organization does not edit its IVR flows through drafts (affects create_flow_draft, edit_flow_draft, discard_draft, publish_flow and restore_flow_version) ivr:write or ivr:publish is missing from scopes in the get_me result although the key holds it. See Scopes
Caller-data unmasking is off for the organization (add_callback is listed only for keys whose pii:read takes effect) pii_allowed in the get_me result. See Caller data
The organization's API access is off Every request is refused with 403 mcp_disabled

How to notice changes

The Queue CallBack MCP server does not push change notifications. It runs in stateless mode with no server-to-client stream, and it does not send notifications/tools/list_changed. A client sees a change the next time it asks. These sources show what changed:

Source What it shows When to check
tools/list The tools this key can call now, with their descriptions, arguments and annotations. It is the source of truth for one key. At the start of each session. Most clients list the tools when they connect, so reconnect the server or restart the client to pick up a change. The server lets clients cache the list for up to 60 seconds.
Server instructions The rules every client receives when it connects. Rarely changes. Each change is logged on this page.
Tool reference Every tool the server can serve, with its status label, scopes, arguments and limits. It is generated from the server's tool registry, so it can list tools your key does not see. Before you build on a tool, and after a new entry on this page.
This page, and its Markdown twin https://queuecallback.com/docs/mcp/changelog.md Dated changes, newest first, and every deprecation with its date. Regularly. An agent can fetch the Markdown and compare the newest date with the last one it saw.
get_me The key's organization, role, effective scopes, pii_allowed, custom_ivr_enabled and ivr_reporting_enabled. When an expected tool is missing, to tell a key or organization difference from a server change. See Check the connection.

A call to a tool that is not in the key's list is refused as a tool result with a code that says why, such as insufficient_scope, custom_ivr_not_enabled, ivr_reporting_not_enabled or writes_disabled. Only a name that is not a tool of the server at all is a JSON-RPC protocol error. In either case, list the tools again and call get_me before retrying.