Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Descripción del creador (original en inglés)
Check phone numbers (WhatsApp, Telegram, carrier, spam reputation) and e-mail addresses.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
MOBILEVALIDATE_API_KEY, MCP_CONFIRM_ABOVE_USD, AuthorizationLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"mobilevalidate": {
"command": "npx",
"args": [
"-y",
"@mobilevalidate/mcp"
],
"env": {
"MOBILEVALIDATE_API_KEY": "your-value",
"MCP_CONFIRM_ABOVE_USD": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add --transport http mobilevalidate https://mcp.mobilevalidate.com/mcp --header 'Authorization: Bearer {api_key}'claude mcp add mobilevalidate --env MOBILEVALIDATE_API_KEY=your-value --env MCP_CONFIRM_ABOVE_USD=your-value -- npx -y @mobilevalidate/mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"mobilevalidate": {
"url": "https://mcp.mobilevalidate.com/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"mobilevalidate": {
"command": "npx",
"args": [
"-y",
"@mobilevalidate/mcp"
],
"env": {
"MOBILEVALIDATE_API_KEY": "your-value",
"MCP_CONFIRM_ABOVE_USD": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"mobilevalidate": {
"type": "http",
"url": "https://mcp.mobilevalidate.com/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"mobilevalidate": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mobilevalidate/mcp"
],
"env": {
"MOBILEVALIDATE_API_KEY": "your-value",
"MCP_CONFIRM_ABOVE_USD": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
MCP_CONFIRM_ABOVE_USD envAuthorization secreto obligatorio HTTP headerEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Todavía no hemos leído la lista de herramientas de este servidor; revisamos los endpoints por turnos.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con el dominio mobilevalidate.com (el registro comprueba quién es dueño del dominio)
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; leemos la lista de herramientas cuando revisamos el endpoint
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: MOBILEVALIDATE_API_KEY, Authorization
Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.
El repo de GitHub cambió por última vez –, y la última versión (1.2.0) llegó al registro hace 40 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: Vexa, emailmd, MCP WhatsApp Cloud
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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) | |
|---|---|---|
| Runs | at https://mcp.mobilevalidate.com/mcp (Streamable HTTP) | on your machine via npx -y @mobilevalidate/mcp |
| Key | header Authorization: Bearer | env MOBILEVALIDATE_API_KEY |
| Needs | nothing to install | Node.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
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 number | Result |
|---|---|
+447700900001 | registered |
+447700900002 | not registered |
+447700900003 | unknown (registered: null) |
+447700900004 | pending for about 5 s, then registered |
+447700900005 | unsupported_country |
+447700900006 | registered, business account |
Test e-mail addresses: registered@test.mobilevalidate.com, not-registered@…, unknown@… (same domain). Full list: https://mobilevalidate.com/docs/test-values.
# hosted
claude mcp add --transport http mobilevalidate https://mcp.mobilevalidate.com/mcp \ --header "Authorization: Bearer $MOBILEVALIDATE_API_KEY"
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/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_..." } } } }
.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_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_..." } } } }
https://mcp.mobilevalidate.com/mcp, header Authorization: Bearer mv_agent_…. The server is stateless: POST only, JSON responses, no session id.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.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.
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).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.job_id handle, the pattern the spec recommends now that sessions are gone.supportedProtocolVersions lists the same versions (newest first).| Tool | What it does | Spends credits | Annotations |
|---|---|---|---|
normalize_numbers | Local, free E.164 formatting. Flags ambiguous inputs (no country) and duplicates | no | read-only, idempotent, closed-world |
estimate_cost | Free pre-flight (numbers and/or emails): valid, invalid, duplicate and cached counts, plus the maximum cost of a bulk job | no | read-only, idempotent |
lookup_numbers | Check 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) | yes | not read-only, idempotent, open-world |
lookup_emails | Check up to 100 e-mail addresses (default check email; e.g. apple.email) in real time | yes | not read-only, idempotent, open-world |
check_spam_reputation | Spam 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 level | yes | not read-only, idempotent, open-world |
create_lookup_job | Bulk check (up to 50,000 numbers and/or emails) for any active service, including bulk-only ones (e.g. gmail). Returns job_id | yes | not read-only, not idempotent (retries of the same arguments are deduplicated) |
get_lookup_job | Job status plus a filtered (registered, service), paginated page of results (one item per number or e-mail) | no | read-only, idempotent |
list_services | Services the key can use: input type (phone/email), real time or bulk only, attributes, countries, prices | no | read-only, idempotent |
get_account | Balance, reserved credit, today's usage, limits | no | read-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.
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:
MCP_CONFIRM_ABOVE_USD (default 1.00), orScopes (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
Solo se muestra el principio; lee el resto en el repo