See if a phone number shows Spam Risk or Scam Likely on AT&T, Verizon and T-Mobile real phones.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. Your Spam I Am API key, from the Balance page, as 'Bearer sia_...'. The first check on a number works without one.
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.
Status of an approval request: pending, approved, declined or expired. Once approved, a keyless request returns api_key (shown once): pass it as api_key to the other tools. Set wait_seconds (up to 25) to wait for a decision.
The token from request_approval
Optional API key (sia_...), if your connection has none and you got one from get_approval
Status of an approval request: pending, approved, declined or expired. Once approved, a keyless request returns api_key (shown once): pass it as api_key to the other tools. Set wait_seconds (up to 25) to wait for a decision.
| Argument | Type | Description |
|---|---|---|
| token | string | The token from request_approval |
| api_key | string | Optional API key (sia_...), if your connection has none and you got one from get_approval |
| approval_id* | string | |
| wait_seconds | integer |
{
"type": "object",
"required": [
"approval_id"
],
"properties": {
"token": {
"type": "string",
"description": "The token from request_approval"
},
"api_key": {
"type": "string",
"description": "Optional API key (sia_...), if your connection has none and you got one from get_approval"
},
"approval_id": {
"type": "string"
},
"wait_seconds": {
"type": "integer",
"maximum": 25,
"minimum": 0
}
}
}Needs a key. The account balance, holds, and this key's spending limit.
| Argument | Type | Description |
|---|---|---|
| api_key | string | Optional API key (sia_...), if your connection has none and you got one from get_approval |
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "Optional API key (sia_...), if your connection has none and you got one from get_approval"
}
}
}The check and each carrier's result: status waiting, complete or incomplete; the label shown and caller name; flagged true/false; a screenshot link. Set wait_seconds (up to 25) to wait for results to arrive before answering.
| Argument | Type | Description |
|---|---|---|
| token | string | The token from start_check, for a check started without a key |
| api_key | string | Optional API key (sia_...), if your connection has none and you got one from get_approval |
| check_id* | string | |
| wait_seconds | integer |
{
"type": "object",
"required": [
"check_id"
],
"properties": {
"token": {
"type": "string",
"description": "The token from start_check, for a check started without a key"
},
"api_key": {
"type": "string",
"description": "Optional API key (sia_...), if your connection has none and you got one from get_approval"
},
"check_id": {
"type": "string"
},
"wait_seconds": {
"type": "integer",
"maximum": 25,
"minimum": 0
}
}
}Which carriers are online now, prices in cents, and the dialing window.
No arguments.
{
"type": "object",
"properties": {}
}Get a link (approve_url) for your human to open: they sign in, add funds if needed, set a spending limit and approve. Show them the link, then call get_approval. Use this when a check is refused with free_check_used, insufficient_funds or key_limit.
| Argument | Type | Description |
|---|---|---|
| number | string | US 10-digit phone number, any format, e.g. '2145550100' or '(214) 555-0100' |
| reason | string | Shown to your human, e.g. 'Check our sales line before Monday's campaign' |
| api_key | string | Optional API key (sia_...), if your connection has none and you got one from get_approval |
| amount_cents | integer | How much you're asking for |
{
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "US 10-digit phone number, any format, e.g. '2145550100' or '(214) 555-0100'"
},
"reason": {
"type": "string",
"maxLength": 300,
"description": "Shown to your human, e.g. 'Check our sales line before Monday's campaign'"
},
"api_key": {
"type": "string",
"description": "Optional API key (sia_...), if your connection has none and you got one from get_approval"
},
"amount_cents": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "How much you're asking for"
}
}
}Start a check of what AT&T, Verizon and T-Mobile phones show when a number calls. Returns the test line to call ('dial') for each carrier and a check id (and a token for a keyless check: keep it). The number being checked must then call each test line within the window. The first check on a number is free; later ones need a key with funds.
| Argument | Type | Description |
|---|---|---|
| number* | string | US 10-digit phone number, any format, e.g. '2145550100' or '(214) 555-0100' |
| api_key | string | Optional API key (sia_...), if your connection has none and you got one from get_approval |
| carriers | array | Leave out to check every carrier that's online |
| webhook_url | string | Optional https address to POST the finished result to |
{
"type": "object",
"required": [
"number"
],
"properties": {
"number": {
"type": "string",
"description": "US 10-digit phone number, any format, e.g. '2145550100' or '(214) 555-0100'"
},
"api_key": {
"type": "string",
"description": "Optional API key (sia_...), if your connection has none and you got one from get_approval"
},
"carriers": {
"type": "array",
"items": {
"enum": [
"AT&T",
"Verizon",
"T-Mobile"
],
"type": "string"
},
"description": "Leave out to check every carrier that's online"
},
"webhook_url": {
"type": "string",
"description": "Optional https address to POST the finished result to"
}
}
}