Whisper
by whisper-sec · remote · local (npm, oci) · no sign-in to list tools · v0.222.0 · published by GitHub user whisper-sec
One routable IPv6 per AI agent, verifiable from the DNS root. Keyless tools need no signup.
17 tools: 12 change things and 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things12Claude Code: ask: see these tools
- Only reads5Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http whisper https://whisper.online/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
17 tools
Changes things 12Claude Code: ask
whisper_assessAssess the risk/policy posture of one or more indicators.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Assess the risk/policy posture of one or more indicators. Answers without an API key. Example call: {"skill":"assess","input":"example.com"}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_historyHistorical records for an indicator (incl.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Historical records for an indicator (incl. whois/bgp history). Answers without an API key. Example call: {"skill":"history","input":"example.com"}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_identifyIdentify an indicator (domain, IP, hash, …) against the graph.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Identify an indicator (domain, IP, hash, …) against the graph. Answers without an API key. Example call: {"skill":"identify","input":"example.com"}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_originsTrace the origins/provenance of an indicator.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Trace the origins/provenance of an indicator. Answers without an API key. Example call: {"skill":"origins","input":"example.com"}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_pslPublic-suffix-list family (tld-plus-one, is-public-suffix, affiliation).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Public-suffix-list family (tld-plus-one, is-public-suffix, affiliation). A family verb: name the sub-verb as "sub" alongside the input. Sub-verbs: tldPlusOne, isPublicSuffix, affiliation.. Answers without an API key. Example call: {"skill":"psl","sub":"tldPlusOne","input":"a.b.example.co.uk"}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_rdapThe public registration record for any address in Whisper's space, in RFC 9083 form: the handle, the agent's label, its country, and the entities behind it.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The public registration record for any address in Whisper's space, in RFC 9083 form: the handle, the agent's label, its country, and the entities behind it. The same document the RDAP service serves at /ip/{address}, which any RDAP client can already read. Answers without an API key. Example call: {"skill":"rdap","input":"2a04:2a01:b69a:6717:e3b0:51ff:3bf7:f478"}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_signupStart or complete Whisper signup from an email address alone, and receive an API key that unlocks the provisioning and governance skills on this card.No findings
Why it is in this group
- The description's first verb is "start": a word for a change.
Description, as the server wrote it Start or complete Whisper signup from an email address alone, and receive an API key that unlocks the provisioning and governance skills on this card. Send {"email":"..."} to start; a six-digit code arrives by email; send {"signup_id":"...","code":"123456"} to complete. No human step, no account needed first. Example call: {"skill":"signup","input":{"email":"agent@example.com"}}
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
whisper_threatintelThreat-intelligence indicator family (candidate apex/CDN/hosting).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Threat-intelligence indicator family (candidate apex/CDN/hosting). A family verb: name the sub-verb as "sub" alongside the input. Sub-verbs: candidateCdnApex, candidateMultiTenantApex, candidateSharedHostingIp.. Answers without an API key. Example call: {"skill":"threatintel","sub":"candidateCdnApex","input":5}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_variantsEnumerate variants/permutations of an indicator.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Enumerate variants/permutations of an indicator. Answers without an API key. Example call: {"skill":"variants","input":"example.com"}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_verifyIs this IPv6 address or hostname a real Whisper agent, and whose?No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Is this IPv6 address or hostname a real Whisper agent, and whose? Grades the full keyless trust chain: the reverse DNS record, the forward AAAA confirming it back to the same address, and the DANE-EE certificate pin published in DNSSEC-signed DNS. Returns is_whisper_agent with the evidence for the verdict either way, so a negative answer is an answer and not an error. Answers without an API key, and every leg of it is independently checkable from the DNS root with dig. Example call: {"skill":"verify","input":"2a04:2a01:b69a:6717:e3b0:51ff:3bf7:f478"}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_walkWalk the graph from an indicator across its relationships.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Walk the graph from an indicator across its relationships. Answers without an API key. Example call: {"skill":"walk","input":"example.com"}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_watchWatch an indicator for change/activity over time.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Watch an indicator for change/activity over time. Answers without an API key. Example call: {"skill":"watch","input":{"action":"list"}}
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
Only reads 5Claude Code: allow
whisper_assetResolve an asset and its catalog of attributes.No findings
Why it is in this group
- The description's first verb is "resolve": a word for reading.
Description, as the server wrote it Resolve an asset and its catalog of attributes. Answers without an API key. Example call: {"skill":"asset","input":"example.com"}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_explainExplain a verdict - the evidence and reasoning behind it.No findings
Why it is in this group
- The name "whisper_explain" says "explain": a word for reading.
Description, as the server wrote it Explain a verdict - the evidence and reasoning behind it. Answers without an API key. Example call: {"skill":"explain","input":"example.com"}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_lookupTlsFingerprintLook up a TLS (JA3/JA4) fingerprint in the graph.No findings
Why it is in this group
- The name "whisper_lookupTlsFingerprint" says "lookup": a word for reading.
Description, as the server wrote it Look up a TLS (JA3/JA4) fingerprint in the graph. Answers without an API key. Example call: {"skill":"lookupTlsFingerprint","input":"ja3:771,4865-4866-4867"}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_lookupTorRelayLook up Tor relay metadata for an address.No findings
Why it is in this group
- The name "whisper_lookupTorRelay" says "lookup": a word for reading.
Description, as the server wrote it Look up Tor relay metadata for an address. Answers without an API key. Example call: {"skill":"lookupTorRelay","input":"185.220.101.1"}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
whisper_topAsnsByPrefixCountTop ASNs ranked by announced-prefix count.No findings
Why it is in this group
- The name "whisper_topAsnsByPrefixCount" says "count": a word for reading.
Description, as the server wrote it Top ASNs ranked by announced-prefix count. Answers without an API key. Example call: {"skill":"topAsnsByPrefixCount","input":10}
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.222.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http whisper https://whisper.online/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__whisper__whisper_explain",
"mcp__whisper__whisper_lookupTlsFingerprint",
"mcp__whisper__whisper_lookupTorRelay",
"mcp__whisper__whisper_asset",
"mcp__whisper__whisper_topAsnsByPrefixCount"
],
"ask": [
"mcp__whisper__whisper_signup",
"mcp__whisper__whisper_verify",
"mcp__whisper__whisper_rdap",
"mcp__whisper__whisper_identify",
"mcp__whisper__whisper_assess",
"mcp__whisper__whisper_walk",
"mcp__whisper__whisper_watch",
"mcp__whisper__whisper_variants",
"mcp__whisper__whisper_origins",
"mcp__whisper__whisper_history",
"mcp__whisper__whisper_threatintel",
"mcp__whisper__whisper_psl"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as whisper. Review it before you use it.
