Patch MCP
REMOTE · WWW.PATCHMCP.COM
AI phone calls from your verified number, with answers, transcripts and recordings.
Available components
Last scanned (2 hours ago)
Scores higher than 84% of remote servers
Unreachable for 1 day in a row. Last reached 4 Nov 2026.
Category Communication
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security11
- TLS not yet verified: we couldn't open a connection to check the certificate. View diagnostics → Unverified
- Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS not yet verified: we couldn't read the response headers to check for it. View diagnostics → Unverified
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability0
- Transport check failed: declared streamable-http, but we couldn't connect to verify it. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
- Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 5 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- Endpoint reachability: reachable → unreachable ▼ security
- Stability: fail → unverified ▼ security
- HSTS header: fail → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Authorization: pass → unverified ▼ security
- TLS certificate: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list. functional
- 4 Nov 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “list_voices” rewrote its description, which is the text the model reads security
- Tool “place_call” rewrote its description, which is the text the model reads security
- Tool “update_account” rewrote its description, which is the text the model reads security
- 3 Nov 26 +1
- A breaking change shipped without a version bump: still 0.4.0 ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “search_phone_numbers” rewrote its description, which is the text the model reads security
- Tool “update_phone_number” rewrote its description, which is the text the model reads security
- “search_phone_numbers” added a required parameter “reuse_only”, so existing callers break ▼ functional
- “place_call” reworded the description of “timezone” cosmetic
- “place_call” made “timezone” optional cosmetic
- “search_phone_numbers” made “area_code” optional cosmetic
- 2 Nov 26 −1
- Tool “discard_agent_draft” was removed ▼ security
- Tool “get_onboarding” was removed ▼ security
- Tool “get_phone_number_settings” was removed ▼ security
- Tool “list_calls” was removed ▼ security
- Tool “list_numbers” was removed ▼ security
- Tool “publish_agent” was removed ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- New tool “set_agent_connectors”, which the server declares destructive security
- Tool “add_common_connector” rewrote its description, which is the text the model reads security
- Tool “connect_connector” rewrote its description, which is the text the model reads security
- Tool “create_billing_portal” rewrote its description, which is the text the model reads security
- Tool “create_connector” rewrote its description, which is the text the model reads security
- Tool “execute_subscription_change” rewrote its description, which is the text the model reads security
- Tool “get_account” rewrote its description, which is the text the model reads security
- Tool “get_agent” rewrote its description, which is the text the model reads security
- Tool “get_connector_tools” rewrote its description, which is the text the model reads security
- Tool “get_phone_number” rewrote its description, which is the text the model reads security
- Tool “get_voice_preview” rewrote its description, which is the text the model reads security
- Tool “list_activity” rewrote its description, which is the text the model reads security
- Tool “list_connectors” rewrote its description, which is the text the model reads security
- Tool “list_phone_numbers” rewrote its description, which is the text the model reads security
- Tool “place_call” rewrote its description, which is the text the model reads security
- Tool “preview_subscription_change” rewrote its description, which is the text the model reads security
- Tool “remove_connector” rewrote its description, which is the text the model reads security
- Tool “reset_agent” rewrote its description, which is the text the model reads security
- Tool “resume_operation” rewrote its description, which is the text the model reads security
- Tool “set_default_phone_number” rewrote its description, which is the text the model reads security
- Tool “set_onboarding” rewrote its description, which is the text the model reads security
- Tool “start_agent_test” rewrote its description, which is the text the model reads security
- Tool “update_account” rewrote its description, which is the text the model reads security
- Tool “update_agent” rewrote its description, which is the text the model reads security
- Tool “add_common_connector” no longer declares itself destructive security
- Tool “connect_connector” no longer declares itself destructive security
- Tool “create_billing_portal” no longer declares itself destructive security
- Tool “create_connector” no longer declares itself destructive security
- Tool “set_onboarding” no longer declares itself destructive security
- Tool “start_agent_test” no longer declares itself destructive security
- Schema quality: pass → fail ▼ functional
- “execute_subscription_change” added a required parameter “user_authorized”, so existing callers break ▼ functional
- “get_voice_preview” added a required parameter “provider_voice_id”, so existing callers break ▼ functional
- “list_activity” added a required parameter “kind”, so existing callers break ▼ functional
- “create_connector” dropped the required parameter “headerName” ▼ functional
- “get_voice_preview” dropped the required parameter “voice_id” ▼ functional
- “reset_agent” dropped the required parameter “apply” ▼ functional
- “update_agent” dropped the required parameter “apply” ▼ functional
- “update_agent” dropped the required parameter “changes” ▼ functional
- “update_agent” dropped the required parameter “direction” ▼ functional
- “update_agent” dropped the required parameter “number_id” ▼ functional
- “update_agent” dropped the required parameter “revision” ▼ functional
- Schema quality: fair → good functional
- Server version: 0.3.0 → 0.4.0 functional
- “get_phone_number” added an optional parameter “number_id” cosmetic
- “place_call” added an optional parameter “number_id” cosmetic
- “create_connector” dropped the optional parameter “assignments” cosmetic
- “create_connector” dropped the optional parameter “clientId” cosmetic
- “create_connector” dropped the optional parameter “clientSecret” cosmetic
- “create_connector” dropped the optional parameter “issuer” cosmetic
- “create_connector” dropped the optional parameter “token” cosmetic
- “place_call” dropped the optional parameter “source_number_id” cosmetic
- “remove_connector” dropped the optional parameter “assignments” cosmetic
- 31 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- 30 Oct 26 −1
- The server rewrote its instructions, which are the text every model session reads security
- New tool “add_common_connector”, which the server declares destructive security
- New tool “claim_phone_number”, which the server declares destructive security
- New tool “connect_connector”, which the server declares destructive security
- New tool “create_billing_portal”, which the server declares destructive security
- New tool “create_connector”, which the server declares destructive security
- New tool “create_voice”, which the server declares destructive security
- New tool “create_voice_upload”, which the server declares destructive security
- New tool “delete_voice”, which the server declares destructive security
- New tool “discard_agent_draft”, which the server declares destructive security
- New tool “execute_subscription_change”, which the server declares destructive security
- New tool “get_forwarding_carrier”, which the server declares destructive security
- New tool “publish_agent”, which the server declares destructive security
- New tool “remove_connector”, which the server declares destructive security
- New tool “rename_voice”, which the server declares destructive security
- New tool “reset_agent”, which the server declares destructive security
- New tool “resume_operation”, which the server declares destructive security
- New tool “revoke_authorized_app”, which the server declares destructive security
- New tool “set_default_phone_number”, which the server declares destructive security
- New tool “set_onboarding”, which the server declares destructive security
- New tool “start_agent_test”, which the server declares destructive security
- New tool “stop_agent_test”, which the server declares destructive security
- New tool “update_account”, which the server declares destructive security
- New tool “update_agent”, which the server declares destructive security
- New tool “update_billing_profile”, which the server declares destructive security
- New tool “update_phone_number”, which the server declares destructive security
- New tool “verify_voice”, which the server declares destructive security
- Tool “get_call” rewrote its description, which is the text the model reads security
- Tool “place_call” rewrote its description, which is the text the model reads security
- Tool coverage: 100% → 15% ▼ functional
- Tool coverage: 86% → 100% ▲ functional
- Schema quality: fail → pass ▲ functional
- Tool “list_phone_numbers” now declares an output schema ▲ functional
- Schema quality: excellent → fair functional
- Destructive annotations: pass → 100 functional
- Server version: 0.2.0 → 0.3.0 functional
- New tool “get_account” functional
- New tool “get_agent” functional
- New tool “get_agent_test” functional
- New tool “get_agent_test_listener” functional
- New tool “get_billing” functional
- New tool “get_call_diagnostics” functional
- New tool “get_call_listener” functional
- New tool “get_capabilities” functional
- New tool “get_connector_tools” functional
- New tool “get_forwarding_instructions” functional
- New tool “get_number_claim” functional
- New tool “get_onboarding” functional
- New tool “get_operation” functional
- New tool “get_phone_number_settings” functional
- New tool “get_voice_preview” functional
- New tool “list_activity” functional
- New tool “list_agents” functional
- New tool “list_authorized_apps” functional
- New tool “list_connectors” functional
- New tool “list_numbers” functional
- New tool “list_test_scenarios” functional
- New tool “list_voices” functional
- New tool “preview_subscription_change” functional
- New tool “search_phone_numbers” functional
- “place_call” added an optional parameter “request_id” cosmetic
- 29 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “end_call” rewrote its description, which is the text the model reads security
- Tool “get_call” rewrote its description, which is the text the model reads security
- Tool “get_phone_number” rewrote its description, which is the text the model reads security
- Tool “place_call” rewrote its description, which is the text the model reads security
- “place_call” reworded the description of “locale” cosmetic
- “place_call” reworded the description of “user_name” cosmetic
- 28 Oct 26 −3
- Stability: 0.47 → fail ▼ security
- A breaking change shipped without a version bump: still 0.2.0 ▼ security
- Tool “estimate_call” was removed ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_call” rewrote its description, which is the text the model reads security
- Tool “get_phone_number” rewrote its description, which is the text the model reads security
- Tool “place_call” rewrote its description, which is the text the model reads security
- Tool coverage: 100% → 86% ▼ functional
- “place_call” added a required parameter “timezone”, so existing callers break ▼ functional
- New tool “list_phone_numbers” functional
- “place_call” added an optional parameter “source_number_id” cosmetic
- “place_call” reworded the description of “locale” cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://www.patchmcp.com/mcp
TLS unreached
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of www.patchmcp.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| patchmcp.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Inconclusive
We could not reach the endpoint well enough to judge its authorisation posture.
| Result | Inconclusive |
|---|
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://www.patchmcp.com/mcp | Unreachable | ||
| http (plaintext) | http://www.patchmcp.com/mcp | HTTPS enforced |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_common_connector ~78
Create 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.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | yes | – |
| request_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
claim_phone_number ~50
Acquire an offered number using your plan allowance. Reuse request_id after an interrupted response.
| Name | Type | Req | Description |
|---|---|---|---|
| label | string | yes | – |
| offer_id | string | yes | – |
| request_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
connect_connector ~79
Contact 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.
| Name | Type | Req | Description |
|---|---|---|---|
| connector_id | string | yes | – |
| request_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
create_billing_portal ~85
Create 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.
| Name | Type | Req | Description |
|---|---|---|---|
| request_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
create_connector ~131
Save 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.
| Name | Type | Req | Description |
|---|---|---|---|
| authType | string | yes | – |
| name | string | yes | – |
| request_id | string | yes | – |
| transport | string | yes | – |
| url | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
create_voice ~62
Clone an uploaded sample of the user’s own voice. consent must represent the user’s explicit permission; never infer consent.
| Name | Type | Req | Description |
|---|---|---|---|
| consent | string | yes | – |
| label | string | yes | – |
| request_id | string | yes | – |
| upload_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
create_voice_upload ~55
Create an expiring audio upload URL. PUT the file bytes there, then call create_voice with the upload_id and the user’s own-voice consent.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | yes | – |
| request_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
delete_voice ~43
Delete your voice clone and its provider samples. A voice in an active call cannot be deleted.
| Name | Type | Req | Description |
|---|---|---|---|
| request_id | string | yes | – |
| voice_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
end_call ~82
End 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.
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | yes | The id returned by place_call. |
Structured output declared, but exposes no named fields.
No examples provided.
execute_subscription_change ~145
Apply 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.
| Name | Type | Req | Description |
|---|---|---|---|
| quote_id | string | yes | – |
| request_id | string | yes | – |
| user_authorized | boolean | yes | The user explicitly approved this quote's charges and terms. Never infer approval from a request to preview. |
Structured output declared, but exposes no named fields.
No examples provided.
get_account ~39
Read your profile, caller verification, revision, account defaults, setup progress and notices. Use update_account for profile changes and set_onboarding for setup state.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
get_agent ~58
Read 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.
| Name | Type | Req | Description |
|---|---|---|---|
| direction | string | yes | – |
| number_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_agent_test ~31
Read a synthetic test’s status, transcript, result and transcript expiry.
| Name | Type | Req | Description |
|---|---|---|---|
| test_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_agent_test_listener ~40
Get a short-lived, subscribe-only LiveKit credential for listening to your running synthetic test from a compatible client.
| Name | Type | Req | Description |
|---|---|---|---|
| test_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_billing ~46
Read plans, usage, subscription state, payment-method summary and invoices. Reconciles subscription state with Stripe; use invoice_cursor for older invoices.
| Name | Type | Req | Description |
|---|---|---|---|
| invoice_cursor | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_call ~432
Get 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.
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | yes | The id returned by place_call. |
| wait_seconds | integer | – | 0 (default) = instant status check. Up to 50 = server-side long-poll. |
Structured output declared, but exposes no named fields.
No examples provided.
get_call_diagnostics ~50
Read private diagnostic events for an owned call. Public call visibility never grants access to diagnostics.
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | yes | – |
| cursor | string | yes | – |
| limit | integer | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_call_listener ~38
Get a short-lived, subscribe-only LiveKit credential for listening to your active call from a compatible client.
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_capabilities ~28
Start here to discover Patch actions, granted permissions, feature prerequisites and the next tools to call.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
get_connector_tools ~61
Read 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.
| Name | Type | Req | Description |
|---|---|---|---|
| connector_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_forwarding_carrier ~32
Suggest forwarding instructions for the verified personal number during inbound onboarding. Carrier lookups are cached for a day.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
get_forwarding_instructions ~62
Get 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.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | yes | – |
| number_id | string | yes | – |
| provider | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_number_claim ~25
Read provisioning progress for a number claim.
| Name | Type | Req | Description |
|---|---|---|---|
| claim_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_operation ~39
Recover a request’s durable outcome. A running/needs_attention operation must not be retried under a new ID.
| Name | Type | Req | Description |
|---|---|---|---|
| operation_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_phone_number ~72
Read 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.
| Name | Type | Req | Description |
|---|---|---|---|
| number_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_voice_preview ~60
Get a short-lived playable URL using provider_voice_id from list_voices, or Claudia's provider ID. Use the provider identity here; clone management uses voice_id. Built-in catalog voices already include sample URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| provider_voice_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_activity ~90
Read 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.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| kind | string | yes | – |
| limit | integer | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_agents ~20
Find the identifiers and revisions of your inbound and outbound agents.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
list_authorized_apps ~29
List applications authorized to access this account. These are distinct from external tools used by voice agents.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
list_connectors ~59
Read 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.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
list_phone_numbers ~66
List 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.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
list_test_scenarios ~31
List synthetic test scenarios and available responder outcomes. Tests use fictional data and never invoke connected external tools.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
list_voices ~51
List voices for the current account mode. Change mode with update_account. Beta offers Phonic stock voices only; assign their ID using phonicVoice in update_agent. Standard uses voice and supports entitled custom voices.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
place_call ~1,140
Place 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…
| Name | Type | Req | Description |
|---|---|---|---|
| callee_name | string | – | Who is being called, e.g. "Zuni Café". Improves the conversation and the logs. |
| context | string | – | Extra facts the agent may reveal if asked (e.g. party preferences, callback number policy). |
| locale | string | – | Language the voice agent should use for the entire call. Choose one of the advertised BCP 47 tags for the active speech provider. The objective and context may be written in another language. Default… |
| number_id | string | – | Account phone assignment ID from list_phone_numbers; omit to use the account default. |
| objective | string | yes | What the call should achieve, with all needed specifics and acceptable fallbacks. E.g. "Book a table for 2 tonight at 19:30 under 'Iddo'. Acceptable window 19:00–20:30." |
| request_id | string | – | Optional retry key. Reuse the same UUID and arguments after a lost response to avoid a second call. |
| timezone | string | – | Optional callee local IANA timezone, for example America/Chicago or Europe/London. Supply it when known from reliable context. If omitted, Patch uses phone-prefix timezone metadata when it identifies… |
| to | string | yes | Destination phone number in E.164, e.g. +14155551234. Supported: Central America, Europe, North America, and South America (Telnyx regions; Caribbean excluded). Destination country codes: BZ, CR, SV,… |
| user_name | string | – | The user name supplied to the voice agent for the call, e.g. "Sam" or "Sam at Acme". The default introduction uses the saved name when explaining who the call is for; a custom introduction follows th… |
Structured output declared, but exposes no named fields.
No examples provided.
preview_subscription_change ~121
Create 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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| plan | string | – | – |
| promotion_code | string | – | – |
| trial | boolean | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
remove_connector ~70
Delete 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.
| Name | Type | Req | Description |
|---|---|---|---|
| connector_id | string | yes | – |
| request_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
rename_voice ~30
Rename one of your voice clones.
| Name | Type | Req | Description |
|---|---|---|---|
| label | string | yes | – |
| voice_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
reset_agent ~55
Reset user-configurable agent settings to defaults for future calls. Removes active external connection assignments and requires connector permission when assignments exist.
| Name | Type | Req | Description |
|---|---|---|---|
| direction | string | yes | – |
| number_id | string | yes | – |
| revision | integer | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
resume_operation ~93
Recover an interrupted number claim, voice clone or subscription attempt owned by this account and the original authorization grant. Requires that operation's original permissions. May reconcile number provisioning, find the exact existing provider voice, 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.
| Name | Type | Req | Description |
|---|---|---|---|
| operation_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
revoke_authorized_app ~33
Disconnect an authorized application. Revoking the current application ends this MCP connection.
| Name | Type | Req | Description |
|---|---|---|---|
| client_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
search_phone_numbers ~97
Find 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.
| Name | Type | Req | Description |
|---|---|---|---|
| area_code | string | – | – |
| country | string | yes | – |
| reuse_only | boolean | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
set_agent_connectors ~106
Replace 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.
| Name | Type | Req | Description |
|---|---|---|---|
| connector_ids | array | yes | – |
| direction | string | yes | – |
| number_id | string | yes | – |
| revision | integer | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
set_call_visibility ~135
Make 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.
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | yes | The id of a call owned by this account. |
| is_public | boolean | yes | true publishes the call; false makes it private again. |
Structured output declared, but exposes no named fields.
No examples provided.
set_default_phone_number ~39
Choose the default outbound number using workspace_revision from get_phone_number.
| Name | Type | Req | Description |
|---|---|---|---|
| number_id | string | yes | – |
| workspace_revision | integer | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
set_onboarding ~63
Save 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.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | – | – |
| status | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
start_agent_test ~145
Run 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.
| Name | Type | Req | Description |
|---|---|---|---|
| custom_scenario | object | – | – |
| direction | string | yes | – |
| number_id | string | yes | – |
| request_id | string | yes | – |
| responder_outcome | string | – | An outcome ID from list_test_scenarios, or custom fictional facts for the responder. Omit to use the first outcome. |
| revision | integer | yes | – |
| scenario | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
stop_agent_test ~27
Stop your synthetic test and retain its captured result.
| Name | Type | Req | Description |
|---|---|---|---|
| test_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
update_account ~62
Update supplied profile, account-wide mode (standard or beta), language and voice defaults using the revision from get_account. Language and voice defaults require configuration permission. Internal system prompts are not exposed through MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| changes | object | yes | – |
| revision | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
update_agent ~68
Apply 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.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
update_billing_profile ~44
Update the Stripe customer’s billing name, email or address. Payment credentials are never accepted here.
| Name | Type | Req | Description |
|---|---|---|---|
| changes | object | yes | – |
| request_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
How do I install the Patch MCP server?
Patch MCP is a hosted endpoint at https://www.patchmcp.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · www.patchmcp.com
claude mcp add --transport http com-patchmcp-patch 'https://www.patchmcp.com/mcp'
What is the Patch MCP server?
Patch MCP is listed in the public MCP registry as com.patchmcp/patch. AI phone calls from your verified number, with answers, transcripts and recordings. This page covers its hosted endpoint (https://www.patchmcp.com/mcp).
Is the Patch MCP server safe to use?
Patch MCP scores 81 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Patch MCP server expose?
Patch MCP exposes 52 tools: get_capabilities, place_call, get_call, set_call_visibility, end_call, and 47 more. Their descriptions and schemas cost roughly 4,722 tokens of context every time the server is loaded.
Does the Patch MCP server require authentication?
Its publisher declares no required credentials for Patch MCP. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.
Is the Patch MCP server still maintained?
Patch MCP is still listed in the MCP registry, though our most recent checks did not reach this channel. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.