XposedOrNot MCP Server Live

Live breach intelligence from the full XposedOrNot index. Browse everything indexed in the data breach directory.

Give your AI assistant live access to data breach intelligence. Query the XposedOrNot breach database directly from Claude, Cursor, or any MCP-compatible client. Free, open source, no API key required.

New to MCP? The Model Context Protocol is an open standard that lets AI assistants call external tools. Connect this server once, and your assistant can answer breach questions with live data instead of guesses.

Get started

How it works

1. You ask in plain English

Type a question in your assistant, such as "Has this email been in a breach?". No API calls, no code.

2. Your assistant picks a tool

The assistant chooses one of the six XposedOrNot tools and sends the query to api.xposedornot.com over HTTPS.

3. You get a live answer

The reply is built from the current breach database, not from training data, so it reflects breaches added today.

Set up in 4 steps

You need one of Claude Code, Claude Desktop, or Cursor installed, plus internet access. No account, API key, or extra software is required. The whole setup takes about two minutes.

Step 1: Add the server

Pick your client. Each block is copy-and-paste ready.

Claude Code

Run this in any terminal:

claude mcp add --transport http xposedornot https://api.xposedornot.com/mcp

Expected reply: Added HTTP MCP server xposedornot with URL: https://api.xposedornot.com/mcp.

Claude Desktop

Go to Settings, then Connectors, then Add custom connector and enter:

Name: XposedOrNot URL: https://api.xposedornot.com/mcp

Save, then fully quit and reopen Claude Desktop. The connector is not loaded until you restart.

Cursor

Add the server to ~/.cursor/mcp.json (or via Settings, then MCP, then Add new server):

{ "mcpServers": { "xposedornot": { "url": "https://api.xposedornot.com/mcp" } } }

Save the file. Cursor picks up the change within a few seconds; if not, reload the window.

Any other MCP client

Point the client at the endpoint below. These are the only details it needs.

  • Server endpoint: https://api.xposedornot.com/mcp
  • Transport: stateless streamable HTTP, one JSON-RPC 2.0 request per HTTPS POST. No sessions, no Mcp-Session-Id, and no SSE stream: a GET returns 405 with Allow: POST
  • Protocol version: 2025-06-18 (also accepts 2024-11-05), negotiated at initialize
  • Authentication: none required
  • Clients: server-side clients only. Requests with a browser Origin header from any site other than xposedornot.com are rejected with 403 as a DNS-rebinding protection

Step 2: Confirm it is installed

Before asking any breach questions, check that your client can see the server.

How to confirm the XposedOrNot MCP server is installed in each client
Client Where to check What you should see
Claude Code Run claude mcp list xposedornot: https://api.xposedornot.com/mcp (HTTP) - Connected
Claude Desktop Settings, then Connectors XposedOrNot listed as connected, with six tools when expanded
Cursor Settings, then MCP xposedornot with a green status dot and six tools
Any client Ask: "What XposedOrNot tools do you have available?" A list of the six tools, starting with check_email_breaches

If the server is missing or shows as disconnected, jump to Step 4.

Step 3: Run your first query

Ask your assistant:

Check if john@example.com has been in any data breaches, and summarize what was exposed.

Your AI assistant calls check_email_breaches to get the list of breach names, then get_breach_analytics for the dates, exposed data types, and password risk, all from the live XposedOrNot database rather than guesses from training data. An answer typically looks like this (illustrative):

john@example.com appears in 3 known breaches: 1. ExampleCorp (2023): email addresses, passwords (bcrypt), names 2. SampleShop (2021): email addresses, phone numbers 3. DemoForum (2019): email addresses, plaintext passwords Highest risk: DemoForum exposed plaintext passwords. If that password is reused anywhere, change it now and enable two-factor authentication.

Follow-up questions like "which of those exposed passwords?" reuse the same live data.

The first time a tool is called, most clients ask you to approve it. Approving is safe: every tool is read-only and only sends the email or domain you asked about.

Step 4: If it did not work

Common setup problems and how to fix them
What you see Likely cause Fix
Server not listed, or no XposedOrNot tools The client has not loaded the new config Repeat Step 1, then fully restart the client and check Step 2 again
"Disconnected" or "failed to connect" No network path to api.xposedornot.com, often a proxy or firewall Open the endpoint in a browser; a JSON reply means the server is reachable
Assistant says it cannot call the tool The tool call was declined or is disabled in the client Re-run the prompt and approve the tool call when asked; check the tool is enabled in client settings
"Rate limit exceeded" or HTTP 429 You hit the free tier limit Wait the number of seconds in retry_after, then retry. See rate limits
HTTP 403 The request came from a browser page on another site Use a server-side client such as Claude Code, Claude Desktop, or Cursor
"is not a valid email address" or similar Typo or incomplete input Fix the address or domain and ask again. See errors

Still stuck? Open an issue on the API repository with your client name and the exact message you saw.

Available tools

The server exposes six tools covering emails, domains, the breach catalog, and live statistics. All six are read-only and idempotent: they only query the database and never modify anything, and each tool declares this through its MCP annotations so clients can approve calls safely.

Not sure which tool you need? Start from the question you want answered.

Which MCP tool answers which question
Your question Tool the assistant uses
Has this email been in a breach?check_email_breaches
How bad is the exposure for this email?get_breach_analytics
What breaches are known for this company or site?list_breaches
How exposed is my organization's domain?domain_breach_summary
How big is the breach database overall?get_breach_metrics
What breaches were added recently?get_recent_breaches

Check Email for Breaches

check_email_breaches

Check whether an email address appears in the XposedOrNot index of known public data breaches. Returns the list of breach names only. Never returns passwords.

Parameters: email (required)

"Has john@example.com appeared in any data breaches?"

Get Email Breach Analytics

get_breach_analytics

Detailed exposure analytics for an email: risk score, breach timeline, exposed data categories, and password risk.

Parameters: email (required)

"Give me a full breach risk analysis for john@example.com."

List Indexed Breaches

list_breaches

Browse or filter the full breach catalog by domain or breach ID, with records, data classes, and verification status. Accepts an optional limit (default 25, maximum 100). The full exposure description is included only on single breach_id lookups; domain-filtered and unfiltered lists return compact fields. When results are truncated the response says so and how to narrow the query.

Parameters: domain, breach_id, limit (all optional)

"List the breaches XposedOrNot has indexed for example.com."

Summarize Domain Breach Exposure

domain_breach_summary

Aggregate breach summary for a domain: breach count, affected accounts, pastes, and the most recent breach date. Returns counts only, never individual addresses.

Parameters: domain (required)

"How exposed is example.com across known breaches?"

Get Breach Index Metrics

get_breach_metrics

System-wide statistics: total breaches and records indexed, breaches per year and industry, and the largest and most recent breaches.

Parameters: none

"How many breaches were indexed per industry this year?"

Get Recent Breaches

get_recent_breaches

The latest data breach news and the breaches most recently added to the XposedOrNot database.

Parameters: none

"What are the newest data breaches tracked by XposedOrNot?"

Rate limits and access

The MCP server is free for personal and development use and shares the community API's per-IP limits. When a limit is reached, the server returns a clear message rather than failing silently.

Free tier rate limits per IP address for MCP tools
Tools Burst Per hour Per day
check_email_breaches, get_breach_analytics 2 per second 25 100
list_breaches 2 per second 50 100
domain_breach_summary 2 per second 25 50
get_breach_metrics No burst limit 100 500
get_recent_breaches 5 per minute 50 100

Limits are evaluated against your combined MCP tool usage per client, not separately per tool. Connection overhead (initialize, tools/list) has its own light limit of 2 per second, 25 per hour, and 100 per day; ping and notifications are not rate-limited.

Errors

Failures come back as standard JSON-RPC error objects. Invalid input returns code -32602 with a message that says what to fix:

{ "jsonrpc": "2.0", "id": 7, "error": { "code": -32602, "message": "'x' is not a valid email address. Provide a full address such as user@example.com." } }

A rate limit returns code -32000 with the number of seconds to wait in error.data.retry_after, so clients can back off instead of retrying immediately:

{ "jsonrpc": "2.0", "id": 8, "error": { "code": -32000, "message": "Rate limit exceeded. Retry after 42 seconds.", "data": { "retry_after": 42 } } }

Need higher volume? xonAPI+ offers paid plans with rate limits up to 25,000 requests per minute, API-key access, and commercial support. Full details in the API documentation.

Privacy

Only the queried email address or domain is sent, over TLS, to api.xposedornot.com. XposedOrNot does not store user passwords or personally identifiable information from searches, and domain_breach_summary returns only counts, never individual addresses. The server is open source: verify how queries are handled in the source code or read the privacy policy.

Frequently asked questions

Is it really free?

Yes. The MCP server uses the free, keyless XposedOrNot community API. If you need higher throughput for a product or a busy team, xonAPI+ offers paid plans with much higher limits, and that is what keeps the free tier free.

Do I need an API key?

No. Point your MCP client at https://api.xposedornot.com/mcp and it works. No account, no key, no registration.

Which clients work?

Any MCP client that supports streamable HTTP transport, including Claude Desktop, Claude Code, and Cursor. The server speaks standard JSON-RPC over HTTPS with protocol version 2025-06-18 (also accepts 2024-11-05), negotiated at initialize, and requires no authentication.

Are the email addresses I query stored?

Only the queried email address or domain is sent over TLS, and it is used to answer the lookup. XposedOrNot does not store user passwords or personally identifiable information from searches. See the privacy policy for details.

How is this different from the REST API?

Same data, different consumer. The REST API is for code you write; the MCP server wraps the same breach database in tools an AI assistant can call directly, so your assistant answers breach questions with live data.

How current is the data?

The MCP server queries the live XposedOrNot database, which is updated as new breaches are verified and indexed. Browse everything currently indexed in the data breach directory or see live repository statistics.

What happens if I pass an invalid email or domain?

If you pass a malformed email address or domain, the server returns a specific error saying what to fix. A clean not-found answer always means the address genuinely is not in the index.

Discovery for agents

Agents and registries can discover the server and its tools automatically through two published machine-readable descriptors:

Go deeper