Dial

io.github.GetDial-AIPublished by GitHub account GetDial-AIv1.2.0Updated Oct 24, 2026

Communication stack for AI agents: SMS, AI voice calls, phone numbers, and account events.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowCommunication & Collaboration

Overview

AI-generated overview

Dial is a remote MCP server for a communication stack that lets an assistant provision phone numbers, send SMS, place AI voice calls and react to account events

What you can do
Send and list SMS messages, reply or react to messages, and wait for inbound message events such as verification codes. Place outbound AI voice calls with custom instructions, list recent calls and fetch a call's status, duration and transcript. List and purchase phone numbers and set a number's inbound voice-agent instruction. Report account state and what to do next.
When to use it
Useful when an assistant needs to send or receive text messages, make scripted AI voice calls, or wait for inbound phone events as part of an automated workflow. It is a hosted service, so it suits agents that need real telephony rather than local tooling.
Requirements
A remote endpoint at getdial.ai with OAuth sign-in. Creating an account needs a verified email and a verified phone number; the registered number becomes permanently linked to that account. The README also documents a separate local CLI and stdio server requiring Node.js 22.19+ and a saved API key.
Before you install
Purchasing additional phone numbers spends money, and signup may be paused unless a coupon code is supplied. The assistant can send SMS and place voice calls to real recipients, which costs credit and contacts third parties. Account setup requires a personal email and phone number, and the API key is stored locally by the CLI.

Installation

In SourceWeft

  1. Open Dial in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. 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/io.github.GetDial-AI%2Fdial/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. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "dial": {
      "type": "http",
      "url": "https://getdial.ai/mcp"
    }
  }
}

README

@getdial/cli

[smithery badge]

The official command-line interface for Dial — a communication stack for AI agents. Provision phone numbers, send SMS, place AI voice calls, and react to inbound events, all from your terminal. The CLI wraps the Dial REST API so you never have to write HTTP code.

Installation

Install globally from npm:

bash
npm install -g @getdial/cli

Or use the bootstrap script, which installs the CLI and walks you through sign-up:

bash
curl -fsSL https://getdial.ai/install | bash

Requires Node.js 22.19+.

Quick start

bash
dial auth login [email protected]               # email a 6-digit sign-up codedial auth verify-otp --code 123456            # verify your emaildial auth register-number +14155550123        # text a code to your phonedial auth verify-otp --number --code 654321   # verify your phone — creates the accountdial doctor                                   # check account state and what to do next

Creating an account needs a verified email and a verified phone number. Each step prints the command to run next, so you don't have to memorize the flow.

Signing in to an account you already have needs only the first two steps — you're never asked for a phone number again.

The number you register can receive SMS and becomes permanently linked to that account: a number can register only one Dial account. A Dial number can't be used.

Once the account exists, your API key is saved locally and the CLI uses it automatically. Your first number starts with a default inbound voice-agent prompt — change it with dial number set <number> --inbound-instruction "...".

bash
# Send an SMSdial message --to +14155550123 --body "Hello from Dial"
# Place an AI voice calldial call --to +14155550123 --outbound-instruction "You are a helpful scheduling assistant."
# Wait for an inbound event (e.g. a verification code)dial wait-for message.received --field to=+14155550123

Commands

CommandDescription
dial doctorReport account state and what to do next.
dial auth login <email>Email a 6-digit sign-up code. --coupon <code> signs up past a signup pause and adds the coupon's credit.
dial auth verify-otp --code <code>Verify an email code, or with --number a texted one.
dial auth register-number <phone>Text a code to the phone number that will own the account.
dial number listList the phone numbers on your account.
dial number purchasePurchase an additional phone number.
dial number set <number>Update a number's inbound instruction.
dial messageSend an SMS.
dial message listList recent messages.
dial message replyReply or react to a message.
dial callPlace an outbound AI voice call.
dial call listList recent calls.
dial call get <id>Fetch a single call — status, duration, transcript.
dial wait-for <event>Block until a matching account event arrives.
dial listen installInstall the background event daemon.
dial listen statusReport the daemon's state and recent events.
dial listen uninstallStop and remove the daemon.
dial local-target add url <url>Fan out events to a local HTTP endpoint.
dial local-target add cmd <path>Run an executable once per event.
dial local-target listList registered fan-out targets.
dial local-target remove <id>Unregister a fan-out target.
dial mcpRun a local stdio MCP server exposing every command as an agent tool.

Run dial --help for the full command tree, or dial <command> --help for a specific command's flags. Every command accepts --json for machine-readable output (except dial mcp, which speaks JSON-RPC on stdout).

Configuration

VariableDescription
DIAL_API_URLTarget a non-default Dial deployment.

Your API key is stored at ~/.local/share/dial/auth.json (honoring XDG_DATA_HOME).

Use from an AI agent

The CLI ships with a skill that teaches AI coding agents how to drive dial. Install it into your agent's config during onboarding:

bash
dial auth verify-otp --code 123456 --agent claude-code

Supported agents: claude-code, cursor, codex, opencode, pi, openclaw, nanoclaw, hermes.

Local MCP server

dial mcp runs a local Model Context Protocol server over stdio, exposing every command as an agent tool. Point a local MCP client at dial mcp as the server command — it reuses the API key saved by dial auth verify-otp (no OAuth, no config). It's the local counterpart to the hosted Remote MCP server, with the same operational tools plus the local-only verbs (auth, listen, local-target).

bash
# Claude Code, for exampleclaude mcp add dial -- dial mcp

See the Local MCP docs for client setup.

Documentation

Full documentation lives at docs.getdial.ai — including the CLI reference and the listen service guide.

License

MIT

Source: README.md at commit 9f3a6c7

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v1.2.0LatestSep 16, 2026

Score

75% 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 listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.