Read-only phone intelligence for AI voice agents — line type, risk, DNC, signed receipts.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
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.
Return a labeled, low-confidence risk read for an inbound caller: a spam signal (0–100, higher = riskier), verstat passthrough, and a first-party do-not-contact (DNC) signal — without a name dip. A supplementary input to the agent's own policy, never a verdict on whether to accept or reject the call. Supply the call's STIR/SHAKEN verstat to fold it into the signal — a failed validation raises the risk.
Phone number in E.164, e.g. +14155552671 (loose input is normalized).
Optional STIR/SHAKEN verstat for THIS call — TN-Validation-Passed / -Failed / No-TN-Validation, or a full Identity / P-Asserted-Identity header value. When supplied it folds into the risk signal (a failed validation raises it).
Return a labeled, low-confidence risk read for an inbound caller: a spam signal (0–100, higher = riskier), verstat passthrough, and a first-party do-not-contact (DNC) signal — without a name dip. A supplementary input to the agent's own policy, never a verdict on whether to accept or reject the call. Supply the call's STIR/SHAKEN verstat to fold it into the signal — a failed validation raises the risk.
| Argument | Type | Description |
|---|---|---|
| number* | string | Phone number in E.164, e.g. +14155552671 (loose input is normalized). |
| verstat | string | Optional STIR/SHAKEN verstat for THIS call — TN-Validation-Passed / -Failed / No-TN-Validation, or a full Identity / P-Asserted-Identity header value. When supplied it folds into the risk signal (a failed validation raises it). |
{
"type": "object",
"required": [
"number"
],
"properties": {
"number": {
"type": "string",
"description": "Phone number in E.164, e.g. +14155552671 (loose input is normalized)."
},
"verstat": {
"type": "string",
"description": "Optional STIR/SHAKEN verstat for THIS call — TN-Validation-Passed / -Failed / No-TN-Validation, or a full Identity / P-Asserted-Identity header value. When supplied it folds into the risk signal (a failed validation raises it)."
}
}
}Return a first-party do-not-contact signal (suppress / no_match / unknown) for a number, sourced ONLY from suppression preferences registered and verified by the number's own owner inside Numbers Online — never a copy of any government or licensed do-not-call registry. "suppress" = the owner asked not to be contacted on this channel; "no_match" = no suppression preference on record (absence of suppress is not consent); "unknown" = the number could not be evaluated. Comes with a signed receipt recording the status "as of T". Advisory input to the agent's own process — it does not assert that a call is lawful.
| Argument | Type | Description |
|---|---|---|
| number* | string | Phone number in E.164, e.g. +14155552671 (loose input is normalized). |
{
"type": "object",
"required": [
"number"
],
"properties": {
"number": {
"type": "string",
"description": "Phone number in E.164, e.g. +14155552671 (loose input is normalized)."
}
}
}Return only the deterministic fields for a number — validity, line type (mobile / fixed line / VoIP / …), range carrier, country, and formatting. No paid dip; a free, fast classification a voice agent can call before deciding to enrich.
| Argument | Type | Description |
|---|---|---|
| number* | string | Phone number in E.164, e.g. +14155552671 (loose input is normalized). |
{
"type": "object",
"required": [
"number"
],
"properties": {
"number": {
"type": "string",
"description": "Phone number in E.164, e.g. +14155552671 (loose input is normalized)."
}
}
}Return a supplementary, low-confidence intelligence bundle for a phone number: validity, formatting, line type, range carrier, country, caller name (CNAM, where available), STIR/SHAKEN verstat (supply the call's verstat to fold it into the spam signal), a labeled spam signal, and a first-party do-not-contact (DNC) signal — a suppression preference registered by the number's own owner, never a copy of any government registry. Advisory only — the agent keeps every routing and dialing decision.
| Argument | Type | Description |
|---|---|---|
| number* | string | Phone number in E.164, e.g. +14155552671 (loose input is normalized). |
| verstat | string | Optional STIR/SHAKEN verstat for THIS call — TN-Validation-Passed / -Failed / No-TN-Validation, or a full Identity / P-Asserted-Identity header value. When supplied it folds into the risk signal (a failed validation raises it). |
| max_cache_age_seconds | integer | Operator TTL control; 0 forces a fresh dip. |
{
"type": "object",
"required": [
"number"
],
"properties": {
"number": {
"type": "string",
"description": "Phone number in E.164, e.g. +14155552671 (loose input is normalized)."
},
"verstat": {
"type": "string",
"description": "Optional STIR/SHAKEN verstat for THIS call — TN-Validation-Passed / -Failed / No-TN-Validation, or a full Identity / P-Asserted-Identity header value. When supplied it folds into the risk signal (a failed validation raises it)."
},
"max_cache_age_seconds": {
"type": "integer",
"minimum": 0,
"description": "Operator TTL control; 0 forces a fresh dip."
}
}
}