Spam I Am: carrier spam label check
See if a phone number shows Spam Risk or Scam Likely on AT&T, Verizon and T-Mobile real phones.
Should I use this
Quality & Safety
Findings (1)
- LOWin get_coverage
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"spam-i-am": {
"url": "https://ismynumberspam.com/mcp"
}
}
}Remote endpoints
https://ismynumberspam.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢start_check(number, carriers, webhook_url, api_key)
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.
Input Schema
{
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "US 10-digit phone number, any format, e.g. '2145550100' or '(214) 555-0100'"
},
"carriers": {
"type": "array",
"items": {
"type": "string",
"enum": [
"AT&T",
"Verizon",
"T-Mobile"
]
},
"description": "Leave out to check every carrier that's online"
},
"webhook_url": {
"type": "string",
"description": "Optional https address to POST the finished result to"
},
"api_key": {
"type": "string",
"description": "Optional API key (sia_...), if your connection has none and you got one from get_approval"
}
},
"required": [
"number"
]
}🟢get_check(check_id, token, wait_seconds, api_key)
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.
Input Schema
{
"type": "object",
"properties": {
"check_id": {
"type": "string"
},
"token": {
"type": "string",
"description": "The token from start_check, for a check started without a key"
},
"wait_seconds": {
"type": "integer",
"minimum": 0,
"maximum": 25
},
"api_key": {
"type": "string",
"description": "Optional API key (sia_...), if your connection has none and you got one from get_approval"
}
},
"required": [
"check_id"
]
}🟢get_coverage
Which carriers are online now, prices in cents, and the dialing window.
Input Schema
{
"type": "object",
"properties": {}
}🟢get_balance(api_key)
Needs a key. The account balance, holds, and this key's spending limit.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "Optional API key (sia_...), if your connection has none and you got one from get_approval"
}
}
}🟡request_approval(reason, number, amount_cents, api_key)
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.
Input Schema
{
"type": "object",
"properties": {
"reason": {
"type": "string",
"maxLength": 300,
"description": "Shown to your human, e.g. 'Check our sales line before Monday's campaign'"
},
"number": {
"type": "string",
"description": "US 10-digit phone number, any format, e.g. '2145550100' or '(214) 555-0100'"
},
"amount_cents": {
"type": "integer",
"minimum": 1,
"maximum": 100000,
"description": "How much you're asking for"
},
"api_key": {
"type": "string",
"description": "Optional API key (sia_...), if your connection has none and you got one from get_approval"
}
}
}🟢get_approval(approval_id, token, wait_seconds, api_key)
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.
Input Schema
{
"type": "object",
"properties": {
"approval_id": {
"type": "string"
},
"token": {
"type": "string",
"description": "The token from request_approval"
},
"wait_seconds": {
"type": "integer",
"minimum": 0,
"maximum": 25
},
"api_key": {
"type": "string",
"description": "Optional API key (sia_...), if your connection has none and you got one from get_approval"
}
},
"required": [
"approval_id"
]
}Community
Evidence