Have I Been Pwned
Breach intelligence API: email search, domain monitoring, passwords and stealer logs.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (9)
- LOWen hibp_get_breach
- LOWen hibp_get_breached_domain
- LOWen hibp_get_breached_account_range
- LOWen hibp_get_stealer_logs_by_website_domain
- LOWen hibp_get_stealer_logs_by_email_domain
- LOWen hibp_generate_domain_verification_dns_token
- LOWen hibp_verify_domain_verification_dns_token
- LOWen hibp_send_domain_verification_email
- LOWen hibp_get_stealer_logs_by_website_domain
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"hibp": {
"url": "https://haveibeenpwned.com/mcp"
}
}
}Puntos de conexión remotos
https://haveibeenpwned.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (17)
🟢hibp_list_breaches(domain, isSpamList, includeUnverified, limit, offset, ...)
List public HIBP breaches, optionally filtered by domain, spam-list flag, and verification status.
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"description": "Filter to breaches for a specific domain.",
"type": "string"
},
"isSpamList": {
"description": "Filter to breaches that are or are not flagged as spam lists.",
"type": "boolean"
},
"includeUnverified": {
"default": true,
"description": "Include unverified breaches. Defaults to true.",
"type": "boolean"
},
"limit": {
"default": 25,
"description": "Maximum number of items to include in the response. Defaults to 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"default": 0,
"description": "Number of items to skip before returning results. Defaults to 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"breaches": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"totalCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"returnedCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextOffset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hibp_get_breach(name, response_format)
Look up a single public HIBP breach by its canonical breach name, such as Adobe.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The breach name to retrieve, for example Adobe."
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"breach": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hibp_get_latest_breach(response_format)
Return the most recently added public breach currently loaded into HIBP.
Esquema de entrada
{
"type": "object",
"properties": {
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"breach": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hibp_list_data_classes(response_format)
List the data classes used across public HIBP breach models, such as email addresses or passwords.
Esquema de entrada
{
"type": "object",
"properties": {
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"dataClasses": {
"type": "array",
"items": {
"type": "string"
}
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hibp_get_pwned_passwords_range(prefix, mode, addPadding, limit, offset, ...)
Query the public Pwned Passwords k-anonymity API with a 5-character SHA-1 or NTLM prefix and return matching suffixes with prevalence counts.
Esquema de entrada
{
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^[0-9A-Fa-f]{5}$",
"description": "The first 5 hexadecimal characters of a SHA-1 or NTLM hash."
},
"mode": {
"default": "sha1",
"description": "Use SHA-1 by default or NTLM when mode is set to ntlm.",
"type": "string",
"enum": [
"sha1",
"ntlm"
]
},
"addPadding": {
"default": false,
"description": "Send the Add-Padding header and discard padded zero-count entries.",
"type": "boolean"
},
"limit": {
"default": 25,
"description": "Maximum number of items to include in the response. Defaults to 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"default": 0,
"description": "Number of items to skip before returning results. Defaults to 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"required": [
"prefix"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"prefix": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"sha1",
"ntlm"
]
},
"addPadding": {
"type": "boolean"
},
"matchCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hashSuffix": {
"type": "string"
},
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"hashSuffix",
"count"
],
"additionalProperties": false
}
},
"totalCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"returnedCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextOffset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hibp_get_breached_account(account, domain, includeUnverified, responseMode, limit, ...)
Search HIBP for breaches affecting a single email address. Requires an OAuth bearer token linked to an active HIBP API subscription; use domain and verification filters to refine the result.
Esquema de entrada
{
"type": "object",
"properties": {
"account": {
"type": "string",
"description": "The email address to search for."
},
"domain": {
"description": "Filter results to a specific breach domain.",
"type": "string"
},
"includeUnverified": {
"default": true,
"description": "Include unverified breaches. Defaults to true.",
"type": "boolean"
},
"responseMode": {
"default": "full",
"description": "Choose full breach objects, truncated objects, or breach names.",
"type": "string",
"enum": [
"full",
"truncated",
"names"
]
},
"limit": {
"default": 25,
"description": "Maximum number of items to include in the response. Defaults to 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"default": 0,
"description": "Number of items to skip before returning results. Defaults to 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"required": [
"account"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"responseMode": {
"type": "string",
"enum": [
"full",
"truncated",
"names"
]
},
"breaches": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "object",
"properties": {
"Name": {
"type": "string"
}
},
"required": [
"Name"
],
"additionalProperties": {}
},
{
"type": "string"
}
]
}
},
"totalCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"returnedCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextOffset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hibp_get_breached_account_range(prefix, limit, offset, response_format)
Query the authenticated HIBP k-anonymity breached-account range endpoint with the first 6 characters of a SHA-1 email hash. Requires a subscription with k-anonymity access; compare each returned suffix with the remaining hash characters locally because a prefix alone cannot identify an account.
Esquema de entrada
{
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^[0-9A-Fa-f]{6}$",
"description": "The first 6 hexadecimal characters of the SHA-1 hash of an email address. Compare each returned suffix with the remaining 34 characters locally; a prefix alone does not identify an account."
},
"limit": {
"default": 25,
"description": "Maximum number of items to include in the response. Defaults to 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"default": 0,
"description": "Number of items to skip before returning results. Defaults to 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"required": [
"prefix"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"prefix": {
"type": "string"
},
"matchCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hashSuffix": {
"type": "string",
"description": "Remaining 34 SHA-1 hash characters to compare locally with the account hash."
},
"websites": {
"type": "array",
"items": {
"type": "string"
},
"description": "Non-sensitive breach names associated with the matching hash suffix."
}
},
"required": [
"hashSuffix",
"websites"
],
"additionalProperties": false
}
},
"totalCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"returnedCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextOffset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hibp_get_paste_account(account, limit, offset, response_format)
Search for public pastes containing a single email address. Requires an OAuth bearer token linked to an active HIBP API subscription; run this separately from breached-account lookup.
Esquema de entrada
{
"type": "object",
"properties": {
"account": {
"type": "string",
"description": "The email address to search for pastes."
},
"limit": {
"default": 25,
"description": "Maximum number of items to include in the response. Defaults to 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"default": 0,
"description": "Number of items to skip before returning results. Defaults to 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"required": [
"account"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"account": {
"type": "string"
},
"pastes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Source": {
"type": "string"
},
"Id": {
"type": "string"
},
"Title": {
"type": [
"string",
"null"
]
},
"Date": {
"type": [
"string",
"null"
]
},
"EmailCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"Source",
"Id",
"EmailCount"
],
"additionalProperties": {}
}
},
"totalCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"returnedCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextOffset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hibp_get_breached_domain(domain, limit, offset, response_format)
Return breached aliases for a verified domain. This tool requires an authorized subscription via OAuth bearer token.
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The verified domain to search."
},
"limit": {
"default": 25,
"description": "Maximum number of items to include in the response. Defaults to 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"default": 0,
"description": "Number of items to skip before returning results. Defaults to 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"domain": {
"type": "string"
},
"breachesByAlias": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"aliasCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"totalCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"returnedCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextOffset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hibp_list_subscribed_domains(limit, offset, response_format)
List the domains associated with the authenticated HIBP subscription.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"default": 25,
"description": "Maximum number of items to include in the response. Defaults to 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"default": 0,
"description": "Number of items to skip before returning results. Defaults to 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"subscribedDomains": {
"type": "array",
"items": {
"type": "object",
"properties": {
"DomainName": {
"type": "string"
},
"PwnCount": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"PwnCountExcludingSpamLists": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"PwnCountExcludingSpamListsAtLastSubscriptionRenewal": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"NextSubscriptionRenewal": {
"type": [
"string",
"null"
]
}
},
"required": [
"DomainName",
"PwnCount",
"PwnCountExcludingSpamLists",
"PwnCountExcludingSpamListsAtLastSubscriptionRenewal",
"NextSubscriptionRenewal"
],
"additionalProperties": false
}
},
"totalCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"returnedCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextOffset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hibp_get_subscription_status(response_format)
Return the current plan, quotas, rate limits, expiry, and feature flags for the active HIBP API subscription linked to the authenticated OAuth connection. Use it to confirm access before feature-dependent lookups.
Esquema de entrada
{
"type": "object",
"properties": {
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"subscription": {
"type": "object",
"properties": {
"SubscriptionName": {
"type": "string",
"description": "Current HIBP API subscription plan name."
},
"Description": {
"type": "string",
"description": "Current HIBP API subscription plan description."
},
"SubscribedUntil": {
"type": "string",
"description": "UTC timestamp when the current subscription expires."
},
"Rpm": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Maximum API requests per minute for the subscription."
},
"DomainSearchMaxBreachedAccounts": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Maximum breached accounts returned by a domain search, when applicable."
},
"MaxBreachedDomains": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Maximum verified domains allowed by the subscription, when applicable."
},
"IncludesStealerLogs": {
"type": "boolean",
"description": "Whether the subscription includes stealer-log lookups."
},
"IncludesBulkDomainAdd": {
"type": "boolean",
"description": "Whether the subscription includes bulk domain addition."
},
"IncludesAutoSubdomainVerification": {
"type": "boolean",
"description": "Whether the subscription includes automatic subdomain verification."
},
"IncludesCustomerDomains": {
"type": "boolean",
"description": "Whether the subscription includes customer-domain support."
},
"IncludesKAnon": {
"type": "boolean",
"description": "Whether the subscription includes breached-account k-anonymity range lookups."
},
"KAnonRpm": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Maximum breached-account k-anonymity range lookups per minute, when included."
}
},
"required": [
"SubscriptionName",
"Description",
"SubscribedUntil",
"Rpm",
"DomainSearchMaxBreachedAccounts",
"MaxBreachedDomains",
"IncludesStealerLogs",
"IncludesBulkDomainAdd",
"IncludesAutoSubdomainVerification",
"IncludesCustomerDomains",
"IncludesKAnon",
"KAnonRpm"
],
"additionalProperties": false
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hibp_get_stealer_logs_by_email(email, limit, offset, response_format)
Return website domains historically observed in stealer logs for an email address. Requires an OAuth-linked active subscription with the stealer-log feature; results do not establish current account access.
Esquema de entrada
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The email address to search for in stealer logs."
},
"limit": {
"default": 25,
"description": "Maximum number of items to include in the response. Defaults to 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"default": 0,
"description": "Number of items to skip before returning results. Defaults to 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"required": [
"email"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"email": {
"type": "string"
},
"domains": {
"type": "array",
"items": {
"type": "string"
}
},
"totalCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"returnedCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextOffset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hibp_get_stealer_logs_by_website_domain(domain, limit, offset, response_format)
Return email addresses historically observed in stealer logs for a website domain. Requires an OAuth-linked active subscription with the stealer-log feature; results do not establish current account access.
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The website domain to search for in stealer logs."
},
"limit": {
"default": 25,
"description": "Maximum number of items to include in the response. Defaults to 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"default": 0,
"description": "Number of items to skip before returning results. Defaults to 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"domain": {
"type": "string"
},
"emails": {
"type": "array",
"items": {
"type": "string"
}
},
"totalCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"returnedCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextOffset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hibp_get_stealer_logs_by_email_domain(domain, limit, offset, response_format)
Return email aliases and associated website domains historically observed in stealer logs for an email domain. Requires an OAuth-linked active subscription with the stealer-log feature; results do not establish current account access.
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The email domain to search for in stealer logs."
},
"limit": {
"default": 25,
"description": "Maximum number of items to include in the response. Defaults to 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"default": 0,
"description": "Number of items to skip before returning results. Defaults to 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"domain": {
"type": "string"
},
"aliases": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"aliasCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"totalCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"returnedCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextOffset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪hibp_generate_domain_verification_dns_token(domain, response_format)
Generate the TXT record value required to verify domain control via DNS, creating or reusing the private HIBP domain-verification records needed for the request. Requires an authenticated subscription with domain-verification access.
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The domain to generate a verification token for."
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"domain": {
"type": "string"
},
"txtRecordValue": {
"type": "string"
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪hibp_verify_domain_verification_dns_token(domain, response_format)
Complete domain verification by checking the expected HIBP TXT record on the target domain. Requires an authenticated subscription with domain-verification access.
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The domain to verify by DNS."
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"domain": {
"type": "string"
},
"verified": {
"type": "boolean"
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡hibp_send_domain_verification_email(domain, emailAlias, response_format)
Send a domain verification email to an approved alias such as admin or security. Requires an authenticated subscription with domain-verification access.
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The domain to verify by email."
},
"emailAlias": {
"type": "string",
"description": "The approval alias to send the verification email to, for example admin."
},
"response_format": {
"default": "markdown",
"description": "Format only the text content as markdown (default) or a JSON string. The same machine-readable data is always returned in structuredContent.",
"type": "string",
"enum": [
"markdown",
"json"
]
}
},
"required": [
"domain",
"emailAlias"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"domain": {
"type": "string"
},
"emailAlias": {
"type": "string"
},
"emailSent": {
"type": "boolean"
},
"statusCode": {
"description": "Present when the tool returns an error.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"message": {
"description": "Present when the tool returns an error.",
"type": "string"
},
"guidance": {
"description": "Additional guidance for resolving the tool error.",
"type": "string"
},
"retryAfterSeconds": {
"description": "How long to wait before retrying, when the tool is rate limited.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retryAfterHeaders": {
"description": "Retry headers that mirror the standard HTTP rate-limit response when applicable.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"rateLimitResetAt": {
"description": "UTC timestamp indicating when the current rate limit window should have reset.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Comunidad
Evidencia