Whisper
REMOTE · WHISPER.ONLINE · 3 COMPONENTS · SCANNED SEP 26
One routable IPv6 per AI agent, verifiable from the DNS root. Keyless tools need no signup.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security77
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability76
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1787 tokens (~105/item across 17 items; 17 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability check failed: schema churn in the 1 day we've observed: 3 tool removals, 0 breaking changes, 0 auth/transport breaks, 5 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
How do I install the Whisper MCP server?
Whisper is a hosted endpoint at https://whisper.online/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · whisper.online
claude mcp add --transport http whisper-sec-whisper 'https://whisper.online/mcp'
{
"mcpServers": {
"whisper-sec-whisper": {
"url": "https://whisper.online/mcp"
}
}
} {
"servers": {
"whisper-sec-whisper": {
"type": "http",
"url": "https://whisper.online/mcp"
}
}
} [mcp_servers.whisper-sec-whisper] url = "https://whisper.online/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"whisper-sec-whisper": {
"type": "remote",
"url": "https://whisper.online/mcp",
"enabled": true
}
}
} openclaw mcp add whisper-sec-whisper --url 'https://whisper.online/mcp' --transport streamable-http
mcp_servers:
whisper-sec-whisper:
url: "https://whisper.online/mcp" {
"McpServers": {
"whisper-sec-whisper": {
"Transport": "http",
"Url": "https://whisper.online/mcp"
}
}
} assistant mcp add whisper-sec-whisper -t streamable-http -u 'https://whisper.online/mcp'
{
"mcpServers": {
"whisper-sec-whisper": {
"type": "http",
"url": "https://whisper.online/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 71
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 25 Sept 2026 · Probed https://whisper.online/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=whisper.online | CN=YE1,O=Let's Encrypt,C=US | 19 Sept 2026 | 18 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 55397b20eb19bffbd30fbae45c5cdd48a9e |
| SANs: whisper.online | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of whisper.online. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| online. | present | 30961 | 13 | Verified |
| whisper.online. | present | 50855 | 13 | Verified |
| whisper.online. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| x-content-type-options | nosniff |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://whisper.online/mcp | Verified | 200 | |
| http (plaintext) | http://whisper.online/mcp | HTTPS enforced | 301 | https://whisper.online/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
whisper_assess assess ~73
Assess the risk/policy posture of one or more indicators. Answers without an API key. Example call: {"skill":"assess","input":"example.com"}
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com. |
No output schema declared.
No examples provided.
whisper_asset asset ~68
Resolve an asset and its catalog of attributes. Answers without an API key. Example call: {"skill":"asset","input":"example.com"}
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com. |
No output schema declared.
No examples provided.
whisper_explain explain ~72
Explain a verdict - the evidence and reasoning behind it. Answers without an API key. Example call: {"skill":"explain","input":"example.com"}
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com. |
No output schema declared.
No examples provided.
whisper_history history ~73
Historical records for an indicator (incl. whois/bgp history). Answers without an API key. Example call: {"skill":"history","input":"example.com"}
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com. |
No output schema declared.
No examples provided.
whisper_identify identify ~76
Identify an indicator (domain, IP, hash, …) against the graph. Answers without an API key. Example call: {"skill":"identify","input":"example.com"}
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com. |
No output schema declared.
No examples provided.
whisper_lookupTlsFingerprint lookupTlsFingerprint ~101
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"}
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes ja3:771,4865-4866-4867. |
No output schema declared.
No examples provided.
whisper_lookupTorRelay lookupTorRelay ~83
Look up Tor relay metadata for an address. Answers without an API key. Example call: {"skill":"lookupTorRelay","input":"185.220.101.1"}
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes 185.220.101.1. |
No output schema declared.
No examples provided.
whisper_origins origins ~71
Trace the origins/provenance of an indicator. Answers without an API key. Example call: {"skill":"origins","input":"example.com"}
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com. |
No output schema declared.
No examples provided.
whisper_psl psl ~149
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"}
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes a.b.example.co.uk. |
| sub | string | yes | Which sub-verb of this family to run. The example runs "tldPlusOne". |
No output schema declared.
No examples provided.
whisper_rdap Look up an address in RDAP ~169
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"}
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes 2a04:2a01:b69a:6717:e3b0:51ff:3bf7:f478. |
No output schema declared.
No examples provided.
whisper_signup Get a Whisper API key ~120
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"}}
| Name | Type | Req | Description |
|---|---|---|---|
| input | object | yes | Arguments for this operation, as an object. The example passes {"email":"agent@example.com"}. |
No output schema declared.
No examples provided.
whisper_threatintel threatintel ~131
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}
| Name | Type | Req | Description |
|---|---|---|---|
| input | integer | yes | A row limit. The example passes 5. |
| sub | string | yes | Which sub-verb of this family to run. The example runs "candidateCdnApex". |
No output schema declared.
No examples provided.
whisper_topAsnsByPrefixCount topAsnsByPrefixCount ~61
Top ASNs ranked by announced-prefix count. Answers without an API key. Example call: {"skill":"topAsnsByPrefixCount","input":10}
| Name | Type | Req | Description |
|---|---|---|---|
| input | integer | yes | A row limit. The example passes 10. |
No output schema declared.
No examples provided.
whisper_variants variants ~70
Enumerate variants/permutations of an indicator. Answers without an API key. Example call: {"skill":"variants","input":"example.com"}
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com. |
No output schema declared.
No examples provided.
whisper_verify Verify a Whisper agent identity ~206
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"}
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes 2a04:2a01:b69a:6717:e3b0:51ff:3bf7:f478. |
No output schema declared.
No examples provided.
whisper_walk walk ~69
Walk the graph from an indicator across its relationships. Answers without an API key. Example call: {"skill":"walk","input":"example.com"}
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com. |
No output schema declared.
No examples provided.
whisper_watch watch ~62
Watch an indicator for change/activity over time. Answers without an API key. Example call: {"skill":"watch","input":{"action":"list"}}
| Name | Type | Req | Description |
|---|---|---|---|
| input | object | yes | Arguments for this operation, as an object. The example passes {"action":"list"}. |
No output schema declared.
No examples provided.
What is the Whisper MCP server?
Whisper is an MCP server listed in the public MCP registry as io.github.whisper-sec/whisper. One routable IPv6 per AI agent, verifiable from the DNS root. Keyless tools need no signup. This page covers its hosted endpoint (https://whisper.online/mcp).
Is the Whisper MCP server safe to use?
Whisper scores 71 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Whisper MCP server expose?
Whisper exposes 17 tools: whisper_signup, whisper_verify, whisper_rdap, whisper_identify, whisper_assess, and 12 more. Their descriptions and schemas cost roughly 1,654 tokens of context every time the server is loaded.
Does the Whisper MCP server require authentication?
No. We connected to Whisper without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Whisper MCP server still maintained?
Whisper is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.