Is this number safe to call or text right now? Live carrier, CNAM, spam and SMS checks for agents.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <your VeriRoute Intel API key>. Get one at https://verirouteintel.com/dashboard/api-keys — free sandbox test keys return sample data with no charges.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Free: available balance, connection limits and allowed products.
This tool takes no arguments.
Free: available balance, connection limits and allowed products.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}Live lookup for up to 100 North American phone numbers in one call (carrier, line type, routing; optional cnam/spam/messaging). Each number is a fresh paid read — spend scope required. Live customer keys spend balance. Repeating a call can charge again; reuse a stable request_id with identical arguments for a safe retry. Use max_cost to cap the quote. Use a test key for integration tests.
| Argument | Type | Description |
|---|---|---|
| max_cost | number | Maximum quoted cost in USD; rejected before lookup if exceeded. |
| products | array | Data sets per number. Default ['lrn']. |
| request_id | string | Stable unique ID for this operation. Reuse with identical arguments to retrieve its receipt without another charge. |
| phone_numbers* | array | US/Canada numbers, any common format (max 100) |
{
"type": "object",
"required": [
"phone_numbers"
],
"properties": {
"max_cost": {
"type": "number",
"minimum": 0,
"description": "Maximum quoted cost in USD; rejected before lookup if exceeded."
},
"products": {
"type": "array",
"items": {
"enum": [
"lrn",
"cnam",
"spam",
"messaging"
],
"type": "string"
},
"minItems": 1,
"description": "Data sets per number. Default ['lrn']."
},
"request_id": {
"type": "string",
"description": "Stable unique ID for this operation. Reuse with identical arguments to retrieve its receipt without another charge."
},
"phone_numbers": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"description": "US/Canada numbers, any common format (max 100)"
}
},
"additionalProperties": false
}Status and progress of a VRI bulk lookup job by job id.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | Job id returned by vri_submit_job or the REST Jobs API |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"description": "Job id returned by vri_submit_job or the REST Jobs API"
}
},
"additionalProperties": false
}Free, owner-scoped stored results. Follow next_cursor until null; never re-submit a completed job.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| cursor | string | |
| job_id* | string |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 2048
},
"job_id": {
"type": "string"
}
},
"additionalProperties": false
}Live intelligence for ONE North American phone number: current carrier of record, line type, LRN routing data, porting activation date, and optionally caller-ID name (cnam), spam reputation, and messaging provider. Always a fresh read of live numbering infrastructure — never cached carrier data. Live customer keys spend balance. Repeating a call can charge again; reuse a stable request_id with identical arguments for a safe retry. Use max_cost to cap the quote. Use a test key for integration tests.
| Argument | Type | Description |
|---|---|---|
| max_cost | number | Maximum quoted cost in USD; rejected before lookup if exceeded. |
| products | array | Data sets to include. Default ['lrn'] (carrier/line-type/routing). |
| request_id | string | Stable unique ID for this operation. Reuse with identical arguments to retrieve its receipt without another charge. |
| phone_number* | string | US/Canada number, any common format |
| include_sms_assessment | boolean | Include SMS assessment from this same lookup. Adds LRN/spam if absent; no second lookup. |
{
"type": "object",
"required": [
"phone_number"
],
"properties": {
"max_cost": {
"type": "number",
"minimum": 0,
"description": "Maximum quoted cost in USD; rejected before lookup if exceeded."
},
"products": {
"type": "array",
"items": {
"enum": [
"lrn",
"cnam",
"spam",
"messaging"
],
"type": "string"
},
"minItems": 1,
"description": "Data sets to include. Default ['lrn'] (carrier/line-type/routing)."
},
"request_id": {
"type": "string",
"description": "Stable unique ID for this operation. Reuse with identical arguments to retrieve its receipt without another charge."
},
"phone_number": {
"type": "string",
"description": "US/Canada number, any common format"
},
"include_sms_assessment": {
"type": "boolean",
"description": "Include SMS assessment from this same lookup. Adds LRN/spam if absent; no second lookup."
}
},
"additionalProperties": false
}Free: check an operation after an interrupted call; pending work must not be resubmitted with a new ID.
| Argument | Type | Description |
|---|---|---|
| operation_id* | string |
{
"type": "object",
"required": [
"operation_id"
],
"properties": {
"operation_id": {
"type": "string"
}
},
"additionalProperties": false
}Free estimate using account pricing and deduplicated valid numbers; no lookup.
| Argument | Type | Description |
|---|---|---|
| products | array | |
| phone_numbers* | array | |
| include_sms_assessment | boolean |
{
"type": "object",
"required": [
"phone_numbers"
],
"properties": {
"products": {
"type": "array",
"items": {
"enum": [
"lrn",
"cnam",
"spam",
"messaging"
],
"type": "string"
},
"minItems": 1
},
"phone_numbers": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10000,
"minItems": 1
},
"include_sms_assessment": {
"type": "boolean"
}
},
"additionalProperties": false
}Line-type-based SMS capability and reputation signals for a North American number. Not an actual delivery test or guarantee. Unknown reputation never clears a number to message. Returns sms_capable (live line-type read), VoIP flag, spam reputation, the recipient's approximate local time with an 8am-9pm calling-window flag, and plain-language reasons. Deliverability and reputation signals only — not a legal compliance determination (no DNC/reassigned-number/litigator data). Performs its own LRN and spam lookup; avoid calling after number_lookup for the same data. Live customer keys spend balance. Repeating a call can charge again; reuse a stable request_id with identical arguments for a safe retry. Use max_cost to cap the quote. Use a test key for integration tests.
| Argument | Type | Description |
|---|---|---|
| max_cost | number | Maximum quoted cost in USD; rejected before lookup if exceeded. |
| request_id | string | Stable unique ID for this operation. Reuse with identical arguments to retrieve its receipt without another charge. |
| phone_number* | string | US/Canada number, any common format |
{
"type": "object",
"required": [
"phone_number"
],
"properties": {
"max_cost": {
"type": "number",
"minimum": 0,
"description": "Maximum quoted cost in USD; rejected before lookup if exceeded."
},
"request_id": {
"type": "string",
"description": "Stable unique ID for this operation. Reuse with identical arguments to retrieve its receipt without another charge."
},
"phone_number": {
"type": "string",
"description": "US/Canada number, any common format"
}
},
"additionalProperties": false
}Spam/scam/robocall reputation for one North American phone number, with an explainable `risk` block: the verdict, a confidence band, and the individual reasons behind it (complaint volume and recency, complaint category, community reports, line type, recent porting). Live customer keys spend balance. Repeating a call can charge again; reuse a stable request_id with identical arguments for a safe retry. Use max_cost to cap the quote. Use a test key for integration tests.
| Argument | Type | Description |
|---|---|---|
| max_cost | number | Maximum quoted cost in USD; rejected before lookup if exceeded. |
| request_id | string | Stable unique ID for this operation. Reuse with identical arguments to retrieve its receipt without another charge. |
| phone_number* | string | US/Canada number, any common format |
{
"type": "object",
"required": [
"phone_number"
],
"properties": {
"max_cost": {
"type": "number",
"minimum": 0,
"description": "Maximum quoted cost in USD; rejected before lookup if exceeded."
},
"request_id": {
"type": "string",
"description": "Stable unique ID for this operation. Reuse with identical arguments to retrieve its receipt without another charge."
},
"phone_number": {
"type": "string",
"description": "US/Canada number, any common format"
}
},
"additionalProperties": false
}Submit an ASYNC bulk lookup job for up to 10000 North American phone numbers. Balance is reserved up front and the job runs in the background; check progress with vri_bulk_status. Requires a customer API key (jobs bill the account that owns the key). Live customer keys spend balance. Repeating a call can charge again; reuse a stable request_id with identical arguments for a safe retry. Use max_cost to cap the quote. Use a test key for integration tests.
| Argument | Type | Description |
|---|---|---|
| max_cost | number | Maximum quoted cost in USD; rejected before lookup if exceeded. |
| products | array | Default ['lrn']. |
| request_id | string | Stable unique ID for this operation. Reuse with identical arguments to retrieve its receipt without another charge. |
| phone_numbers* | array | US/Canada numbers to process asynchronously (max 10000) |
{
"type": "object",
"required": [
"phone_numbers"
],
"properties": {
"max_cost": {
"type": "number",
"minimum": 0,
"description": "Maximum quoted cost in USD; rejected before lookup if exceeded."
},
"products": {
"type": "array",
"items": {
"enum": [
"lrn",
"cnam",
"spam",
"messaging"
],
"type": "string"
},
"minItems": 1,
"description": "Default ['lrn']."
},
"request_id": {
"type": "string",
"description": "Stable unique ID for this operation. Reuse with identical arguments to retrieve its receipt without another charge."
},
"phone_numbers": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10000,
"minItems": 1,
"description": "US/Canada numbers to process asynchronously (max 10000)"
}
},
"additionalProperties": false
}