# Give your agent the internet's infrastructure graph.

> Whisper answers infrastructure questions over a read-only MCP server with seven tools, and over a keyless tier that returns real answers with no account and no key.

*Source: https://www.whisper.security/ai*
*Last updated: 2026-10-04*

---

One key covers the graph API and the MCP server, and an agent can get one without a browser.

- [Connect the MCP server](https://www.whisper.security/ai#mcp)
- [Install the CLI](https://www.whisper.security/docs/cli)

## Questions your agent can hand over.

If a question sounds like one of these, Whisper has the data behind the answer.

- **Is this address or domain listed anywhere?**: A verdict for an IP, hostname, CIDR or ASN, and how much of the picture it covers.
- **Who actually runs this host?**: The operator behind a hostname, with how sure the answer is.
- **What else does this registrant own?**: From one WHOIS email to every domain it registered.
- **Which look-alikes of our brand are registered?**: Lookalike domains, sorted into the ones that matter first.
- **Which network routes this, and is it signed?**: The prefix, the ASN that announces it, and its RPKI state.
- **What does this domain depend on?**: Name servers, hosting, networks and buildings, in one traversal.

## Connect the MCP server.

On Claude web, Desktop and mobile, add WhisperGraph from the Connectors Directory. Every other client takes the URL below and signs in with OAuth.

**Claude Code**

```bash
claude mcp add --transport http whisper-graph https://mcp.whisper.security
# then run /mcp in a session to sign in
```

**Cursor**

```json
{
  "mcpServers": {
    "whisper-graph": {
      "url": "https://mcp.whisper.security"
    }
  }
}
```

**VS Code**

```json
{
  "servers": {
    "whisper-graph": {
      "type": "http",
      "url": "https://mcp.whisper.security"
    }
  }
}
```

**Windsurf**

```json
{
  "mcpServers": {
    "whisper-graph": {
      "serverUrl": "https://mcp.whisper.security"
    }
  }
}
```

**OpenAI Codex**

```toml
# ~/.codex/config.toml
[mcp_servers.whisper-graph]
url = "https://mcp.whisper.security"

# then run: codex mcp login whisper-graph
```

**With an API key**

```bash
claude mcp add --transport http whisper-graph https://mcp.whisper.security \
  --header "Authorization: Bearer YOUR_API_KEY"
```

- [Read the setup guide](https://www.whisper.security/docs/ai/mcp/setup)
- [Agents and MCP docs](https://www.whisper.security/docs/ai)

## Seven tools. Every one of them reads.

Nothing on the server writes to the graph, and the list is the same on every connection.

- **[query](https://www.whisper.security/docs/ai/mcp/reference)**: Read-only Cypher over the whole graph, with the query and row count behind every result.
- **[explain_indicator](https://www.whisper.security/docs/ai/mcp/reference)**: A threat verdict for IPs, hostnames, CIDRs and ASNs, with its coverage on every row.
- **[explain_schema](https://www.whisper.security/docs/ai/mcp/reference)**: What an entity is, what it holds and how it connects.
- **[identify](https://www.whisper.security/docs/ai/mcp/reference)**: Who runs a host. An attribution, never a verdict.
- **[list_workflows](https://www.whisper.security/docs/ai/mcp/reference)**: Search the prepared investigations and every parameter they take.
- **[run_workflow](https://www.whisper.security/docs/ai/mcp/reference)**: Run one or more of them in a call and get a cited report back.
- **[read_docs](https://www.whisper.security/docs/ai/mcp/reference)**: List, search and fetch the Whisper docs, live.

[See the engine behind them](https://www.whisper.security/products/engine)

## The API answers before you sign up.

The graph API has a keyless tier. Send a Cypher query with no key and you get real rows from the live graph. It belongs to the API: running an example on this site takes a free account, and the MCP server always takes a key.

- **No account, no key**: POST the query to graph.whisper.security/api/query with no auth header.
- **Real answers**: The same graph and the same read-only Cypher a key reaches.
- **A key goes further**: Most cross-layer questions need one. Send it as X-API-Key and run the same query again.

- [Read the Cypher API docs](https://www.whisper.security/docs/cypher-api)

## Skills that teach an agent to investigate.

Four open-source playbooks on top of the MCP server: triage one indicator, rank a list, write Cypher, and sort look-alike domains. Each one checks what a result is worth before the agent writes a sentence.

**Claude Code**

```text
/plugin marketplace add whisper-sec/whisper-skills
/plugin install whisper-graph@whisper-security
```

**Any agent**

```bash
npx skills add whisper-sec/whisper-skills
```

- [Read about the skills](https://www.whisper.security/docs/ai/mcp/skills)

## From a terminal, or from your code.

- **[The CLI](https://www.whisper.security/docs/cli)**: One signed binary: Cypher, named recipes and a local MCP server over stdio.
- **[Node SDK](https://github.com/whisper-sec/whisper-node)**: npm i whisper-id: a routable Whisper identity for any Node agent.
- **[Python SDK](https://github.com/whisper-sec/whisper-py)**: pip install whisper-id: the same identity for any Python agent.
- **[Edge SDK](https://github.com/whisper-sec/whisper-edge)**: whisper-edge: dependency-free, for serverless and edge runtimes.
- **[Embed the graph](https://www.whisper.security/products/engine/embed)**: Building a product on the graph? One endpoint, behind your own UI.

[See every free tool](https://www.whisper.security/open)

- [Install the CLI](https://www.whisper.security/docs/cli)

## Get a key without a browser.

Two HTTP calls, with no browser and no human in the loop. If bot protection is ever on for sign-ups, the first call answers 503 captcha_missing_token. Write to support@whisper.security and we finish the sign-up with you.

1. **Send an email address**: POST it to console.whisper.security/api/signup. The optional attribution block names your agent and its runtime. It never blocks a sign-up.
2. **Read the code**: A six-digit code arrives at that address.
3. **Verify it**: POST the code to /api/signup/verify. The key comes back in the response.
4. **[Use one key everywhere](https://www.whisper.security/docs/ai/agent-signup)**: The same key works for the graph API and the MCP server.

## Start, then verify.

**1. Start the sign-up**

```bash
curl -s -X POST https://console.whisper.security/api/signup \
  -H "Content-Type: application/json" \
  -d '{
    "email": "your-agent@example.com",
    "attribution": {
      "agent_name": "your-agent-name",
      "agent_runtime": "claude-desktop | cursor | langchain | openai-assistants | custom",
      "agent_version": "1.2.3",
      "source": "smithery | mcp-directory | self | blog-post"
    }
  }'
```

**2. Verify the code**

```bash
curl -s -X POST https://console.whisper.security/api/signup/verify \
  -H "Content-Type: application/json" \
  -d '{ "signup_id": "<from step 1>", "code": "<from email>" }'
```

## Investigations, ready to run.

The catalog holds prepared investigations, filed by role and by job. An agent finds them with list_workflows and runs them with run_workflow. A person browses the same catalog here on the site.

- [Browse the catalog](https://www.whisper.security/products/intelligence/use-cases)
- [Read the workflow docs](https://www.whisper.security/docs/ai/mcp/workflow-gallery)

## Where the limits are written.

Every account can read the limits it runs under from the API itself, with CALL whisper.quota(). The [Cypher API reference](https://www.whisper.security/docs/cypher-api/reference) explains it, [Pricing](https://www.whisper.security/pricing) lists the plans, and the [Terms](https://www.whisper.security/terms-conditions) cover use of the API and the MCP server.

## Give your agent the graph.

Connect the MCP server, or start from the terminal.

- [Connect the MCP server](https://www.whisper.security/ai#mcp)
- [Install the CLI](https://www.whisper.security/docs/cli)
