MCP server
MCP server
Add our server's URL to your AI assistant or coding agent. The checker tools need no key.
The server and its tools
AI assistants and coding agents can use the free checker, and fetch the code for your stack, through MCP (Model Context Protocol). Add a remote server with this URL, no key needed:
https://signupbouncer.com/mcpThe server speaks the Streamable HTTP transport. It answers each request with plain JSON, with no sessions and no event stream. It has four read-only tools that need no key:
integration_guide: the steps and code from Code for your stack for the stack you name (supabase,fetch,nextjs,express,hono,python,firebaseorbetter-auth).check_email: checks an address, and optionally an IP, like the disposable email checker. It returns allow, challenge or block, the score, every reason with its code, the normalized inbox and the IP's network, plussuggestionwhen the domain looks like a typo of a big mail provider. Each reason links to its row on the reason codes page.explain_reason: what a reason code means and the lowest plan on which it counts. Without a code, it lists them all.lookup_burner_domain: whether a domain is on our burner list (or is a relay service, a free subdomain mail service or a known real provider), without a DNS lookup.
With your API key, two more tools work with an app's rules:
get_rules: the app's Rules settings, as the Rules API returns them.update_rules: changes the settings you name, as aPATCHdoes. It changes live signup blocking for that app, so have your assistant confirm each change with you. Switching to enforce starts refusing signups.
With a key made for an app, the rules tools work on that app. An older all-apps key needs app. Without a key, both tools answer with how to get one. The rules tools share the Rules API's allowance.
Limits and keys
check_email and lookup_burner_domain share the free checker's per-IP limits (20 a minute, 200 a day).
check_email counts every reason, including reasons that count only on paid plans, so its score can differ from your app's. To check real signups in your app, use the Supabase hook or the REST API with a free key.
Assistants hosted by their provider, such as claude.ai, call from the provider's servers and share its IP addresses. To get your account's own free allowance (20 a minute, 200 a day per account), send your API key as Authorization: Bearer sb_live_... in clients that let you set headers.
Calls with a key do not count as checks against your plan. A key that is not valid gets a 401.
What we keep
- Addresses, IPs and domains sent to
lookup_burner_domain: never stored or logged. - The domain of each
check_emailaddress, with its mail servers: cached up to an hour. - Keyed hashes for rate limits: calling IP (account with a key), up to 24 hours.
- Key lookup: IP and /24 or /64 network keyed hashes, up to two minutes.
update_rulessettings and block messages: saved until changed or the app's removed.
Add the MCP server to your client
Claude Code:
claude mcp add --transport http signupbouncer https://signupbouncer.com/mcp
# with your key:
claude mcp add --transport http signupbouncer https://signupbouncer.com/mcp \
--header "Authorization: Bearer sb_live_..."Cursor, in .cursor/mcp.json (the headers part is optional):
{
"mcpServers": {
"signupbouncer": {
"url": "https://signupbouncer.com/mcp",
"headers": { "Authorization": "Bearer ${env:SIGNUPBOUNCER_API_KEY}" }
}
}
}VS Code, in .vscode/mcp.json:
{
"servers": {
"signupbouncer": { "type": "http", "url": "https://signupbouncer.com/mcp" }
}
}Claude Desktop and claude.ai: add a custom connector with the URL above. Other clients: add a remote (HTTP) MCP server with the same URL.