
PacketExchange MCP server
Which servers in the official MCP registry are PacketExchange's own, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.
read 2026-10-22
- Registry nameio.packetexchange/mcpverified in the MCP registry
The registry name sits under packetexchange.io. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.
- Stateanswerschecked 2026-10-22
- Tools33
- Server calls itselfPacketExchange
- Server version2.2.0
- Protocol version2025-06-18
On 2026-10-22 the server answered initialize and tools/list without a sign-in. First answer in 167 ms.
- Its tools do every use case we checked: Compare and buy voice termination routes from competing sellers; Run your own wholesale switch with supplier routes and customers.
- Checked on 3 of the 7 days it takes to judge reliability.
Once connected
- For "Compare and buy voice termination routes from competing sellers", the likely first call is wmmn_list_routes.
- Keep approval on for wmmn_send_sms, wmmn_send_voice_otp: they delete, send or pay without saying so.
- wmmn_send_sms, wmmn_send_voice_otp, switch_create_customer, switch_create_supplier, switch_set_route_plan_entries change data without a sign-in: anyone with the address can call them.
Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.
- INITE MCP scoreafter a weeka score needs 7 daily checks: 3 so far
- What an agent can do with it2 of 2 use cases
- Answeredmeasuring3 of the 7 daily checks it takes to print a share
- Median first answer507 ms
- Space in an agent's context≈ 11,645 tokensthe definitions of all its tools (33), which an agent carries on every turn
- Tool definitionsA · 100 of 100
- Typed results33 of 33 toolsdeclared outputSchema: results come typed, read once
- Every tool passes all six checks.
What an agent can do with it
- can do · Compare and buy voice termination routes from competing sellers
- not sure · List your own rate deck so buyers can purchase routes
- can do · Run your own wholesale switch with supplier routes and customers
Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?
Worth a look
- Tools that delete, send or pay without telling the client so: wmmn_send_sms, wmmn_send_voice_otp
- Tools that change data, on a server that answers without a sign-in: wmmn_send_sms, wmmn_send_voice_otp, switch_create_customer, switch_create_supplier, switch_set_route_plan_entries
A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (30%), doing the product's job (25%), definitions (20%), context (10%) and use (15%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →
wmmn_list_routesRead-only, free, no key needed. Search and filter live voice/SMS termination routes on the PacketExchange marketplace. By default it returns what the website shows: one row per route and mobile network, routes we have PROVEN first…
wmmn_route_detailsRead-only, free, no key needed. Full details for one route — USD pricing, billing increment, seller-declared expected ASR/ACD/PDD, CLI type, capacity, and the first-party Exchange Score plus seller trust profile. originPolicy /…
wmmn_market_summaryRead-only, free. Live marketplace snapshot: total routes, destinations, voice and SMS route counts, market status and as-of time. When the connection carries an API key, the averages are included too (capacity, average and measured ASR…
wmmn_resolve_routeRead-only, free, no call placed. Preview which route Smart Routing would pick for a destination, plus up to 4 ranked alternatives. It ranks every active public marketplace route for that destination together with any private routes you…
wmmn_purchase_routePROVISIONING ACTION (not read-only). Connect a marketplace route to your account. Connecting is free, with no upfront charge, but it provisions live SIP credentials, and any traffic you then send over the route CHARGES your balance per…
wmmn_list_purchasesRead-only. List the routes you have connected (your purchases, newest 50), with status, per-unit USD pricing and your SIP credentials (username + password) for each. Requires a FULL-ACCESS API key (one created with no scope restrictions)…
wmmn_send_smsSPENDS MONEY. Sends a REAL SMS and CHARGES your balance: the route price per segment, plus a platform fee of 2% of the carrier cost, capped at $0.001 per call or message (0.5%, same cap, when the traffic runs over your own SIP trunk; no…
wmmn_make_callSPENDS MONEY. Places a REAL outbound phone call and CHARGES your balance for a connected call: billable minutes (per the route billing increment) at the route price, plus a platform fee of 2% of the carrier cost, capped at $0.001 per call…
wmmn_get_callReturns one call placed with wmmn_make_call (or POST /comms/calls): live status (queued, ringing, answered, then completed, no_answer, busy or failed), timestamps, duration, exact USD cost, the hangup reason in plain words, and the keypad…
wmmn_send_voice_otpSPENDS MONEY. Places a REAL short phone call (capped at 120 seconds) and speaks a one-time passcode digit by digit ("Your {brand} verification code is 4, 8, 2, 9, 1, 3. Again, ..."), repeated (default twice), then hangs up. Billed like…
wmmn_verify_startSPENDS MONEY. Starts a phone-number verification: generates a one-time code, stores only a keyed hash of it, and sends it by SMS or by a voice call that speaks it. Billed exactly like a normal SMS or API call: the route price, plus a…
wmmn_verify_checkFree, no send. Checks a code the user entered against a verification from wmmn_verify_start. Returns status approved | denied | expired | max_attempts and attemptsRemaining. Only "approved" proves the user holds the number. Each wrong…
wmmn_get_balanceRead-only. Current account balance and test credit, in USD, plus their sum for reference. Only the balance pays for live calls and messages; test credit covers test API keys (simulated traffic) only. Requires the account:read scope…
wmmn_list_transactionsRead-only. Recent billing transactions for your account, newest first, amounts in USD (charges are negative, credits/top-ups positive). Types: topup, charge, credit, payout, platform_fee, test_credit. Requires the account:read scope.
wmmn_topup_x402SPENDS MONEY FROM AN ON-CHAIN WALLET. Funds your PacketExchange balance with real USDC on Base over the x402 protocol. Step 1 is safe/read-only: call with just amount_usd to receive the payment requirements (HTTP 402 challenge naming the…
switch_preview_routingRead-only routing preview for a dialed number: resolves the dialplan (matched rule, block verdict, translated number, out-CLI) and returns the ordered supplier failover chain with per-attempt price and prefix match. No side effects: the…
switch_analytics_overviewUnified P&L + quality KPIs (revenue, cost, margin, marginPct, calls, answered, minutes, ASR, ACD, SMS count, avg PDD) across all operator CDR traffic for a date range. The go-to health snapshot. Requires an active Switch subscription (402…
switch_analytics_breakdownTop-100 metric breakdown grouped by customer, supplier, or destination (the first 3 digits of the dialled number). Find the most/least profitable customers, worst-quality suppliers, or costliest destinations. Requires an active Switch…
switch_list_customersList all sell-side customers (sub-accounts) with balance, credit limit, markup, margin floor, spend caps, concurrency, and status. Core inventory read for who is connected. Requires an active Switch subscription (402…
switch_create_customerMUTATES STATE. Create a switch-native customer and mint its first API key (returned ONCE, with sipPassword). Set markupPct, credit limit, margin floor, spend and concurrency caps, CPS, blocked prefixes, tax details and portalEmail…
switch_list_suppliersList all buy-side supplier vendor trunks with SIP egress config, default rate, capacity, CPS, settlement mode, and status. Core inventory read for termination options. Requires an active Switch subscription (402…
switch_create_supplierMUTATES STATE. Create an external supplier vendor trunk (SIP host/port/transport, auth, codecs, default rate, capacity, CPS, settlement mode) and/or its SMS delivery (HTTP URL or SMPP bind). Needs a label plus at least one way to deliver…
switch_set_route_plan_entriesMUTATES STATE. Replace ALL entries of a route group with an ordered supplier list (per-prefix, with failover priority, load-balance weight, and ASR/PDD gates). The primary tool to (re)configure LCR/failover routing. Enforces…
switch_assign_customer_routingMUTATES STATE. Point a customer at its routing: dialplan, route group, failover route group, LCR strategy override (cheapest|best_quality|balanced), or a direct supplier (one marketplace route OR one vendor trunk, not both). Only the…
switch_bulk_upsert_supplier_ratesMUTATES STATE. Bulk upsert a supplier trunk's A-Z COST deck (paste/CSV rows), de-duped last-wins, up to 50000 rows. Price increases may be queued until the supplier's rate-notice period ends instead of applying at once. The efficient way…
switch_bulk_upsert_sell_ratesMUTATES STATE. Bulk upsert the operator's retail SELL deck (A-Z), de-duped last-wins, up to 50000 rows. Fires the sell_rate.changed webhook. The efficient way to load or refresh retail pricing. Requires an active Switch subscription (402…
switch_create_invoiceTwo steps, like a human review. Step 1 (read-only, writes nothing): call WITHOUT review_token to get a preview of the AR invoice for a customer over a period from settled CDR usage (itemized voice + SMS lines, totals, anything unrated)…
switch_list_invoicesList AR invoices with customer/status filters, pagination, and computed overdue flag. Survey receivables. Requires an active Switch subscription (402 SWITCH_SUBSCRIPTION_REQUIRED otherwise) and a full-access API key (scoped keys need…
switch_ar_agingAR aging summary: total outstanding, open count, and current/1-30/31-60/61-90/90+ buckets across open/partial/overdue invoices. Key collections-health read. Requires an active Switch subscription (402 SWITCH_SUBSCRIPTION_REQUIRED…
switch_create_payableMUTATES STATE. Generate an AP payable for a supplier trunk over a period from CDR seller-credit cost. The core settlement action for what the operator owes vendors. Requires an active Switch subscription (402 SWITCH_SUBSCRIPTION_REQUIRED…
switch_run_nettingMUTATES STATE. Run bilateral netting for a counterparty over a period: offsets AR (their invoices) against AP (their payables), returning net amount and direction (settled|receivable|payable). Key settlement automation. Requires an active…
switch_fraud_eventsList the 100 most recent fraud events (newest first) with score, action (flag|block), destination, reasons, and customer label. Monitor and triage abuse. Requires an active Switch subscription (402 SWITCH_SUBSCRIPTION_REQUIRED otherwise)…
switch_update_fraud_settingsMUTATES STATE. Update per-operator fraud screening: enable/disable, block/alert score thresholds (1-100), and high-risk destination prefixes. highRiskPrefixes REPLACES the whole list; an empty list reverts to the platform defaults. Tune…
How to connect
Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:
{
"mcpServers": {
"packetexchange": {
"type": "http",
"url": "https://packetexchange.io/mcp/http"
}
}
}Add it
Claude Code, in a terminal
claude mcp add --transport http packetexchange https://packetexchange.io/mcp/httpclaude.ai, ChatGPT and other clients: add https://packetexchange.io/mcp/http as a custom connector in the settings.
Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.
Cookies
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.