Hibp

io.github.darrenjrobinsonPublished by GitHub account darrenjrobinsonv1.1.0Updated Oct 24, 2026

A Model Context Protocol (MCP) server for the Have I Been Pwned (HIBP) API

Overview

AI-generated overview

A local MCP server that lets an assistant query the Have I Been Pwned API for breached accounts, breach details, pastes and exposed passwords.

What you can do
Check whether an email address appears in known data breaches, optionally filtered by domain and including unverified breaches, with optional truncated responses. Look up details of a specific breach by name, list all breached sites, and list exposed data classes. Check whether an email address appears in pastes. Check whether a password has been exposed, hashing it locally and sending only the first five characters of the hash.
When to use it
Useful when you want to check accounts or passwords for exposure during security reviews, incident triage, or routine account hygiene, and prefer asking in natural language rather than calling the HIBP API directly.
Requirements
Runs locally via npx with Node.js (v22.10.0 or higher recommended). Requires a Have I Been Pwned API key in HIBP_API_KEY and a subscription plan in HIBP_SUBSCRIPTION_PLAN (Pwned 1 through Pwned 5). Network access to the HIBP API is needed.
Before you install
The HIBP API key is a paid subscription credential passed as an environment variable; keep it out of shared configuration. Email addresses and breach queries are sent to the third-party HIBP service. Password checks hash locally and send only a five-character hash prefix, but avoid pasting real passwords into chat where they may be logged.

Installation

In SourceWeft

  1. Open Hibp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Have I Been Pwned MCP Server

[npm version] [npm downloads] [license]

A Model Context Protocol (MCP) server for the Have I Been Pwned (HIBP) API that allows you to query breach data using natural language.

Overview

This MCP server provides tools to interact with the Have I Been Pwned API, allowing you to:

  • Check if an email address has been in a data breach
  • Get details about specific breaches
  • Check if a password has been exposed in known data breaches
  • Check if an email address appears in pastes

GitHub Repo

NPM Package

Blog

Your browser does not support the video tag.

Installation & Configuration

Option 1: NPM Installation (Recommended)

  1. Install Node.js (v22.10.0 or higher recommended)
  2. Get your HIBP API key from https://haveibeenpwned.com/API/Key
  3. Configure your MCP client (e.g., Claude Desktop ) with:
json
{  "mcpServers": {    "HIBP-MCP": {      "command": "npx",      "args": ["-y", "@darrenjrobinson/hibp-mcp"],      "env": {        "HIBP_API_KEY": "<your-hibp-api-key>",        "HIBP_SUBSCRIPTION_PLAN": "Pwned 1"      }    }  }}

Option 2: Local Development

  1. Clone this repository:
bash
git clone https://github.com/darrenjrobinson/HIBP-MCP-Server.git
  1. Install dependencies:
bash
cd HIBP-MCP-Servernpm install
  1. Build the project:
bash
npm run build
  1. Configure your MCP client with:
json
{  "mcpServers": {    "HIBP-MCP": {      "command": "node",      "args": ["path/to/hibp-mcp/build/main.js"],      "env": {        "HIBP_API_KEY": "<your-hibp-api-key>",        "HIBP_SUBSCRIPTION_PLAN": "Pwned 1"      }    }  }}

Environment Variables

NameDescription
HIBP_API_KEYYour Have I Been Pwned API key
HIBP_SUBSCRIPTION_PLANYour HIBP API subscription plan (Pwned 1, Pwned 2, Pwned 3, Pwned 4, or Pwned 5)

Usage Examples

Once configured, you can ask Claude natural language questions about data breaches. Here are some examples:

Checking Email Breaches

Checking Specific Breaches

  • "Tell me about the LinkedIn data breach"
  • "What data was exposed in the Adobe breach?"
  • "List all known data breaches"

Checking Passwords

  • "Has the password 'Password123' been exposed in any breaches?"
  • "Is my password 'MySecurePass2024' safe to use?"
  • "Check if this password has been compromised: 'TestPass1234'"

Checking Pastes

Tools

HIBP-Breaches

Query breached accounts and breaches from the Have I Been Pwned API.

Parameters:

  • operation: The HIBP operation to perform (getAllBreachesForAccount, getAllBreachedSites, getBreachByName, getDataClasses)
  • account: Email address to check for breaches (required for getAllBreachesForAccount)
  • domain: Domain to filter breaches by (optional)
  • name: Breach name to get details for (required for getBreachByName)
  • includeUnverified: Whether to include unverified breaches (optional)
  • truncateResponse: Whether to truncate the response (optional)

HIBP-Pastes

Query pastes containing account data from the Have I Been Pwned API.

Parameters:

  • account: Email address to check for pastes (required)

HIBP-PwnedPasswords

Check if a password has been exposed in data breaches using the Pwned Passwords API.

Parameters:

  • password: Password to check (will be hashed locally before sending and only the first 5 characters sent)

Security Note

Passwords checked through the HIBP-PwnedPasswords tool are never sent in plain text. They are hashed locally using SHA-1, and only the first 5 characters of the hash are sent to the API using k-anonymity.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

Author

Darren J Robinson

Source: Readme.MD at commit ba087b6

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v1.1.0LatestOct 14, 2026
  2. v1.0.4Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts