Odel
warp mcp

warp mcp

Local
@ringerTypeScriptMITUpdated 1w ago

SIP trunking, numbers, porting, messaging, billing, and CDR analytics on the Ringer WARP platform

warp-mcp

MCP server for the Ringer WARP platform — SIP trunking, phone numbers, porting, messaging/10DLC, billing, and CDR analytics.

Gives AI agents (Claude, Cursor, Copilot, Codex, ChatGPT) full access to the WARP Customer API: 135 tools covering trunk provisioning, number search and ordering, port-in lifecycle, 10DLC brand/campaign registration, SMS sending, invoices, and call-detail analytics.

Quick Start

# Recommended: global install — the setup wizard runs automatically
npm install -g warp-mcp

# Or run the wizard explicitly / without installing
npx -y warp-mcp setup

The wizard validates your API key, stores it in ~/.warp-mcp/config.json, and registers the server with every MCP client it detects (Claude Code, Claude Desktop, Cursor, Codex, GitHub Copilot, ChatGPT Desktop).

You need a WARP API key (rk_...) — mint one in the WARP portal under Settings → API Keys.

One-command installs

Claude Code

claude mcp add -s user warp -e WARP_API_TOKEN=rk_your_key -- npx -y warp-mcp

Cursorclick to install (then replace YOUR_WARP_API_KEY)

Manual (any MCP client)

{
  "mcpServers": {
    "warp": {
      "command": "npx",
      "args": ["-y", "warp-mcp"],
      "env": { "WARP_API_TOKEN": "rk_your_key" }
    }
  }
}

See INSTALL.md for per-client walkthroughs, troubleshooting, and uninstall steps.

Hosted endpoint

No local install needed — connect straight to https://mcp.warp.ringer.tel/ (Streamable HTTP).

Desktop connectors (claude.ai, ChatGPT): add a custom connector with that URL and sign in with your WARP account when prompted — the hosted endpoint authenticates via OAuth 2.1 and grants your customer-scoped permissions (excluding admin surfaces, Buzz, and API-key management — those stay in the portal).

Developer / CLI clients: authenticate with a bearer rk_ key instead:

claude mcp add --transport http warp https://mcp.warp.ringer.tel/ \
  --header "Authorization: Bearer $WARP_API_KEY"
{
  "mcpServers": {
    "warp": {
      "type": "http",
      "url": "https://mcp.warp.ringer.tel/",
      "headers": { "Authorization": "Bearer rk_your_key_here" }
    }
  }
}

Keys are minted in the WARP portal under Settings → API Keys.

Tools

PrefixGroupToolsWhat it does
trunk_SIP Trunks24Trunk CRUD, SIP credentials, endpoints, IP ACLs, registrations
port_Porting33Port-in requests end to end: draft → validate → submit → activate, documents, TIN compliance
msg_Messaging33Send SMS, message history, 10DLC brands/campaigns, number enrollment, TCR reference data
num_Numbers15Search, order, release DIDs; per-TN voice/SMS config; port-out PINs
team_Team9Members and RBAC roles
bill_Billing5Balance, ledger, invoices (JSON + HTML)
cdr_Analytics5Call detail records, statistics, trends, CSV export
acct_ / net_ / key_Account10Capacity, utilization, scopes, WARP network IPs, API-key audit
warp_statusDiagnostics1Config + connectivity check

The server also ships a warp-guide prompt (and server instructions) with deep WARP domain knowledge — workflows, concepts, and common mistakes.

Environment variables

VariableDefaultPurpose
WARP_API_TOKENAPI key (rk_...). Overrides ~/.warp-mcp/config.json
WARP_API_BASE_URLhttps://api.warp.ringer.telAPI base URL override
WARP_REQUEST_TIMEOUT_MS30000Per-request timeout

Token resolution order: env var → ~/.warp-mcp/config.json → unauthenticated (tools return guidance to run setup).

Development

npm ci --ignore-scripts
npm run build   # tsc → dist/
npm test        # vitest (in-memory MCP transport)
npm run dev     # tsx src/index.ts

Releases are published from CI: npm version patch|minor|major, push with --follow-tags, create a GitHub release — the workflow publishes to npm (OIDC trusted publishing with provenance) and to the MCP Registry (io.github.ringer/warp). Do not run npm publish locally after the initial release.

License

MIT © Ringer