NumRadar

app.numradar由 numradar.app 发布官方发布者v0.2.2更新于 Oct 30, 2026

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

已验证Streamable HTTP可网页运行沟通与协作商业与电商

概览

AI 生成的概览

让 AI 助手查询手机号是否注册了 WhatsApp,支持单个验证、批量任务和余额查询。

可以做什么
  • 实时验证单个手机号是否注册 WhatsApp,并返回商业账号信息和国家元数据
  • 将最多 10,000 个号码排队做异步批量验证,立即返回任务 id
  • 查询批量任务的进度计数,并可选获取每个号码的结果
  • 列出该账号近期的批量任务及其状态计数
  • 查询当前周期内还剩多少验证额度
适用场景
适合在 WhatsApp 营销活动前审核或清洗联系人名单、核对少量号码,或在提交大批量任务前估算费用并确认余额是否足够。
运行要求
需要 numradar 账号和 API 密钥(nr_live_...),在控制台创建。托管端点 numradar.app/mcp 通过 Authorization Bearer 头传入密钥;npm 包 @numradar/mcp 可用 npx 本地运行,通过 token 参数或 NUMRADAR_API_KEY 环境变量提供密钥。需要能访问 numradar 的 API。
安装前请注意
API 密钥是账号的持有者凭证;用命令行参数传入会留在 shell 历史和配置文件中,建议改用环境变量或密钥管理工具,密钥泄露后应立即吊销。每个确定性结果都会消耗一次付费验证额度,额度用尽时批量任务会停止。工具调用经由 numradar 公共 REST API 计费并限流,提交的号码会发送给 numradar。

安装

在 SourceWeft 中

  1. 打开 控制台中的 NumRadar,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/app.numradar%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "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

来源:README.md,提交 2b37ba7

工具

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.

输入参数phone必填

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.

输入参数phones必填

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".

输入参数limitjob_id必填include_results

list_jobs

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

无需输入参数。

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.

无需输入参数。

版本历史

1
  1. v0.2.2最新Oct 29, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分