DEV Community

Ruben
Ruben

Posted on • Originally published at whatsusernames.link

We shipped an MCP server for WhatsApp link generation — no API key required

We shipped an MCP server for WhatsApp link generation — no API key required

If you've ever needed an AI agent to validate a WhatsApp number, build a wa.me link, or generate a QR code on the fly, you've probably hand-rolled it: scrape a regex off Stack Overflow, write your own phone-format validator, maybe hit some undocumented endpoint. We got tired of watching that happen and shipped a small, open MCP server that does it directly.

What it is

WhatsUsernames.link already runs a free public REST API for validating WhatsApp usernames/phone numbers and generating wa.me links + QR codes. We just exposed the same logic over the Model Context Protocol, so Claude, and any other MCP client, can call it as native tools instead of you writing a fetch wrapper.

Endpoint:

https://whatsusernames.link/api/mcp
Enter fullscreen mode Exit fullscreen mode

No API key. No account. No signup form. Same open, IP-rate-limited model as the REST API (60 req/min for JSON tools, 20 req/min for QR generation, sliding window via Upstash Redis).

The five tools

Tool What it does
validate_username Checks WhatsApp username (@username) format
validate_phone Checks phone number format (8–15 digits, international)
username_link Builds a wa.me link (+ short link) from a username, optional prefilled text
phone_link Builds a wa.me link from a phone number, optional prefilled text
qr_code Renders a QR code (PNG or SVG) for a wa.me link, custom size/colors

Every tool wraps the exact same services/ and validate-* functions the REST API uses — there's no separate business logic to drift out of sync. If the REST endpoint says a number is valid, the MCP tool agrees, because it's the same code path.

Connect it

Drop this into your MCP client config:

{
  "mcpServers": {
    "whatsusernames": {
      "url": "https://whatsusernames.link/api/mcp"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

That's it. No stdio process to spawn, no local install — it's a stateless Streamable HTTP transport running on Vercel, same domain as the site.

Why build this

Two reasons.

Practical: every agent that needs to hand a user a "message me on WhatsApp" link ends up reimplementing username/phone validation and QR generation, badly, from scratch. That's a solved problem now — call the tool instead.

Strategic: we think a lot of AI-agent traffic is going to route through MCP servers the same way search traffic routes through APIs today. Being an early, documented, zero-friction MCP endpoint in the WhatsApp-tooling space is a cheap way to be the thing an agent reaches for, rather than something it reinvents.

What's not in v0

Deliberately scoped down:

  • No API keys, accounts, or paid tiers — same open rate-limited model as REST.
  • No stdio/local package distribution — remote HTTP only, for now.
  • No business-tier tools (bsuid parsing, webhook normalization) — those are more niche and will only get built if there's real demand for the current five.

If you build something with it — or find an edge case it doesn't handle — we'd like to hear about it.


WhatsUsernames.link is a free tool for validating WhatsApp usernames/numbers and generating wa.me links and QR codes. REST API and MCP server are both public and free to use.

Top comments (0)