Have I Been Pwned
Breach intelligence API: email search, domain monitoring, passwords and stealer logs.
사용해야 할까요
품질 및 안전성
발견 사항 (9)
- LOWhibp_get_breach에서
- LOWhibp_get_breached_domain에서
- LOWhibp_get_breached_account_range에서
- LOWhibp_get_stealer_logs_by_website_domain에서
- LOWhibp_get_stealer_logs_by_email_domain에서
- LOWhibp_generate_domain_verification_dns_token에서
- LOWhibp_verify_domain_verification_dns_token에서
- LOWhibp_send_domain_verification_email에서
- LOWhibp_get_stealer_logs_by_website_domain에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"hibp": {
"url": "https://haveibeenpwned.com/mcp"
}
}
}원격 엔드포인트
https://haveibeenpwned.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (17)
🟢hibp_list_breaches(domain, isSpamList, includeUnverified, limit, offset, ...)
List public HIBP breaches, optionally filtered by domain, spam-list flag, and verification status.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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
}커뮤니티
증거