Skip to main content

Patch MCP

com.patchmcp/patchVersion 0.2.0

AI phone calls from your verified number, with answers, transcripts and recordings.

Status

Responds246 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:09 UTC
Latency
246 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 21:12 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://www.patchmcp.com/mcpResponds246 ms
No sign-in

Claude Code

claude mcp add --transport http patch https://www.patchmcp.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: patch
Remote MCP server URL: https://www.patchmcp.com/mcp

Cursor

{
  "mcpServers": {
    "patch": {
      "url": "https://www.patchmcp.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"patch","type":"http","url":"https://www.patchmcp.com/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

47 tools

Tools of Patch MCP
Read-only
Idempotent
Open world
add_common_connectorCreate or return a managed Exa web-search connection using this account's existing paid entitlement. New connections are unassigned. Does not subscribe, charge, search, discover tools or change assignments. Next use connect_connector, inspect get_connector_tools and explicitly set_agent_connectors.NoNoNoNo
claim_phone_numberAcquire an offered number using your plan allowance. Reuse request_id after an interrupted response.YesNoNoYes
connect_connectorContact an owned connection to discover or refresh its individual voice-agent tools. May begin third-party OAuth and return authorization_url for the user to approve; never collect verification codes or credentials in chat. Does not invoke external tools or change agent assignments. Inspect get_connector_tools after authorization.NoNoNoYes
create_billing_portalCreate a Stripe-hosted billing portal link for this account's existing Stripe customer. Creating the link does not charge, change or cancel a subscription; the user chooses and confirms any billing changes on Stripe. Returns to Patch's fixed billing page. Reuse request_id after a lost response. Never request or accept card details in chat.NoNoNoYes
create_connectorSave a hosted voice-agent MCP connection requiring no credentials or standard browser OAuth, without contacting it or assigning agents. Never ask for or submit API keys, tokens, client secrets or credential-bearing URLs in chat. For API-key or custom OAuth setup, send the user to setup_url from list_connectors, then use the saved connector_id. Next use connect_connector for browser authorization and discovery, then set_agent_connectors to grant access.NoNoNoNo
end_callEnd an in-progress call early. Patch requests disconnection by deleting the LiveKit room; a spoken farewell is not guaranteed. Check get_call for the resulting status. Use when the user changes their mind or the call is no longer needed. Available transcript snapshots are retained and the resolution is extracted separately.YesNoYesYes
execute_subscription_changeApply the exact, unexpired quote the user explicitly approved after seeing its immediate charges, recurring price, effective time and limits. May charge a saved payment method, change the subscription, cancel renewal or undo a scheduled change. Set user_authorized=true only after that approval; never infer permission to spend. Reuse the same request_id and arguments after a lost response. Return any payment/authentication URL for the user to complete; never collect payment credentials in chat.YesNoNoYes
get_accountRead your profile, caller verification, revision, account defaults, setup progress and notices. Use update_account for profile changes and set_onboarding for setup state.NoYesYesNo
get_agentRead active user-configurable settings and revision. Inbound includes editable greeting/instructions; outbound prompt text and Patch internal system prompts are not exposed. Settings are null until configured.NoYesYesNo
get_agent_testRead a synthetic test’s status, transcript, result and transcript expiry.NoYesYesNo
get_agent_test_listenerGet a short-lived, subscribe-only LiveKit credential for listening to your running synthetic test from a compatible client.NoYesYesNo
get_billingRead plans, usage, subscription state, payment-method summary and invoices. Reconciles subscription state with Stripe; use invoice_cursor for older invoices.NoYesYesYes
get_callGet the status and, once terminal, the structured resolution of a call started with place_call. Returns instantly by default. Pass wait_seconds (max 50) to have the server hold the request and return early on any status change — fewer round trips while a call is in progress. Terminal statuses: completed, answered_silently, no_answer, busy, voicemail, failed, rejected, canceled, declined_recording, opted_out. rejected means safety screening declined the objective before dialing; error.message and resolution.summary explain why. Terminal calls include a `resolution` {outcome: achieved|partially_achieved|not_achieved|no_conversation|unknown, summary, commitments[], follow_ups[], key_facts[]} — read it before the transcript; it is the answer. unknown means the outcome could not be determined; review the transcript. Completed calls also carry the transcript (may be marked transcript_truncated) and a recording_url the user can listen to (private links expire after ~1 hour; on staging, fetch with the same OAuth Authorization: Bearer header). The resolution can lag the terminal status by a few seconds while it is extracted. Calls include the resolved locale, language, voice, and is_public; public calls return token-free listen and recording URLs that remain accessible while public. Use set_call_visibility only when the user explicitly asks to publish or make private. Every call includes a listen_url — the call page for the user (live audio + transcript while in progress; recording + transcript once ended). ended_by='user' on a canceled call means the user deliberately stopped it from that page — don't retry. recording_status=processing means the LiveKit session recording is being finalized and copied to private storage separately from the result. A recording can fail or be unavailable. Call get_call again, or pass wait_seconds on an already-terminal call to wait for a recording state change.NoYesNot declaredNo
get_call_diagnosticsRead private diagnostic events for an owned call. Public call visibility never grants access to diagnostics.NoYesYesNo
get_call_listenerGet a short-lived, subscribe-only LiveKit credential for listening to your active call from a compatible client.NoYesYesNo
get_capabilitiesStart here to discover Patch actions, granted permissions, feature prerequisites and the next tools to call.NoYesYesNo
get_connector_toolsRead the cached individual tool definitions for an owned connection. These functions are exposed separately to the voice agent on calls after set_agent_connectors assigns the connection. This read does not invoke them, refresh discovery or return credentials.NoYesYesNo
get_forwarding_carrierSuggest forwarding instructions for the verified personal number during inbound onboarding. Carrier lookups are cached for a day.YesNoNoYes
get_forwarding_instructionsGet carrier-specific steps for forwarding an existing phone to an owned Patch number. The user or carrier must activate forwarding; Patch cannot activate it remotely.NoYesYesNo
get_number_claimRead provisioning progress for a number claim.NoYesYesNo
get_operationRecover a request’s durable outcome. A running/needs_attention operation must not be retried under a new ID.NoYesYesNo
get_phone_numberRead one owned number by number_id; omit it to inspect the default outbound number. Accepts calls:read or numbers:read. Number-management settings, revision, recovery deadline and workspace_revision require numbers:read. Does not place a call or expose agent instructions or voices.NoYesYesNo
get_voice_previewGet a short-lived playable URL for the Claudia persona's sample, using her provider_voice_id. Catalog voices from list_voices already include sample URLs.NoYesYesNo
list_activityRead owned history newest first. kind=call (default) requires calls:read and returns call statuses, resolution summaries/outcomes and listen links. kind=test requires configuration:read and returns finished synthetic tests. kind=all requires both permissions. Pass next_cursor unchanged with the same kind to fetch older entries.NoYesYesNo
list_agentsFind the identifiers and revisions of your inbound and outbound agents.NoYesYesNo
list_authorized_appsList applications authorized to access this account. These are distinct from external tools used by voice agents.NoYesYesNo
list_connectorsRead this account's saved voice-agent connections, authorization state and common providers. Returns setup_url for entering API keys or custom OAuth credentials on the website. Reads stored metadata only; does not contact providers, discover tools, assign agents or invoke external actions.NoYesYesNo
list_phone_numbersList this account's phone numbers, active direction availability and default_number_id. Use number_id to select a source for place_call. Accepts calls:read or numbers:read; management settings and workspace_revision are included only with numbers:read. Does not expose agent instructions or voices.NoYesYesNo
list_test_scenariosList synthetic test scenarios and available responder outcomes. Tests use fictional data and never invoke connected external tools.NoYesYesNo
list_voicesList voices for the current account mode. Change mode with update_account. Beta offers GPT Live voices: assign their IDs using gptLiveVoice in update_agent. Standard offers Grok voices, the same set in every language: assign one with voice in update_agent, and set its speaking rate with speed (0.7 to 1.5, where 1 is the natural pace).NoYesYesNo
place_callPlace one real phone call FROM the selected outbound number (the authenticated user’s verified personal number by default) to accomplish a specific objective (book a table, ask a question, chase an order). A real-time voice agent handles the call, including automated phone menus and hold queues. Its default opening says who it is calling for and states the call's purpose. Use get_agent and update_agent for number settings and inbound greeting/instructions. Outbound greeting and system instructions are read-only through MCP; use objective and context for call-specific facts. Changes apply directly to new calls. Call facts are added automatically. The recording disclosure belongs in the first spoken turn that advances the objective, whether asking a question, making a request, or giving task-related details. Brief introductory chatter or an acknowledgment of a request to hold may come first. Naturally include “on a recorded line” in the introduction or response, using a natural equivalent in the selected call language. Returns immediately with a call_id and resolved locale, language, and voice; the call proceeds in the background and typically takes 2–5 minutes — poll get_call (pass wait_seconds to long-poll) until the status is terminal. The response includes a listen_url: a private web link where the user can hear the call live, watch the transcript, and stop the call — offer it to the user. Calls in Central America, Europe, North America, and South America, subject to route availability; never for emergencies. Calls involving a non-US/Canadian number require a paid plan from the first call. Rates vary by caller ID and destination; the response includes an estimated provider cost for one minute, including per-call costs. This estimate is not a final charge. Paid usage follows telephone, AI and any lookup costs, including unsuccessful attempts, and can update after the call. Calls can be placed at any time of day, any day of the week, and the user is responsible for YesNoNoYes
preview_subscription_changeCreate a 15-minute quote for starting a subscription, changing its plan, canceling renewal at period end, or undoing cancellation/a scheduled downgrade. Returns immediate charges, monthly list price, effective time and allowances. May read Stripe and save a local quote; does not charge or change a subscription. Show the complete quote to the user and obtain explicit approval before execute_subscription_change. Each preview creates a new quote.NoNoNoYes
remove_connectorDelete an owned connection and its saved credentials. Also revoke that connection from every assigned agent without applying unrelated settings. Requires configuration permission when an agent assignment is removed. Does not invoke external tools or revoke consent at the third-party provider.YesNoNoNo
reset_agentReset user-configurable agent settings to defaults for future calls. Removes active external connection assignments and requires connector permission when assignments exist.YesNoNoNo
resume_operationRecover an interrupted number claim or subscription attempt owned by this account and the original authorization grant. Requires that operation's original permissions. May reconcile number provisioning or retry the persisted subscription request with its original idempotency key. Never creates a replacement request or authorizes new spending. Completed results and definitive failures are returned without repeating provider actions.YesNoNoYes
revoke_authorized_appDisconnect an authorized application. Revoking the current application ends this MCP connection.YesNoNoNo
search_phone_numbersFind included US or Canadian numbers. Plus automatically prefers any unclaimed Patch number in the requested country, then falls back to area-code search. Pro plans use area-code search so the user can choose a number. Plus can use reuse_only without an area code to check its existing inventory. Offers expire; claim the chosen offer.NoYesYesYes
set_agent_connectorsReplace the external connections available to one active voice agent for future calls. Review get_connector_tools and obtain authorization for those capabilities first. Every discovered function is exposed individually to the voice agent; it may invoke those external actions within its call instructions. An empty connector_ids list removes access. Does not invoke tools or change unrelated agent settings.YesNoNoNo
set_call_visibilityMake a call owned by the authenticated user public or private. Calls are private by default. Only publish when the user explicitly asks: a public call exposes its objective, phone numbers, transcript, result and audio to anyone with its permanent, token-free listen_url, including live audio while in progress. Set is_public to false to disable token-free access again; existing private signed links remain valid until they expire. Public visitors cannot stop the call or change visibility.YesNoYesYes
set_default_phone_numberChoose the default outbound number using workspace_revision from get_phone_number.YesNoNoNo
set_onboardingSave only setup progress: choose inbound/outbound intent and mark the checklist checkout, complete or skipped. Checkout records progress only; this tool never opens payment, buys a plan or acquires a number.NoNoYesNo
start_agent_testRun one isolated synthetic conversation against the active agent settings at the supplied revision. Outbound supports preset or custom fictional scenarios; inbound requires custom_scenario. Uses LiveKit test rooms and may consume AI usage. Never dials a phone number, publishes settings or invokes connected external tools.NoNoYesYes
stop_agent_testStop your synthetic test and retain its captured result.YesNoNoNo
update_accountUpdate supplied profile, account-wide mode (standard or beta), language, voice and pronunciation defaults using the revision from get_account. Language and voice defaults require configuration permission. Internal system prompts are not exposed through MCP.YesNoNoNo
update_agentApply supplied settings directly to an agent for future calls using the revision from get_agent. Inbound greeting and instructions are editable. Outbound greeting and system instructions are not exposed or editable through MCP; supply per-call facts in place_call objective and context. Use set_agent_connectors separately for external connections.YesNoNoNo
update_billing_profileUpdate the Stripe customer’s billing name, email or address. Payment credentials are never accepted here.YesNoNoYes
update_phone_numberChange a label, inbound/outbound availability or retention preference using the number revision. Enabling an unpublished direction activates its initial defaults; saved drafts and existing live settings are preserved.YesNoNoNo

Details

Registry status
Active
Published
Oct 11, 2026
Updated
Oct 11, 2026
Repository
Not given
Categories (suggested)
CommunicationSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing