Index / MCP servers / Nullcone Threat Intelligence

Nullcone Threat Intelligence MCP server

Nullcone Threat Intelligence is a remote MCP server that gives an AI agent 30 tools, among them check_freshness, check_prompt, check_prompt_batch. It answers at https://nullcone.ai/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 5 of 6 times since 11 September 2026; the last check, on 22 October 2026, succeeded.

Status
Answering
Tools
30
Reliability
5 of 6 checks
Response time
302 ms
Transport
streamable HTTP
Last checked
22 October 2026

Real-time threat intel for AI agents: 890K+ IOCs incl. prompt-injection & AI-skill threats

Description as the publisher wrote it.

The 30 tools Nullcone Threat Intelligence offers

ToolWhat it does
check_freshnessValidate that IOC threat intelligence is fresh enough for the named action. Call this before any high-risk agent action to ensure the TI snapshot is not stale. The check itself completes in <1ms (no network I/O). Action → staleness tier map
Inputs: action, block_on_stale
check_promptCheck a prompt or text fragment for known PROMPT IOC patterns. Uses an in-memory hash set for sub-1ms token-level querying — no network calls after the cache is warmed. Slides a window of 3, 5, 8, and 10 tokens across the input and checks e
Inputs: text, auto_warm
check_prompt_batchCheck multiple prompts for PROMPT IOC patterns in a single call. More efficient than calling check_prompt() in a loop — tokenization overhead is amortized and the cache reference is shared. Args: texts: List of prompt strings to check Retur
Inputs: texts
drain_subscriptionDrain the buffer of a stateful subscription created by subscribe_threats(). Returns all IOCs delivered to this subscription since the last drain. Each subscription is independent — draining yours does not affect others. Args: subscription_i
Inputs: subscription_id, drain
family_threatsReturn all threat signatures associated with a known malware family. Use list_families() first to discover available family names. Args: family_name: Exact malware family name (e.g. "emotet", "qbot", "cobalt_strike") limit: Max results to r
Inputs: family_name, limit
fingerprint_tool_metadataAnalyze an MCP tool definition for instruction-injection and malicious patterns. Performs semantic fingerprinting of the tool's description, parameter schemas, and error templates — detecting credential exfiltration vectors, C2 callbacks, b
Inputs: tool_def, registry, track
freshness_limitsReturn the configured IOC freshness limits for all action tiers. Shows max staleness, warn threshold, and which actions belong to each tier. Use this to understand when check_freshness() will warn or block.
get_new_threatsDrain the live push-subscription buffer of threats received since the last call. Zero-polling — threats are delivered via SpacetimeDB WebSocket subscription and buffered server-side. Use this instead of poll_since() when you need sub-second
Inputs: drain
get_statsReturn aggregate statistics for the threat intelligence database. Includes total signatures, known malware families, active agents, and total detection events.
is_ioc_revokedCheck whether an IOC has been revoked. O(1) in-process lookup. Use this before acting on any cached threat intelligence to ensure the IOC has not been retracted since it was loaded. Args: value_hash: SHA256 of {ioc_type}:{value.lower()}. Re
Inputs: value_hash
list_familiesReturn all known malware families in the intelligence database. Each entry includes the family name, description, and category. Use family_threats(family_name) to retrieve the IOCs for a specific family.
list_revocationsList recent IOC revocations, newest first. Args: limit: Maximum number of revocations to return (default 50). since_hours: Only return revocations newer than this many hours ago. 0 = no time filter (return all retained). Returns: revocation
Inputs: limit, since_hours
list_subscriptionsList all active stateful push subscriptions on this MCP server instance. Returns metadata for each subscription (not the buffered IOCs themselves). Useful for inspecting what agents are currently subscribed and what filters they have config
lookup_iocLook up a threat signature by its exact IOC value. Returns the full signature record if found, including severity, family, detection count, and false positive votes. Args: value: The exact IOC value to search for (e.g. "evil.example.com")
Inputs: value
poll_sinceFetch new threat signatures since a high-water mark ID. This is the recommended sync pattern — one call, get new data, persist next_id, disconnect. No persistent connection required. Call with last_id=0 on first run to get all signatures. P
Inputs: last_id, batch_size, min_severity
prompt_cache_statsReturn PROMPT IOC cache statistics: size, hit rate, latency, refresh status. Use this to verify the cache is warmed and healthy before relying on check_prompt() for real-time detection.
recent_threatsReturn the most recently observed threat signatures. Args: limit: Max number of results to return (1-200) min_severity: Minimum severity level (0-10). Default 5 (medium+)
Inputs: limit, min_severity
registry_flagged_toolsReturn all MCP tools that have been flagged as suspicious or malicious. Includes tools flagged on initial ingestion (high-risk fingerprint) and tools that showed significant semantic drift on update.
registry_monitor_statsReturn MCP registry monitoring statistics. Shows how many tool definitions are tracked, how many have been flagged, and the current drift detection rate.
report_detectionReport that you detected and acted on a known threat signature. Increments the signature's detection count and creates a ThreatEvent visible to all other agents in real-time. Args: signature_id: ID of the ThreatSignature (from submit_ioc or
Inputs: signature_id, action, context
revoke_iocRevoke an IOC by its value hash, pushing the expiration event to all active subscriptions in real-time. Call this when an IOC is determined to be a false positive, expired, or superseded. Subscribed agents receive the revocation event on th
Inputs: value_hash, reason, ioc_type
scan_skill_contentPre-execution content scan for skill/instruction files. Analyzes the full text of a skill (markdown, plain text, SKILL.md, etc.) for malicious patterns BEFORE the agent follows the instructions. This is the critical defense against remote s
Inputs: content, source_url
search_by_typeReturn threat signatures filtered by IOC type. Useful for pulling all known-bad IPs, all malicious domains, all malicious AI skill hashes, etc. Args: ioc_type: One of: hash_md5, hash_sha1, hash_sha256, ip, ip_port, domain, url, yara, email,
Inputs: ioc_type, limit, min_severity
submit_batchSubmit multiple IOCs in a single call. Preferred over looping submit_ioc for bulk ingest from honeypots, sandboxes, or feed processing. Each dict in `iocs` follows the same schema as submit_ioc parameters. Required keys: ioc_type, value. Al
Inputs: iocs
submit_iocSubmit a threat indicator (IOC) to the shared intelligence network. The IOC is automatically classified into a malware family, metadata is compressed, and deduplication is handled atomically. All subscribed agents see the new IOC instantly.
Inputs: ioc_type, value, severity, confidence, context, tags
subscribe_threatsOpen a named, stateful subscription to live threat push delivery. Returns a subscription_id. Pass it to drain_subscription() to collect the IOCs that have arrived since your last drain — zero polling, each caller gets their own isolated str
Inputs: min_severity, ioc_types, families, tags
unsubscribeCancel a stateful subscription and free its buffer. Call this when you no longer need the subscription to release memory. Subscriptions also auto-expire after 1 hour of inactivity. Args: subscription_id: The ID returned by subscribe_threats
Inputs: subscription_id
validate_skillSynchronous SKILL IOC lookup — call this before loading or invoking any MCP tool/skill to check it against the Nullcone threat feed. This is the pre-invocation enforcement hook. Returns an allow/warn/block decision based on whether the skil
Inputs: skill_hash, skill_name, manifest_url
vote_false_positiveFlag a threat signature as a likely false positive. When more than 20% of agents vote false positive on a signature, its `is_likely_fp` flag becomes True — a signal to review before blocking. Args: signature_id: ID of the ThreatSignature to
Inputs: signature_id, reason
warm_prompt_cacheLoad all PROMPT IOCs from SpacetimeDB into the in-memory hash set. Call once at startup (or after a major feed update) to populate the sub-1ms query cache. Subsequent check_prompt() calls require no network access. The cache auto-refreshes

Add Nullcone Threat Intelligence to your AI client

Every block below points at https://nullcone.ai/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http nullcone-threat-intelligence https://nullcone.ai/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "nullcone-threat-intelligence": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://nullcone.ai/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "nullcone-threat-intelligence": {
      "url": "https://nullcone.ai/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "nullcone-threat-intelligence": {
      "type": "http",
      "url": "https://nullcone.ai/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "nullcone-threat-intelligence": {
      "url": "https://nullcone.ai/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "nullcone-threat-intelligence": {
      "serverUrl": "https://nullcone.ai/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "nullcone-threat-intelligence": {
      "url": "https://nullcone.ai/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: Nullcone Threat Intelligence
version: 0.0.1
schema: v1
mcpServers:
  - name: Nullcone Threat Intelligence
    type: streamable-http
    url: https://nullcone.ai/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "nullcone-threat-intelligence": {
      "httpUrl": "https://nullcone.ai/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "nullcone-threat-intelligence": {
      "type": "http",
      "url": "https://nullcone.ai/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "nullcone-threat-intelligence": {
      "url": "https://nullcone.ai/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fnullcone.ai%2Fmcp&type=streamable_http&id=nullcone-threat-intelligence&name=Nullcone%20Threat%20Intelligence

Is Nullcone Threat Intelligence up right now?

It answered our last check on 22 October 2026 in 302 ms. Over 6 checks since 11 September 2026 it answered 5. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to Nullcone Threat Intelligence

Questions about Nullcone Threat Intelligence

How many tools does Nullcone Threat Intelligence have?

30, as returned by the server's own tools/list on 15 September 2026: check_freshness, check_prompt, check_prompt_batch, drain_subscription, family_threats, fingerprint_tool_metadata, freshness_limits, get_new_threats, and 22 more.

Is Nullcone Threat Intelligence down?

It answered our last check on 22 October 2026 in 302 ms. Over 6 checks since 11 September 2026 it answered 5.

How do I add Nullcone Threat Intelligence to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://nullcone.ai/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does Nullcone Threat Intelligence need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: io.github.maco144. Endpoint host: nullcone.ai. ARD identifier: urn:air:io.github.maco144:mcp:nullcone. First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.