← MCP Security Catalog

VoidMob MCP 1.1.5

npm · @voidmob/mcp · latest release

Verified with no proven findings
Security result
28
Observed tools
Version rating
Change risk

Independent inventory

Observed 2026-08-27T21:35:20.689Z using mcpSecurity-inventory. Protocol 2025-06-18.

ToolCategoryRisk
cancel_rentalCancel a rental. For verifications (ver_xxx) the API may refund if no message arrived. For long-term rentals (ren_xxx) cancellation is typically non-refundable - check the response.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "rental_id": {
      "type": "string"
    }
  },
  "required": [
    "rental_id"
  ]
}
create_proxy_listCreate a new geo-targeted proxy list on a shared proxy. Provide either a single country (with optional region/city/isp/zip subfilters) or a countries array (2-30, mutually exclusive with the subfilters). To edit an existing list, delete it and create a new one.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "proxy_id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "country": {
      "description": "ISO-3166-1 alpha-2, lowercased. Mutually exclusive with countries.",
      "type": "string"
    },
    "countries": {
      "description": "2-30 ISO-3166-1 alpha-2 codes. Mutually exclusive with country/subfilters.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "region": {
      "description": "Only valid with a single country.",
      "type": "string"
    },
    "city": {
      "description": "Only valid with a single country.",
      "type": "string"
    },
    "isp": {
      "description": "Only valid with a single country.",
      "type": "string"
    },
    "zip": {
      "description": "Only valid with a single country.",
      "type": "string"
    },
    "rotation_period_seconds": {
      "default": 0,
      "description": "0=per-request, -1=sticky, N=seconds (max 86400)",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "rotation_mode": {
      "default": "instant",
      "type": "string",
      "enum": [
        "instant",
        "delayed_5s",
        "no_rotation_on_fail"
      ]
    },
    "format": {
      "default": "login_pass_host_port",
      "description": "Output format for entries[] (e.g. login_pass_host_port, http_url, socks5_url)",
      "type": "string"
    }
  },
  "required": [
    "proxy_id",
    "name"
  ]
}
delete_proxy_listDelete a proxy list. The list's credentials stop working immediately.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "proxy_id": {
      "type": "string"
    },
    "list_id": {
      "type": "string"
    }
  },
  "required": [
    "proxy_id",
    "list_id"
  ]
}
get_accountGet the authenticated account: id, USD wallet balance, and per-endpoint-group rate limits. Use this before money-touching tool calls to confirm sufficient funds.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
get_dedicated_numberRead a dedicated number's status and received SMS messages (parsed codes included). Messages keep arriving for the life of the number; poll this tool after directing an SMS at it.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "number_id": {
      "type": "string",
      "description": "ded_xxx from purchase_dedicated_number or list_orders"
    }
  },
  "required": [
    "number_id"
  ]
}
get_esim_qrFetch the activation QR code for an eSIM as an image. Most MCP clients render the image inline so the user can scan it directly.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "esim_id": {
      "type": "string"
    }
  },
  "required": [
    "esim_id"
  ]
}
get_esim_statusRead an eSIM's current status, plan info, and data usage. Combines GET /v1/esims/:id + /usage in one parallel call.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "esim_id": {
      "type": "string"
    }
  },
  "required": [
    "esim_id"
  ]
}
get_geoCascading geo discovery for proxy list targeting. No params -> countries; country=US -> regions; country=US&region=California -> cities; +city=Los%20Angeles -> ISPs.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "country": {
      "description": "ISO 3166-1 alpha-2 (e.g., US)",
      "type": "string"
    },
    "region": {
      "type": "string"
    },
    "city": {
      "type": "string"
    }
  }
}
get_proxy_statusRead a proxy's status, usage, and gateway credentials in one call.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "proxy_id": {
      "type": "string"
    }
  },
  "required": [
    "proxy_id"
  ]
}
get_rentalRead a rental's current status and any messages received. Pass the ID you got from rent_number (ver_xxx for verifications, ren_xxx for long-term rentals). SMS codes typically arrive 10-60s after rent_number; poll this tool until status changes.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "rental_id": {
      "type": "string",
      "description": "ver_xxx or ren_xxx"
    }
  },
  "required": [
    "rental_id"
  ]
}
list_ordersList the user's active and past orders across SMS rentals, dedicated numbers, eSIMs, and proxies. Note: ephemeral verifications (20-min single-SMS) are NOT listable - the rental id you got from rent_number is your handle to them.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "kind": {
      "description": "Filter by kind",
      "type": "string",
      "enum": [
        "sms",
        "esim",
        "proxy",
        "dedicated"
      ]
    },
    "limit": {
      "default": 20,
      "type": "number",
      "minimum": 1,
      "maximum": 100
    }
  }
}
list_proxy_listsList proxy lists for a shared proxy (geo-targeted sub-pools that share the proxy's bandwidth).
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "proxy_id": {
      "type": "string"
    }
  },
  "required": [
    "proxy_id"
  ]
}
purchase_dedicated_numberBuy a dedicated monthly number in a country from search_dedicated_countries. Quote-then-commit: the tool fetches your live price and ties max_price_cents to it so you never pay above the quote. Returns a ded_xxx id - poll get_dedicated_number to read incoming SMS.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "description": "Country code or name from search_dedicated_countries (e.g. 'us', 'uk', 'germany')"
    },
    "auto_renew": {
      "default": false,
      "description": "Auto-charge at the end of each monthly period",
      "type": "boolean"
    }
  },
  "required": [
    "country"
  ]
}
purchase_esimPurchase an eSIM plan. Quote-then-commit: the tool fetches the live price and ties max_price_cents to it so you never pay above what you saw.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "plan_id": {
      "type": "string",
      "description": "prod_xxx from search_esim_plans"
    }
  },
  "required": [
    "plan_id"
  ]
}
purchase_proxyPurchase a proxy plan. Returns 202 Accepted with status=provisioning; the gateway becomes active in 1-2 minutes. Poll get_proxy_status until status='active'.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "plan_id": {
      "type": "string"
    }
  },
  "required": [
    "plan_id"
  ]
}
re_rent_rentalRe-rent the same number for another period at the current price. Only works on an expired rental whose re_rent_available is true (the provider has not yet released the number). Re-uses the rental's original duration; no duration argument.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "rental_id": {
      "type": "string",
      "description": "ren_xxx from an expired LTR with re_rent_available=true"
    }
  },
  "required": [
    "rental_id"
  ]
}
regenerate_proxy_passwordRotate the main proxy gateway password. Returns the new credentials.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "proxy_id": {
      "type": "string"
    }
  },
  "required": [
    "proxy_id"
  ]
}
renew_proxyExtend a proxy's expiry by purchasing another period. Quote-then-commit.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "proxy_id": {
      "type": "string"
    }
  },
  "required": [
    "proxy_id"
  ]
}
rent_numberRent a US non-VoIP phone number. kind='verification' (single SMS, 20min); kind='rental' (timed LTR with duration). For a private all-services monthly number, use purchase_dedicated_number instead. Quote-then-commit: the tool fetches the live price and ties max_price_cents to the quote so you never pay above what you saw.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "service_id": {
      "type": "string",
      "description": "svc_xxx from search_sms_services"
    },
    "kind": {
      "default": "verification",
      "type": "string",
      "enum": [
        "verification",
        "rental"
      ]
    },
    "duration": {
      "description": "Required when kind='rental'",
      "type": "string",
      "enum": [
        "3d",
        "7d",
        "14d",
        "30d"
      ]
    }
  },
  "required": [
    "service_id"
  ]
}
reuse_numberReuse a completed/expired verification to receive another SMS. Free reuse is available when allow_reuse is true on the verification. Paid reuse ($0.50) is available when allow_paid_reuse is true.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "rental_id": {
      "type": "string",
      "description": "ver_xxx from a verification"
    },
    "paid": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "rental_id"
  ]
}
rotate_proxy_ipRotate a dedicated proxy to a new IP. Shared proxies rotate per-request through their lists - use create_proxy_list / list_proxy_lists instead.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "proxy_id": {
      "type": "string"
    }
  },
  "required": [
    "proxy_id"
  ]
}
search_dedicated_countriesList countries where dedicated numbers are offered, with your monthly price and stock status. A dedicated number is a private number that receives SMS for ALL services, renews monthly, and stays yours until you stop renewing.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
search_esim_plansSearch global eSIM data plans. Each result includes the full plan shape (countries, region, data limit, validity, routing location, 5G/hotspot/calls/SMS/topup features) so a separate plan-details tool is unnecessary.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "country": {
      "description": "ISO-3166 country code (e.g. 'JP')",
      "type": "string"
    },
    "min_data_gb": {
      "type": "number"
    },
    "min_days": {
      "type": "number"
    },
    "has_5g": {
      "type": "boolean"
    },
    "has_hotspot": {
      "type": "boolean"
    },
    "query": {
      "description": "Substring search on plan title",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "type": "number",
      "minimum": 1,
      "maximum": 50
    },
    "cursor": {
      "type": "string"
    }
  }
}
search_proxiesSearch available mobile proxy plans (shared rotating mobile IPs, billed by data). Each result includes the plan id, location, data allowance, duration, and price. Region/city/ISP targeting is configured per list after purchase via create_proxy_list.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "country": {
      "description": "ISO-3166-1 alpha-2 (e.g. 'US'). Many plans are worldwide and match any country.",
      "type": "string"
    },
    "min_data_gb": {
      "description": "Minimum included data allowance in GB",
      "type": "number"
    }
  }
}
search_sms_servicesSearch available US non-VoIP SMS services with prices per row. Returns each service's verification price plus LTR tiers when offered.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "query": {
      "description": "Substring filter on service name (e.g. 'telegram').",
      "type": "string"
    }
  }
}
toggle_auto_renewTurn auto-renewal on/off for a long-term rental (ren_xxx) or a dedicated number (ded_xxx).
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "rental_id": {
      "type": "string",
      "description": "ren_xxx or ded_xxx"
    },
    "auto_renew": {
      "type": "boolean"
    }
  },
  "required": [
    "rental_id",
    "auto_renew"
  ]
}
topup_esimBrowse top-up products (omit topup_product_id) or purchase a specific top-up (supply topup_product_id) for an active eSIM.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "esim_id": {
      "type": "string"
    },
    "topup_product_id": {
      "type": "string"
    }
  },
  "required": [
    "esim_id"
  ]
}
topup_proxyAdd more data to a shared proxy plan. Quote-then-commit: derives per-GB price from the proxy's original plan and ties max_price_cents to (per_gb * additional_gb).
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "proxy_id": {
      "type": "string"
    },
    "additional_gb": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "proxy_id",
    "additional_gb"
  ]
}

Resources 0

Resource templates 0

Prompts 0

Changes from previous version

No completed comparison is available.

RiskChangeSubject
No material changes recorded.

Confirmed vulnerabilities

SeverityFindingAdvisory
No confirmed vulnerability is published for this version.

Provenance

Artifact SHA-256: 2eca313ceafac444df3b448c9c1851e675b00f3fc3a87fb69ef2076e985d86c9

Scanner: mcp-proof-engine 0.1.0.

Let’s talk about MCP security.

Share your details and our security team will contact you.