If you have ever asked an AI assistant whether your email appeared in a data breach, you likely received a confident answer that was entirely fabricated. Large language models lack real-time access to breach databases, so they rely on stale training data to fill the gap. This results in a dangerous guessing game when the query concerns your specific security posture. To solve this, the team behind XposedOrNot, a free and open-source breach index, has deployed a Model Context Protocol (MCP) endpoint that requires no API key, no signup, and no local installation.
The Frictionless Integration Experience
The primary friction point in existing breach lookup services is the mandatory API key or complex local setup. XposedOrNot eliminates this by offering a stateless HTTP endpoint that AI assistants can connect to directly. For Claude Code users, integration is a single command: claude mcp add --transport http xposedornot https://api.xposedornot.com/mcp. Cursor and VS Code users can achieve the same result by adding a simple JSON configuration to their respective settings files. Once connected, the assistant automatically detects available tools and selects the appropriate one when a user asks about exposure, removing the need for manual tool invocation.
Six Read-Only Tools for Deep Visibility
The MCP server exposes six distinct tools via JSON-RPC, allowing developers to query specific aspects of the breach index. These include check_email_breaches for immediate exposure status, get_breach_analytics for risk scoring, and domain_breach_summary for high-level domain metrics. Crucially, the domain_breach_summary tool returns only aggregate counts, not individual email addresses, preserving privacy while providing context. The server is designed to be transparent; developers can inspect the available tools using a simple curl request to the tools/list method, revealing the exact schema the AI sees before it acts.
Lessons in Stateless Architecture
Building this server required strict adherence to stateless design principles. The team avoided sessions and Server-Sent Events (SSE) streams, ensuring each request stands independently. Early documentation errors involving SSE configurations caused connection failures, a pitfall the team now actively warns against. Furthermore, all tools are marked with readOnlyHint: true and idempotentHint: true. This metadata allows client applications to request permission once rather than nagging the user on every call, significantly improving the developer experience. Error messages are also crafted specifically for model consumption, using natural language to help the AI self-correct invalid inputs like malformed emails.
Key Takeaways
- Zero-Friction Access: No API keys or signups are required for basic breach checks, lowering the barrier for AI integration.
- Stateless Design: The server avoids sessions and SSE, simplifying deployment and reducing connection errors.
- Model-First UX: Error messages and tool metadata are optimized for LLM interpretation and autonomous correction.
- Privacy by Default: Domain lookups return aggregate counts only, preventing the leakage of individual email addresses in bulk queries.
The Bottom Line
Hallucinated security data is worse than no data. By stripping away the API key barrier, XposedOrNot makes it trivial to ground AI assistants in reality. If your tools aren’t exposing MCP endpoints, you’re forcing your AI to guess.