PacketExchange

MCP serverCommunication

SMS, voice calls, OTP verification, phone numbers and wholesale voice routes by Minutes Network.

Then ask your AI: use the wmmn list routes tool from PacketExchange

Details

Available today. Use it as a step in a pipeline you build, or from your connected AI.

Add it as a step in a pipeline you build on Ahel, or connect Ahel to Claude, ChatGPT, Cursor, Claude Code or Codex and ask your AI to use it.

Install PacketExchange

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user packetexchange 'https://packetexchange.io/mcp/http'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://packetexchange.io/mcp/http

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=packetexchange&config=eyJ1cmwiOiJodHRwczovL3BhY2tldGV4Y2hhbmdlLmlvL21jcC9odHRwIn0=

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://packetexchange.io/mcp/http

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add packetexchange --url 'https://packetexchange.io/mcp/http'

    Run it once, then sign in with codex mcp login packetexchange if the server asks for an account.

From the project's README

As published by packetexchangeio/packetexchange-mcp in README.md.

PacketExchange runs a hosted Model Context Protocol server. Once your client is connected, an agent can search the marketplace, compare routes, run a phone verification, send an SMS, place a call and follow it, and check the account balance, by calling tools by name.

This repository holds the documentation and ready-to-use client configurations. There is nothing to build or host: the server runs at PacketExchange.

Server

Endpointhttps://packetexchange.io/mcp/http
TransportStreamable HTTP, stateless (every request stands alone, with no session to keep)
Legacy endpointhttps://packetexchange.io/mcp/sse, for clients that only speak the older HTTP+SSE transport
Tools33: 15 marketplace and account tools, 18 Switch tools
AuthenticationAuthorization: Bearer <API key> header, set in your client configuration. The three public tools work without it.

Install

Pick your client and copy its configuration:

ClientGuideConfiguration
Claude Codedocs/setup/claude-code.mdconfigs/claude-code.json
Claude Desktopdocs/setup/claude-desktop.mdconfigs/claude-desktop.json
Cursordocs/setup/cursor.mdconfigs/cursor.json
VS Codedocs/setup/vscode.mdconfigs/vscode.json
Codexdocs/setup/codex.mdconfigs/codex.toml
Any other MCP clientdocs/setup/other-clients.mdconfigs/generic-stdio.json

Clients that connect to remote servers directly need only the URL and the header. For example, a client that reads an mcpServers file with environment variable expansion:

{
  "mcpServers": {
    "packetexchange": {
      "type": "http",
      "url": "https://packetexchange.io/mcp/http",
      "headers": {
        "Authorization": "Bearer ${PACKETEXCHANGE_API_KEY}"
      }
    }
  }
}

Clients that can only start local commands reach the server through the mcp-remote bridge, which needs a current Node.js LTS release.

Quick start

With the server connected, try a public tool. These need no key and cost nothing:

  • "What are the five cheapest voice routes to Kenya on PacketExchange? Include the seller-stated ASR."
  • "Give me a summary of the PacketExchange marketplace right now."

More in docs/example-prompts.md.

Tools

GroupTools
Discover (public, free)wmmn_list_routes, wmmn_route_details, wmmn_market_summary
Routewmmn_resolve_route, wmmn_purchase_route, wmmn_list_purchases
Send (billed)wmmn_send_sms, wmmn_make_call, wmmn_get_call (free)
Verifywmmn_send_voice_otp, wmmn_verify_start, wmmn_verify_check
Accountwmmn_get_balance, wmmn_list_transactions, wmmn_topup_x402
Switch (Switch plan)18 switch_* tools for routing, customers, suppliers, rates, invoicing and fraud settings

wmmn_make_call places the call asynchronously and can speak text, play audio and collect keypad digits once the call is answered. It waits a short time for the result; if the call is still running, wmmn_get_call reads its status, cost and gathered digits later.

The full reference, with parameters, required scopes and cost notes, is in docs/tools.md.

Authentication

Using account tools needs a PacketExchange account with prepaid credit: sign up at packetexchange.io, add credit, and create an API key in the dashboard under API keys.

  • The key is sent as an Authorization: Bearer <key> header, configured once in your MCP client. It is the only way the server accepts a key: no tool takes a key as an argument, so the key never passes through the model or into the conversation.
  • The public tools (wmmn_list_routes, wmmn_route_details, wmmn_market_summary) work without a key. Any other tool called on a connection without one returns an error asking you to add the header.
  • Use a dedicated key with only the scopes the agent needs. Read docs/security.md before using account tools.

Costs

Tools that spend money say so in their descriptions, so the agent knows before it calls them. Calls and messages are billed from your prepaid balance at the route price plus the platform fee (2% of the route rate, capped at $0.001 per call or message). See pricing for details.

Good to know

  • ASR and ACD figures on listings are stated by the seller, not measured by PacketExchange.
  • wmmn_send_sms returns the send-time outcome (accepted, sent or failed). The delivery outcome, when the route returns a carrier receipt, is available from the REST API (GET /comms/sms/{messageId}) and the sms.delivered and sms.failed webhooks.
  • Voice passcodes and spoken call actions can use English, Spanish, French, German, Portuguese and Hindi.
  • Test keys (wmmn_test_sk_...) simulate calls and messages against test credit. They can read Switch data but cannot change it, and cannot make x402 top-ups: those requests are refused with TEST_KEY_NOT_ALLOWED.
  • Use PacketExchange for transactional messages and calls to people who expect them, such as verification codes, alerts and appointment reminders.

Links

License

The documentation and configurations in this repository are released under the MIT License.

Tools it offers (33)

What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • wmmn_list_routes
  • wmmn_route_details
  • wmmn_market_summary
  • wmmn_resolve_route
  • wmmn_purchase_route
  • wmmn_list_purchases
  • wmmn_send_sms
  • wmmn_make_call
  • wmmn_get_call
  • wmmn_send_voice_otp
  • wmmn_verify_start
  • wmmn_verify_check
  • wmmn_get_balance
  • wmmn_list_transactions
  • wmmn_topup_x402
  • switch_preview_routing
  • switch_analytics_overview
  • switch_analytics_breakdown
  • switch_list_customers
  • switch_create_customer
  • switch_list_suppliers
  • switch_create_supplier
  • switch_set_route_plan_entries
  • switch_assign_customer_routing
  • switch_bulk_upsert_supplier_rates
  • switch_bulk_upsert_sell_rates
  • switch_create_invoice
  • switch_list_invoices
  • switch_ar_aging
  • switch_create_payable

Signals

Last commit
Oct 2026
Advanced
Delivery
PacketExchange MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-packetexchange-mcp
Source
github.com/packetexchangeio/packetexchange-mcp
Hosted endpoint
https://packetexchange.io/mcp/http