_ registry / mcp + a2a streamable-http · checked 8m ago

whisper

https://whisper.online

Registry code: 148e91b7005df286

api record

Whisper gives an AI agent a routable IPv6 address of its own on AS219419, with reverse DNS, a public RDAP record and a DANE certificate in DNSSEC-signed DNS, plus egress that sources from that address and a resolver whose policy you set. It also answers security questions about any domain, address, ASN or file hash from a graph of internet infrastructure. The tools whose names you can see without a key really work without one. For the rest, run whisper_signup with your email address: a key arrives with no account and no human in the loop, and then pass it as the X-API-Key header.

endpoint
https://whisper.online/mcp
door code
02857f04bd4b9309
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is whisper live?
Yes — it answered the hub's last check (checked 8m ago). It answered 100% of checks over the last 30 days.
Is whisper free to use?
Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
What tools does whisper have?
41 tools: whisper_origins, whisper_explain, whisper_rdap, whisper_identify, whisper_lookupTlsFingerprint, whisper_lookupTorRelay, whisper_threatintel, whisper_assess, ….
Is whisper safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.7%

90 days 99.2%· all time 98.9%

latency
72ms

last good check

priced tools
0

of 41 tools

_ answered our checks, 90 days 1073 checks · signed record
  • degraded → live
  • degraded → live
  • live → degraded· timeout after 20000ms
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • assess risk of indicator
  • resolve asset attributes
  • explain security verdict
  • get historical records
  • identify indicator
takes → gives
text → data
tools
16 reads1 changes data
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 41 tools
27 auth-required 14 never probed 27 of 41 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • whisper_watch reads auth-required never probed

    Watch an indicator for change/activity over time. Answers without an API key. Example call: {"skill":"watch","input":{"action":"list"}}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"action\":\"list\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_submit auth-required never probed

    Submit an observation/claim into the graph. Writes to the graph, so it needs your API key: an anonymous claim would not be attributable. Example call: {"skill":"submit","input":{"host":"example.com","claim":"benign"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"host\":\"example.com\",\"claim\":\"benign\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_asset reads auth-required never probed

    Resolve an asset and its catalog of attributes. Answers without an API key. Example call: {"skill":"asset","input":"example.com"}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "string",
          "description": "The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_agent auth-required 14h ago

    The agent operation on the Whisper control plane, served as CALL whisper.agents({op:'agent', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}. Add include:'tombstones' to read an agent that is gone: its newest lifecycle row says whether it was revoked, released, erased or reaped, when, by whom and why. Example call: {"skill":"agents.agent","input":{"agent":"agent-a1f4c0b2d3e4f5a67"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"agent\":\"agent-a1f4c0b2d3e4f5a67\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_connect auth-required never probed

    The connect operation on the Whisper control plane, served as CALL whisper.agents({op:'connect', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published. Example call: {"skill":"agents.connect","input":{}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation. With none, it describes what you already have."
        }
      }
    }
    arguments 10 lines
  • whisper_agents_disconnect auth-required never probed

    The disconnect operation on the Whisper control plane, served as CALL whisper.agents({op:'disconnect', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published. Example call: {"skill":"agents.disconnect","input":{}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation. With none, it describes what you already have."
        }
      }
    }
    arguments 10 lines
  • whisper_agents_firewall auth-required never probed

    The firewall operation on the Whisper control plane, served as CALL whisper.agents({op:'firewall', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}. Example call: {"skill":"agents.firewall","input":{"agent":"agent-a1f4c0b2d3e4f5a67"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"agent\":\"agent-a1f4c0b2d3e4f5a67\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_host auth-required never probed

    The host operation on the Whisper control plane, served as CALL whisper.agents({op:'host', args:{...}}). Requires your Whisper API key. Example call: {"skill":"agents.host","input":{"name":"my-host","type":"TXT","value":"hello"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"name\":\"my-host\",\"type\":\"TXT\",\"value\":\"hello\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_list auth-required 12h ago

    The list operation on the Whisper control plane, served as CALL whisper.agents({op:'list', args:{...}}). Requires your Whisper API key. Add include:'tombstones' to list the agents that are gone as well, paged, each with its lifecycle state (never 'active'), actor and reason. Example call: {"skill":"agents.list","input":{"kind":"agents"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"kind\":\"agents\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_policy auth-required never probed

    The policy operation on the Whisper control plane, served as CALL whisper.agents({op:'policy', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published. Example call: {"skill":"agents.policy","input":{}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation. With none, it describes what you already have."
        }
      }
    }
    arguments 10 lines
  • whisper_agents_register auth-required never probed

    The register operation on the Whisper control plane, served as CALL whisper.agents({op:'register', args:{...}}). Requires your Whisper API key. Example call: {"skill":"agents.register","input":{"label":"my-first-agent"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"label\":\"my-first-agent\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_rename auth-required never probed

    The rename operation on the Whisper control plane, served as CALL whisper.agents({op:'rename', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}. Example call: {"skill":"agents.rename","input":{"agent":"agent-a1f4c0b2d3e4f5a67","label":"renamed-agent"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"agent\":\"agent-a1f4c0b2d3e4f5a67\",\"label\":\"renamed-agent\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_resolver auth-required never probed

    The resolver operation on the Whisper control plane, served as CALL whisper.agents({op:'resolver', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published. Example call: {"skill":"agents.resolver","input":{}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation. With none, it describes what you already have."
        }
      }
    }
    arguments 10 lines
  • whisper_agents_revoke auth-required never probed

    The revoke operation on the Whisper control plane, served as CALL whisper.agents({op:'revoke', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}. Example call: {"skill":"agents.revoke","input":{"agent":"agent-a1f4c0b2d3e4f5a67"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"agent\":\"agent-a1f4c0b2d3e4f5a67\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_task auth-required 12h ago

    The task operation on the Whisper control plane, served as CALL whisper.agents({op:'task', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}. Example call: {"skill":"agents.task","input":{"agent":"agent-a1f4c0b2d3e4f5a67"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"agent\":\"agent-a1f4c0b2d3e4f5a67\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_token auth-required never probed

    The token operation on the Whisper control plane, served as CALL whisper.agents({op:'token', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}. Example call: {"skill":"agents.token","input":{"agent":"agent-a1f4c0b2d3e4f5a67"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"agent\":\"agent-a1f4c0b2d3e4f5a67\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_trace auth-required 12h ago

    The trace operation on the Whisper control plane, served as CALL whisper.agents({op:'trace', args:{...}}). Requires your Whisper API key. Example call: {"skill":"agents.trace","input":{"dest":"203.0.113.7"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"dest\":\"203.0.113.7\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_verify auth-required never probed

    The verify operation on the Whisper control plane, served as CALL whisper.agents({op:'verify', args:{...}}). Requires your Whisper API key. Example call: {"skill":"agents.verify","input":{"name":"example.com"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"name\":\"example.com\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_partner auth-required never probed

    The partner operation on the Whisper control plane, served as CALL whisper.agents({op:'partner', args:{...}}). Requires your Whisper API key. It is gated on partner authority rather than on arguments: without it the call is refused whatever you pass. Example call: {"skill":"agents.partner","input":{}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation. With none, it describes what you already have."
        }
      }
    }
    arguments 10 lines
  • whisper_agents_history auth-required 14h ago

    The history operation on the Whisper control plane, served as CALL whisper.agents({op:'history', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}. Example call: {"skill":"agents.history","input":{"address":"2a04:2a01:f6d7:1ffe:a0be:ba8a:c355:bba1"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"address\":\"2a04:2a01:f6d7:1ffe:a0be:ba8a:c355:bba1\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_signup changes data auth-required never probed

    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":"[email protected]"}}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"email\":\"[email protected]\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_alert auth-required never probed

    The alert operation on the Whisper control plane, served as CALL whisper.agents({op:'alert', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published. Example call: {"skill":"agents.alert","input":{}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation. With none, it describes what you already have."
        }
      }
    }
    arguments 10 lines
  • whisper_agents_detect auth-required 19h ago

    The detect operation on the Whisper control plane, served as CALL whisper.agents({op:'detect', args:{...}}). Requires your Whisper API key. Example call: {"skill":"agents.detect","input":{}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation. With none, it describes what you already have."
        }
      }
    }
    arguments 10 lines
  • whisper_agents_domain auth-required never probed

    The domain operation on the Whisper control plane, served as CALL whisper.agents({op:'domain', args:{...}}). Requires your Whisper API key. Example call: {"skill":"agents.domain","input":{"name":"example.com"}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation, as an object. The example passes {\"name\":\"example.com\"}."
        }
      }
    }
    arguments 12 lines
  • whisper_agents_identity auth-required 19h ago

    The identity operation on the Whisper control plane, served as CALL whisper.agents({op:'identity', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published. Example call: {"skill":"agents.identity","input":{}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation. With none, it describes what you already have."
        }
      }
    }
    arguments 10 lines
  • whisper_agents_logs auth-required 19h ago

    The logs operation on the Whisper control plane, served as CALL whisper.agents({op:'logs', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published. Example call: {"skill":"agents.logs","input":{}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation. With none, it describes what you already have."
        }
      }
    }
    arguments 10 lines
  • whisper_agents_lookups auth-required 14h ago

    The lookups operation on the Whisper control plane, served as CALL whisper.agents({op:'lookups', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published. Example call: {"skill":"agents.lookups","input":{}} Needs a linked Whisper account (OAuth) or your API key in the X-API-Key header.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "input": {
          "type": "object",
          "description": "Arguments for this operation. With none, it describes what you already have."
        }
      }
    }
    arguments 10 lines
  • whisper_origins reads unknown 8m ago

    Trace the origins/provenance of an indicator. Answers without an API key. Example call: {"skill":"origins","input":"example.com"}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "string",
          "description": "The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com."
        }
      }
    }
    arguments 12 lines
  • whisper_explain reads unknown 9h ago

    Explain a verdict - the evidence and reasoning behind it. Answers without an API key. Example call: {"skill":"explain","input":"example.com"}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "string",
          "description": "The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com."
        }
      }
    }
    arguments 12 lines
  • whisper_rdap reads unknown 21h ago

    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"}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "string",
          "description": "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."
        }
      }
    }
    arguments 12 lines
  • whisper_identify reads unknown 4h ago

    Identify an indicator (domain, IP, hash, …) against the graph. Answers without an API key. Example call: {"skill":"identify","input":"example.com"}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "string",
          "description": "The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com."
        }
      }
    }
    arguments 12 lines
  • whisper_lookupTlsFingerprint reads unknown 4h ago

    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"}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "string",
          "description": "The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes ja3:771,4865-4866-4867."
        }
      }
    }
    arguments 12 lines
  • whisper_lookupTorRelay reads unknown 8m ago

    Look up Tor relay metadata for an address. Answers without an API key. Example call: {"skill":"lookupTorRelay","input":"185.220.101.1"}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "string",
          "description": "The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes 185.220.101.1."
        }
      }
    }
    arguments 12 lines
  • whisper_threatintel reads unknown 21h ago

    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}

    mcp-tool

    {
      "type": "object",
      "required": [
        "sub",
        "input"
      ],
      "properties": {
        "sub": {
          "type": "string",
          "description": "Which sub-verb of this family to run. The example runs \"candidateCdnApex\"."
        },
        "input": {
          "type": "integer",
          "description": "A row limit. The example passes 5."
        }
      }
    }
    arguments 17 lines
  • whisper_assess reads unknown 21h ago

    Assess the risk/policy posture of one or more indicators. Answers without an API key. Example call: {"skill":"assess","input":"example.com"}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "string",
          "description": "The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com."
        }
      }
    }
    arguments 12 lines
  • whisper_variants reads unknown 9h ago

    Enumerate variants/permutations of an indicator. Answers without an API key. Example call: {"skill":"variants","input":"example.com"}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "string",
          "description": "The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com."
        }
      }
    }
    arguments 12 lines
  • whisper_history reads unknown 7h ago

    Historical records for an indicator (incl. whois/bgp history). Answers without an API key. Example call: {"skill":"history","input":"example.com"}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "string",
          "description": "The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com."
        }
      }
    }
    arguments 12 lines
  • whisper_verify reads unknown 7h ago

    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"}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "string",
          "description": "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."
        }
      }
    }
    arguments 12 lines
  • whisper_topAsnsByPrefixCount reads unknown 9h ago

    Top ASNs ranked by announced-prefix count. Answers without an API key. Example call: {"skill":"topAsnsByPrefixCount","input":10}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "integer",
          "description": "A row limit. The example passes 10."
        }
      }
    }
    arguments 12 lines
  • whisper_walk reads unknown 7h ago

    Walk the graph from an indicator across its relationships. Answers without an API key. Example call: {"skill":"walk","input":"example.com"}

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "string",
          "description": "The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes example.com."
        }
      }
    }
    arguments 12 lines
  • whisper_psl reads unknown 8m ago

    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"}

    mcp-tool

    {
      "type": "object",
      "required": [
        "sub",
        "input"
      ],
      "properties": {
        "sub": {
          "type": "string",
          "description": "Which sub-verb of this family to run. The example runs \"tldPlusOne\"."
        },
        "input": {
          "type": "string",
          "description": "The indicator to look up: a domain, an IP address, an ASN or a file hash. The example passes a.b.example.co.uk."
        }
      }
    }
    arguments 17 lines
_ try it over mcp through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 148e91b7005df286.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/148e91b7005df286/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/148e91b7005df286/badge.svg)](https://brick.blue/agent/148e91b7005df286?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we knowoff the mcp door
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.