NumRadar

app.numradarPublished by numradar.appOfficial publisherv0.2.2Updated Oct 30, 2026

Check whether phone numbers are registered on WhatsApp, from your AI agent.

VerifiedStreamable HTTPWeb executableCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

Checks whether phone numbers are registered on WhatsApp, with single lookups, bulk jobs and balance checks, from an AI assistant.

What you can do
  • Check a single phone number for WhatsApp registration, business account details and country metadata
  • Queue up to 10,000 numbers for asynchronous bulk validation and get a job id back
  • Poll a bulk job's progress counters and optionally fetch per-number results
  • List the account's recent bulk jobs with their status counters
  • Check how many validations remain in the current period
When to use it
Useful when an assistant needs to audit or clean a contact list before a WhatsApp campaign, verify a handful of numbers, or estimate and check credit balance before spending on a large batch.
Requirements
A numradar account and API key (nr_live_...), created in the dashboard. The hosted endpoint at numradar.app/mcp takes the key as an Authorization Bearer header; the npm package @numradar/mcp runs locally via npx with a token flag or the NUMRADAR_API_KEY environment variable. Network access to numradar's API is required.
Before you install
The API key is a bearer credential for the account; the token flag can leave it in shell history and config files, so prefer an environment variable or secret store, and revoke exposed keys. Each definitive result consumes a paid validation credit from the plan allowance, and bulk jobs stop when the allowance runs out. Tool calls are billed and rate-limited through numradar's public REST API, and the numbers submitted are sent to numradar.

Installation

In SourceWeft

  1. Open NumRadar in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/app.numradar%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "numradar": {
      "type": "http",
      "url": "https://numradar.app/mcp"
    }
  }
}

README

@numradar/mcp

Check whether phone numbers are registered on WhatsApp, from your AI agent.

numradar answers one question well: is this number on WhatsApp? This is its Model Context Protocol server, so an agent can ask that question directly — validating a list, auditing contacts before a campaign, or checking a balance before spending it.

bash
npx @numradar/mcp --token nr_live_YOUR_KEY

Create a key at numradar.app/app/keys.


Most people should not install anything

numradar runs a hosted MCP server. No package, no local process, no version to go stale on anyone's laptop:

https://numradar.app/mcp

Point your client at that URL with an Authorization: Bearer nr_live_... header and you are done.

json
{  "mcpServers": {    "numradar": {      "type": "http",      "url": "https://numradar.app/mcp",      "headers": {        "Authorization": "Bearer nr_live_xxx"      }    }  }}

The npm package exists for one real case: clients whose config file accepts a command to spawn but not a URL. claude_desktop_config.json is the common one. If you are editing a file like that, you need the package:

json
{  "mcpServers": {    "numradar": {      "command": "npx",      "args": ["-y", "@numradar/mcp", "--token", "nr_live_xxx"]    }  }}

Configuration for 15 verified clients — Claude Code, Cursor, Windsurf, Zed, VS Code, Cline and the rest — is at numradar.app/mcp-server.

Tools

ToolWhat it doesCost
validate_numberOne number. Registered or not, business account, line type, country.1 credit
bulk_validateUp to 10,000 numbers. Returns a job id immediately.1 per definitive result
get_job_statusProgress counters, optionally per-number results.Free
list_jobsRecent bulk jobs on the account.Free
get_balanceCredits remaining.Free

Prompts

Clients that support MCP prompts surface these as slash commands.

PromptArgumentsWhat it does
/check_numbersnumbersValidate a list and summarise which are reachable on WhatsApp.
/clean_contact_listnumbers, purposeAudit a list before a campaign, and report what to fix.
/check_before_spendingcountEstimate the cost of a run and check the balance covers it.

Billing, and why it should change how an agent uses this

One credit per definitive answer — registered or not registered. Beyond that:

  • Invalid and unparseable numbers cost nothing. Send them. An agent that pre-filters numbers it is unsure about drops real contacts to save credits it was never going to spend.
  • An inconclusive upstream result costs nothing.
  • Credits never expire.

Numbers should be E.164 (+14155550100). Past a handful, prefer bulk_validate over a loop of validate_number: it is one job to poll rather than N round trips.

Options

--token <key>Your API key. Also read from NUMRADAR_API_KEY; the flag wins if both are set.
--base <url>API origin. Defaults to https://numradar.app.
--versionPrint the version and exit.
--helpPrint usage and exit.

Security

The API key is a bearer credential for your account. --token puts it in your shell history and in whatever config file spawns the process — prefer NUMRADAR_API_KEY from a secret store where your client supports it. Keys are revocable from the dashboard; revoke immediately if one is exposed.

Every tool call is authenticated, rate-limited and billed through numradar's ordinary public REST API. The MCP server does not embed the checker and has no separate billing path, so an agent calling a tool is treated exactly like a backend calling curl.

About this repository

This is the home of the npm package — its issue tracker and documentation. The server's source lives in a private monorepo and is not published here.

Found a bug, or a client whose configuration does not work? Open an issue.

Licence

MIT

Source: README.md at commit 2b37ba7

Tools

5

validate_number

Check in real time whether a single phone number is registered on WhatsApp. Returns existence, business-account details when present, and country metadata. Uses one validation from the plan allowance per definitive answer; malformed numbers are rejected without being counted.

Parametersphonerequired

bulk_validate

Queue up to 10,000 phone numbers for asynchronous validation. Returns a job id immediately — poll get_job_status for progress and results. One validation per definitive result; duplicates are collapsed before counting. A job runs at the plan's bulk pace, 4 to 20 rows a minute and slower than validate_number on purpose, so a long list takes hours: tell the person, and check back rather than waiting in a loop.

Parametersphonesrequired

get_job_status

Fetch progress counters for a bulk job, and optionally the per-number results. Free — a read uses no validations, but it does count against the account's per-minute request limit, so check about once a minute rather than in a loop: a job only moves at its plan's pace. Call with include_results once status is "completed".

Parameterslimitjob_idrequiredinclude_results

list_jobs

List this account's recent bulk jobs with their status counters. Free.

Takes no parameters.

get_balance

Return how many validations this account can still spend. total_available is everything left this period: the monthly plan allowance, any rollover, and any prepaid balance. Free. Check this before queueing a large batch — a job stops when the allowance runs out.

Takes no parameters.

Version history

1
  1. v0.2.2LatestOct 29, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts