{"slug": "we-shipped-an-mcp-server-for-whatsapp-link-generation-no-api-key-required", "title": "We shipped an MCP server for WhatsApp link generation — no API key required", "summary": "WhatsUsernames.link has launched an open MCP server that lets AI agents validate WhatsApp usernames and phone numbers, generate wa.me links, and create QR codes without an API key. The server exposes the same logic as the site's existing REST API, with tools for validation, link generation, and QR rendering, and is available at https://whatsusernames.link/api/mcp.", "body_md": "If you've ever needed an AI agent to validate a WhatsApp number, build a `wa.me`\n\nlink, 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.\n\n[WhatsUsernames.link](https://whatsusernames.link) already runs a free public REST API for validating WhatsApp usernames/phone numbers and generating `wa.me`\n\nlinks + 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.\n\nEndpoint:\n\n```\nhttps://whatsusernames.link/api/mcp\n```\n\nNo 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).\n\n| Tool | What it does |\n|---|---|\n`validate_username` |\nChecks WhatsApp username (`@username` ) format |\n`validate_phone` |\nChecks phone number format (8–15 digits, international) |\n`username_link` |\nBuilds a `wa.me` link (+ short link) from a username, optional prefilled text |\n`phone_link` |\nBuilds a `wa.me` link from a phone number, optional prefilled text |\n`qr_code` |\nRenders a QR code (PNG or SVG) for a `wa.me` link, custom size/colors |\n\nEvery tool wraps the exact same `services/`\n\nand `validate-*`\n\nfunctions 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.\n\nDrop this into your MCP client config:\n\n```\n{\n  \"mcpServers\": {\n    \"whatsusernames\": {\n      \"url\": \"https://whatsusernames.link/api/mcp\"\n    }\n  }\n}\n```\n\nThat'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.\n\nTwo reasons.\n\n**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.\n\n**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.\n\nDeliberately scoped down:\n\n`stdio`\n\n/local package distribution — remote HTTP only, for now.`bsuid`\n\nparsing, 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.\n\n*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.*", "url": "https://wpnews.pro/news/we-shipped-an-mcp-server-for-whatsapp-link-generation-no-api-key-required", "canonical_source": "https://dev.to/inside_dc_pulse/we-shipped-an-mcp-server-for-whatsapp-link-generation-no-api-key-required-g8a", "published_at": "2026-08-11 21:43:38+00:00", "updated_at": "2026-08-11 22:17:44.365928+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-infrastructure"], "entities": ["WhatsUsernames.link", "Claude", "Model Context Protocol", "Upstash Redis", "Vercel"], "alternates": {"html": "https://wpnews.pro/news/we-shipped-an-mcp-server-for-whatsapp-link-generation-no-api-key-required", "markdown": "https://wpnews.pro/news/we-shipped-an-mcp-server-for-whatsapp-link-generation-no-api-key-required.md", "text": "https://wpnews.pro/news/we-shipped-an-mcp-server-for-whatsapp-link-generation-no-api-key-required.txt", "jsonld": "https://wpnews.pro/news/we-shipped-an-mcp-server-for-whatsapp-link-generation-no-api-key-required.jsonld"}}