Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

MobileValidate

by brntechversion 1.2.0i★ –iComputer or cloud
Registry namecom.mobilevalidate/mcp

Install

Overview

Description from the maker (original English)

Check phone numbers (WhatsApp, Telegram, carrier, spam reputation) and e-mail addresses.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Computer or cloud
  • Transport: stdio, Streamable HTTP
  • Category: Chat & email
  • You need to fill in: MOBILEVALIDATE_API_KEY, Authorization

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • You fill in yourself: MOBILEVALIDATE_API_KEY, MCP_CONFIRM_ABOVE_USD, Authorization

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "mobilevalidate": {
      "command": "npx",
      "args": [
        "-y",
        "@mobilevalidate/mcp"
      ],
      "env": {
        "MOBILEVALIDATE_API_KEY": "your-value",
        "MCP_CONFIRM_ABOVE_USD": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http mobilevalidate https://mcp.mobilevalidate.com/mcp --header 'Authorization: Bearer {api_key}'

Or run it on your computer

claude mcp add mobilevalidate --env MOBILEVALIDATE_API_KEY=your-value --env MCP_CONFIRM_ABOVE_USD=your-value -- npx -y @mobilevalidate/mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "mobilevalidate": {
      "url": "https://mcp.mobilevalidate.com/mcp",
      "headers": {
        "Authorization": "Bearer {api_key}"
      }
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "mobilevalidate": {
      "command": "npx",
      "args": [
        "-y",
        "@mobilevalidate/mcp"
      ],
      "env": {
        "MOBILEVALIDATE_API_KEY": "your-value",
        "MCP_CONFIRM_ABOVE_USD": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "mobilevalidate": {
      "type": "http",
      "url": "https://mcp.mobilevalidate.com/mcp",
      "headers": {
        "Authorization": "Bearer {api_key}"
      }
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "mobilevalidate": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@mobilevalidate/mcp"
      ],
      "env": {
        "MOBILEVALIDATE_API_KEY": "your-value",
        "MCP_CONFIRM_ABOVE_USD": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • MOBILEVALIDATE_API_KEY secret required env
    MobileValidate agent key (mv_agent_…, scoped and spend-capped) or test key (mv_test_…). Live keys are rejected.
  • MCP_CONFIRM_ABOVE_USD env
    Spend above this amount (USD) needs the user's explicit confirmation.
  • Authorization secret required HTTP header
    Bearer token: a MobileValidate agent key (mv_agent_…) or test key (mv_test_…).

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain mobilevalidate.com (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Chat & emaili

  • More stars than 0% of the other 1765 servers in this category
  • Published to the registry more recently than 40% of the other 1765 servers in this category
  • Basic checks equal to or better than 100% of the other 1765 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is MobileValidate safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: MOBILEVALIDATE_API_KEY, Authorization

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.2.0) reached the registry 40 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Vexa, emailmd, MCP WhatsApp Cloud

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Vexa

by Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

Runs in the cloud★ 2,949Apache-2.0Updated 2 months ago
Install

emailmd

by anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

Computer or cloud★ 1,385MITUpdated 31 days ago
Install

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

Runs on your computer★ 277MITUpdated 5 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

@mobilevalidate/mcp

Model Context Protocol server for MobileValidate. It lets AI agents (Claude Desktop, Claude Code, Cursor, VS Code and any other MCP client) check phone numbers — registration on WhatsApp, Telegram, Viber, Signal and other platforms, carrier and line type, report-based spam reputation — and e-mail addresses (mailbox exists; account on Gmail, Outlook, Apple and others; yes / no / unknown only, never names or profiles). Several services can be checked in one call (checks); list_services shows what the key can use.

It is a thin client of the public MobileValidate API, built on the mobilevalidate SDK. It holds no credentials of its own: your key is only forwarded to api.mobilevalidate.com.

Two ways to use it:

Hosted (remote)Local (stdio)
Runsat https://mcp.mobilevalidate.com/mcp (Streamable HTTP)on your machine via npx -y @mobilevalidate/mcp
Keyheader Authorization: Bearer env MOBILEVALIDATE_API_KEY
Needsnothing to installNode.js ≥ 20 (npx downloads the package)

Both run the same tools with the same spend safeguards. Try either with a test key: the documented test values return fixed answers and nothing is billed.

Keys: an agent key (mv_agent_…, scoped, daily spend cap) or a test key (mv_test_…, free, never billed). Live keys (mv_live_…) are refused by the MCP server on purpose. Get a personal test key at https://mobilevalidate.com/get-test-key; agent keys come with an approved account.

Docs: https://mobilevalidate.com/docs/mcp

Quick start (hosted, test key)

export MOBILEVALIDATE_API_KEY=mv_test_...     # your personal test key

claude mcp add --transport http mobilevalidate https://mcp.mobilevalidate.com/mcp \ --header "Authorization: Bearer $MOBILEVALIDATE_API_KEY"

Then ask: *"Check +447700900001, +447700900002 and +447700900003 on WhatsApp."* You get registered, not registered and unknown. Test keys never reach a real network and are never billed: the magic values below give fixed answers, and any other number gets a made-up but stable answer.

Just looking? The public sandbox key mv_test_publicSandboxn9ZgneuhR1B9CRfKG3fulym works too, but it answers only the magic values below (anything else is refused with sandbox_magic_only), has low shared rate limits and cannot run large jobs. Use your own test key for anything more.

Test numberResult
+447700900001registered
+447700900002not registered
+447700900003unknown (registered: null)
+447700900004pending for about 5 s, then registered
+447700900005unsupported_country
+447700900006registered, business account

Test e-mail addresses: registered@test.mobilevalidate.com, not-registered@…, unknown@… (same domain). Full list: https://mobilevalidate.com/docs/test-values.

Client configuration

Claude Code
# hosted

claude mcp add --transport http mobilevalidate https://mcp.mobilevalidate.com/mcp \ --header "Authorization: Bearer $MOBILEVALIDATE_API_KEY"

local stdio

claude mcp add mobilevalidate --env MOBILEVALIDATE_API_KEY=mv_agent_... -- npx -y @mobilevalidate/mcp

.mcp.json equivalent of the hosted setup:

{

"mcpServers": { "mobilevalidate": { "type": "http", "url": "https://mcp.mobilevalidate.com/mcp", "headers": { "Authorization": "Bearer ${MOBILEVALIDATE_API_KEY}" } } } }

Cursor (~/.cursor/mcp.json or .cursor/mcp.json)

Hosted (live):

{

"mcpServers": { "mobilevalidate": { "url": "https://mcp.mobilevalidate.com/mcp", "headers": { "Authorization": "Bearer ${env:MOBILEVALIDATE_API_KEY}" } } } }

Local stdio: { "mcpServers": { "mobilevalidate": { "command": "npx", "args": ["-y", "@mobilevalidate/mcp"], "env": { "MOBILEVALIDATE_API_KEY": "mv_agent_..." } } } }

VS Code (.vscode/mcp.json)
{

"servers": { "mobilevalidate": { "type": "http", "url": "https://mcp.mobilevalidate.com/mcp", "headers": { "Authorization": "Bearer ${input:mobilevalidate-key}" } } }, "inputs": [ { "id": "mobilevalidate-key", "type": "promptString", "description": "MobileValidate agent or test key", "password": true } ] }

Claude Desktop (claude_desktop_config.json)

Claude Desktop connects to remote servers with a key through a stdio bridge such as the community mcp-remote package (hosted server, live):

{

"mcpServers": { "mobilevalidate": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.mobilevalidate.com/mcp", "--header", "Authorization:Bearer ${MOBILEVALIDATE_API_KEY}"], "env": { "MOBILEVALIDATE_API_KEY": "mv_agent_..." } } } }

Local stdio:

{

"mcpServers": { "mobilevalidate": { "command": "npx", "args": ["-y", "@mobilevalidate/mcp"], "env": { "MOBILEVALIDATE_API_KEY": "mv_agent_..." } } } }

Any other MCP client
  • Streamable HTTP: URL https://mcp.mobilevalidate.com/mcp, header Authorization: Bearer mv_agent_…. The server is stateless: POST only, JSON responses, no session id.
  • stdio: command npx, args ["-y", "@mobilevalidate/mcp"], env MOBILEVALIDATE_API_KEY=mv_agent_…. To pin a version use @mobilevalidate/mcp@1.2.0. After npm install -g @mobilevalidate/mcp the command is mobilevalidate-mcp.
Protocol versions

Both transports speak MCP 2026-07-28 and the handshake-based revisions 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05 and 2024-10-07 (from 1.1.0; 1.0.x stopped at 2025-11-25). Nothing to configure: the client's opening message picks the revision.

  • 2026-07-28: no initialize; every request carries _meta (io.modelcontextprotocol/protocolVersion, client info and capabilities) and, over HTTP, the MCP-Protocol-Version, Mcp-Method and Mcp-Name headers (checked against the body; mismatch → 400, -32020). server/discover returns the supported versions, capabilities, server identity and instructions. tools/list and server/discover carry ttlMs: 3600000, cacheScope: "public" (the list is the same for every key), and tools come back in a fixed order. An unsupported version gets 400 with UnsupportedProtocolVersion (-32022) listing the supported ones. Tool calls return JSON (no SSE).
  • 2025-era clients: initialize as before; the hosted server stays stateless (POST only, JSON responses, no session id; GET → 405). On stdio the connection stays on the negotiated revision.
  • The server uses no server→client requests (sampling, elicitation, roots) and no protocol logging, so nothing deprecated in 2026-07-28 is involved. Bulk jobs use an explicit job_id handle, the pattern the spec recommends now that sessions are gone.
  • The server card's supportedProtocolVersions lists the same versions (newest first).

Tools

ToolWhat it doesSpends creditsAnnotations
normalize_numbersLocal, free E.164 formatting. Flags ambiguous inputs (no country) and duplicatesnoread-only, idempotent, closed-world
estimate_costFree pre-flight (numbers and/or emails): valid, invalid, duplicate and cached counts, plus the maximum cost of a bulk jobnoread-only, idempotent
lookup_numbersCheck up to 100 numbers (optionally with emails, 100 in total) for one or more real-time services (checks; waits up to wait_seconds, default 20)yesnot read-only, idempotent, open-world
lookup_emailsCheck up to 100 e-mail addresses (default check email; e.g. apple.email) in real timeyesnot read-only, idempotent, open-world
check_spam_reputationSpam reputation of up to 100 numbers (runs number.spam only): per number risk_level, risk_score, reasons, top category, first/last seen, sources, plus counts per levelyesnot read-only, idempotent, open-world
create_lookup_jobBulk check (up to 50,000 numbers and/or emails) for any active service, including bulk-only ones (e.g. gmail). Returns job_idyesnot read-only, not idempotent (retries of the same arguments are deduplicated)
get_lookup_jobJob status plus a filtered (registered, service), paginated page of results (one item per number or e-mail)noread-only, idempotent
list_servicesServices the key can use: input type (phone/email), real time or bulk only, attributes, countries, pricesnoread-only, idempotent
get_accountBalance, reserved credit, today's usage, limitsnoread-only, idempotent

Every tool declares a title, annotations, inputSchema and outputSchema. Each one returns structuredContent plus a one-line text summary. checks takes service codes or aliases (e.g. whatsapp, telegram, viber, carrier, spam); its description lists the real-time and bulk-only codes known to this build (from the SDK's generated catalog), and list_services gives the live list. Result items keep the v1 top-level fields (WhatsApp if requested, otherwise the first service) and add a checks map per service when more than one service (or a non-WhatsApp service) was requested. Tool descriptions state the anti-enumeration limits (≥ 20 consecutive numbers refused, daily caps).

E-mails. Phone services run on numbers, e-mail services on emails; send at least one check of each kind you send. Result items carry kind (phone/email); e-mail items have email (normalized, null if invalid), email_status (valid, invalid_email, duplicate, suppressed) and number_status: null. Descriptions state the e-mail rules: ≥ 20 addresses on one domain differing only by digits are refused as enumeration, and answers are yes/no/unknown only — no names, photos or profiles. Test keys use registered@test.mobilevalidate.com, not-registered@…, unknown@… (same domain).

Spam reputation. check_spam_reputation (or checks: ["spam"] on the other tools) answers from spam and nuisance-call reports: regulator actions, government complaint data, community reports and recently-unassigned numbers. All countries except sanctioned ones (Cuba, Iran, North Korea, Syria, Russia, Belarus, Venezuela and sanctioned regions → unsupported_country, free). no_reports means no reports are known — not that the number is safe; it is still a conclusive, billed answer. Limits: ≤ 100 numbers per call, the same spend confirmation and anti-enumeration rules as lookup_numbers. Test keys: +447700900001 high, …002 no_reports, …003 unknown, …004 pending then medium, …005 unsupported_country. Attribute values may be integers (risk_score, sources).

Network checks. checks: ["hlr"] returns live network status (status reachable / unreachable / invalid, ported, roaming, mcc_mnc, country); checks: ["mnp"] returns number portability (porting ported / not_ported, mcc_mnc, country). Unknown answers are free.

Spend safety

Before lookup_numbers, lookup_emails, check_spam_reputation or create_lookup_job spends anything, the server calls the free estimate. Real-time tools quote the maximum at the key's real-time prices (from list_services), create_lookup_job at bulk prices. The call is refused with a confirmation_required error result when either of these is true:

  • the maximum cost is above MCP_CONFIRM_ABOVE_USD (default 1.00), or
  • a job has more than 100 numbers and e-mails.

Scopes (agent keys): the real-time tools need lookup:write and jobs:write (the estimate is POST /v1/jobs/estimate); estimate_cost and create_lookup_job need jobs:write; get_lookup_job needs jobs:read; get_account needs account:read. list_services

Only the beginning is shown; read the rest in the repo

Ask PopNx