lookup
What this MCP does
Checks North American phone numbers for carrier, line type, routing, caller ID, spam reputation, and SMS deliverability.
Tools
Input schema
{'type': 'object', 'required': ['phone_numbers'], 'properties': {'products': {'type': 'array', 'items': {'enum': ['lrn', 'cnam', 'spam', 'messaging'], 'type': 'string'}, 'description': "Data sets per number. Default ['lrn']."}, 'phone_numbers': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 100, 'description': 'US/Canada numbers, any common format (max 100)'}}}
Output schema
{'type': 'object', 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'total_charged': {'type': 'string', 'description': 'USD amount billed for this call'}}, 'description': 'Per-number results plus total charged', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'description': 'Job id returned by vri_bulk_lookup or vri_submit_job'}}}
Output schema
{'type': 'object', 'properties': {'job_id': {'type': 'string'}, 'status': {'type': 'string', 'description': 'Job state, e.g. RUNNING or COMPLETED'}, 'processed': {'type': 'integer', 'description': 'Numbers completed so far'}}, 'description': 'Job status snapshot', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['phone_number'], 'properties': {'products': {'type': 'array', 'items': {'enum': ['lrn', 'cnam', 'spam', 'messaging'], 'type': 'string'}, 'description': "Data sets to include. Default ['lrn'] (carrier/line-type/routing)."}, 'phone_number': {'type': 'string', 'description': 'US/Canada number, any common format'}}}
Output schema
{'type': 'object', 'properties': {'data': {'type': 'object', 'description': 'Carrier, line type, LRN, and any requested cnam/spam/messaging fields', 'additionalProperties': True}, 'risk': {'type': 'object', 'properties': {'reasons': {'type': 'array', 'items': {'type': 'object', 'properties': {'code': {'type': 'string', 'description': 'provider_flag, ftc_complaints, complaint_category, community_reports, line_type_voip, recently_ported, no_complaints'}, 'text': {'type': 'string', 'description': 'Human-readable evidence'}, 'signal': {'enum': ['negative', 'positive', 'context'], 'type': 'string'}, 'weight': {'enum': ['strong', 'moderate', 'weak'], 'type': 'string'}}, 'additionalProperties': True}, 'description': 'Individual pieces of evidence behind the verdict'}, 'verdict': {'enum': ['scam', 'robocall', 'reported', 'clean', 'unknown'], 'type': 'string', 'description': 'unknown = no reputation data was read for this number'}, 'confidence': {'enum': ['low', 'medium', 'high'], 'type': 'string', 'description': 'How much weight the evidence actually carries'}, 'confidence_note': {'type': 'string', 'description': 'One plain sentence explaining the band'}}, 'description': 'Explainable spam/risk verdict: WHY the number is flagged (or not), with an honest confidence band. A clean verdict means "nothing found against it", never "verified safe".', 'additionalProperties': True}, 'billed': {'type': 'boolean', 'description': 'Whether this lookup was charged'}, 'status': {'type': 'string', 'description': 'success or error'}, 'phone_number': {'type': 'string', 'description': 'Normalized number'}}, 'description': 'Lookup result for the number', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['phone_number'], 'properties': {'phone_number': {'type': 'string', 'description': 'US/Canada number, any common format'}}}
Output schema
{'type': 'object', 'properties': {'voip': {'type': 'boolean'}, 'reasons': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Plain-language reasons this number is or is not a good send. Empty means nothing is wrong. When reputation is against the number these also carry the evidence behind it (complaint counts and recency, complaint category, community reports, recent porting) and a closing "reputation confidence: low|medium|high" line.'}, 'line_type': {'type': ['string', 'null']}, 'sms_capable': {'type': 'boolean', 'description': 'Wireless line that can receive SMS'}, 'spam_flagged': {'type': 'boolean'}, 'recipient_local': {'type': ['object', 'null'], 'description': 'Approximate timezone, local_time, quiet_hours_ok'}, 'ok_to_message_now': {'type': 'boolean', 'description': 'sms_capable AND clean AND inside the calling window'}}, 'description': 'Deliverability verdict', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['phone_number'], 'properties': {'phone_number': {'type': 'string', 'description': 'US/Canada number, any common format'}}}
Output schema
{'type': 'object', 'properties': {'risk': {'type': 'object', 'properties': {'reasons': {'type': 'array', 'items': {'type': 'object', 'properties': {'code': {'type': 'string', 'description': 'provider_flag, ftc_complaints, complaint_category, community_reports, line_type_voip, recently_ported, no_complaints'}, 'text': {'type': 'string', 'description': 'Human-readable evidence'}, 'signal': {'enum': ['negative', 'positive', 'context'], 'type': 'string'}, 'weight': {'enum': ['strong', 'moderate', 'weak'], 'type': 'string'}}, 'additionalProperties': True}, 'description': 'Individual pieces of evidence behind the verdict'}, 'verdict': {'enum': ['scam', 'robocall', 'reported', 'clean', 'unknown'], 'type': 'string', 'description': 'unknown = no reputation data was read for this number'}, 'confidence': {'enum': ['low', 'medium', 'high'], 'type': 'string', 'description': 'How much weight the evidence actually carries'}, 'confidence_note': {'type': 'string', 'description': 'One plain sentence explaining the band'}}, 'description': 'Explainable spam/risk verdict: WHY the number is flagged (or not), with an honest confidence band. A clean verdict means "nothing found against it", never "verified safe".', 'additionalProperties': True}, 'is_spam': {'type': 'boolean', 'description': 'True if flagged spam/scam/robocall'}, 'spam_type': {'type': ['string', 'null'], 'description': 'SCAM, ROBOCALL, or null when clean'}, 'phone_number': {'type': 'string'}}, 'description': 'Spam reputation verdict', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['phone_numbers'], 'properties': {'products': {'type': 'array', 'items': {'enum': ['lrn', 'cnam', 'spam', 'messaging'], 'type': 'string'}, 'description': "Default ['lrn']."}, 'phone_numbers': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10000, 'description': 'US/Canada numbers to process asynchronously (max 10000)'}}}
Output schema
{'type': 'object', 'properties': {'job_id': {'type': 'string', 'description': 'Use with vri_bulk_status'}, 'status': {'type': 'string'}, 'reserved': {'type': 'string', 'description': 'USD balance reserved for the job'}}, 'description': 'Accepted job receipt', 'additionalProperties': True}
Recent tool changes
Similar MCP servers
Swamp
Coordinates security agents through scoped bug-bounty programs, target claims, vulnerability submissions, peer review, shared fin…
Ucode SMS
Provides temporary virtual phone numbers for receiving SMS verification codes and managing OTP rentals.
grith-mcp
Provides persistent citizen identity, signed cross-city proofs, encrypted private memory storage, recovery codes, public profiles…
Agent Commons
Provides end-to-end encrypted discussions, participant key management, agent directories, task coordination, task claims, and USD…
email-deliverability
Scans and monitors domain email deliverability, including SPF, DKIM, DMARC, DNS blocklists, inbox placement, reputation, alerts, …
mcp
Sells and manages travel data eSIMs, UK phone-number eSIMs, VPN access, crypto-funded wallets, and related delivery information.
Qualisend Email Verification
Verifies individual and bulk email addresses, checks domain authentication and blacklist status, analyzes headers, detects dispos…
aamio rendezvous
Provides expiring agent rendezvous threads with signed messages, secret read keys, public write addresses, presence, proof-of-wor…