Patch MCP

com.patchmcpPublished by patchmcp.comOfficial publisherv0.2.0Updated Oct 24, 2026

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

VerifiedStreamable HTTPWeb executableProductivity & WorkflowCommunication & Collaboration

Overview

AI-generated overview

Places real outbound phone calls from your own verified number via a voice agent, then returns status, transcripts and structured results.

What you can do
  • Estimate a call's route availability, one-minute usage and remaining allowance before dialing
  • Place an outbound call from your verified number to a stated objective, handled by a real-time voice agent
  • Check a call's status and structured resolution, optionally waiting briefly for changes
  • List recent calls with statuses and outcomes, paging through older history
  • End an in-progress call early and set a call public or private
  • Read the account's own phone number in E.164 format and its caller ID verification status
When to use it
Useful when an assistant should actually make a phone call on the user's behalf — booking a table, asking a question, chasing an order — and report back what was said. Also handy for reviewing past calls or stopping one that is no longer needed.
Requirements
A remote streamable HTTP endpoint; no package or local runtime. Requires an authenticated account with a verified phone number used as caller ID. Calls involving any non-US/Canadian number require a paid plan, and usage is metered against an allowance.
Before you install
The server places real, billable phone calls and consumes a metered allowance; check the estimate first. Calls are private by default, but making one public exposes its objective, phone numbers, transcript, result and audio to anyone holding the listen link, including live audio, so publish only on explicit request. Ending a call still leaves a partial transcript and result.

Installation

In SourceWeft

  1. Open Patch MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.patchmcp%2Fpatch/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

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

Tools

7

estimate_call

Estimate call

Check route availability, estimated one-minute usage, and remaining allowance before dialing. Calls in Central America, Europe, North America, and South America. Calls involving any non-US/Canadian number require a paid plan. Uses the verified caller ID and destination to price the route. Uses cached routing data or dialed prefixes without a paid lookup. Does not place a call, send a code, or reserve plan usage. Estimates expire and are rechecked before dialing.

Parameterstorequired

place_call

Place call

Place the call FROM the authenticated user's own verified phone number 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. Users can customize the introduction and conversation style under Account → Call agent instructions; saved instructions apply to new calls, with the objective, context and other call details added by the server. The first spoken turn to a human must still include the recording disclosure in the resolved call language (English: "This call is being recorded.") after the introduction and before the first business question or request. 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; use estimate_call to check available minutes. 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 fair use; one call runs at a time per account and volume is governed by the plan — rejections return a machine-readable `error` code with retry guidance, so relay the message to the user rather than retrying blindly. The voice agent receives the name of the person the call is for: if the account has no name on file the call is rejected with `user_name_req

Parameterstorequiredlocalecontextobjectiverequireduser_namecallee_name

get_call

Get call

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, 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, summary, commitments[], follow_ups[], key_facts[]} — read it before the transcript; it is the answer. 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). 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 recording is still being prepared by the carrier (typically ready 15–90s after the call ends) — call get_call again, or pass wait_seconds on an already-terminal call to wait for the recording_url.

Parameterscall_idrequiredwait_seconds

list_calls

List calls

List the authenticated user's recent calls, newest first, with statuses and outcomes. Useful to recover a lost call_id or review call history. Pass the returned next_cursor as cursor to fetch the next page of older calls. next_cursor is null when no older calls remain. Omit cursor to start at the newest calls. limit defaults to 20 (1–100) on every request.

Parameterslimitcursor

set_call_visibility

Set call visibility

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.

Parameterscall_idrequiredis_publicrequired

end_call

End call

End an in-progress call early. The voice agent wraps up politely ("I'll let you go, thanks!") and hangs up; the call is force-terminated if wrap-up takes more than ~10 seconds. Use when the user changes their mind or the call is no longer needed. The partial transcript and resolution are still produced.

Parameterscall_idrequired

get_phone_number

Get connected phone number

Get the phone number connected to the authenticated user's account in E.164 format, along with its caller_id_status (verified or unverified). This is the user's own number used as outbound caller ID, not the service's SMS sending number. Takes no arguments and does not place a call or send a text.

Takes no parameters.

Version history

1
  1. v0.2.0LatestOct 11, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.