Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

HoneyLabs

REMOTE · MCP.HONEYLABS.NET · SCANNED AUG 3

Query 90 days of honeypot probe data: IP reputation, scanners, CVE probing, TLS/SSH fingerprints.

+8 this week 73 Trust /100
Trust breakdown (6 categories)

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 →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability57
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 2017 tokens (~224/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage67
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · mcp.honeylabs.net

# add to Claude Code
claude mcp add --transport http net-honeylabs-mcp https://mcp.honeylabs.net/mcp
# ~/.codex/config.toml
[mcp_servers.net-honeylabs-mcp]
url = "https://mcp.honeylabs.net/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "net-honeylabs-mcp": {
      "type": "remote",
      "url": "https://mcp.honeylabs.net/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add net-honeylabs-mcp --url https://mcp.honeylabs.net/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  net-honeylabs-mcp:
    url: "https://mcp.honeylabs.net/mcp"
// mcp.json
{
  "mcpServers": {
    "net-honeylabs-mcp": {
      "type": "http",
      "url": "https://mcp.honeylabs.net/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

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.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +5
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1
    • Tool “search_events_tool” rewrote its description, which is the text the model reads security
    • “search_events_tool” dropped the optional parameter “community_id” cosmetic
  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 64

    First indexed and scored.

Diagnostics

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 3 Aug 2026 · Probed https://mcp.honeylabs.net/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.honeylabs.net CN=YE2,O=Let's Encrypt,C=US 12 Jul 2026 10 Oct 2026 ECDSA 256 ECDSA-SHA384 582ee453214e38a44f1f577bda1719a41da
SANs: mcp.honeylabs.net
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
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
DNSSEC insecure

Validation of mcp.honeylabs.net. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
net. present 37331 13 Verified
honeylabs.net. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer realm="HoneyLabs MCP", resource_metadata="https://mcp.honeylabs.net/.well-known/oauth-protected-resource"

Bearer realm="HoneyLabs MCP", resource_metadata="https://mcp.honeylabs.net/.well-known/oauth-protected-resource"
Header Value
strict-transport-security max-age=31536000; includeSubDomains
content-security-policy default-src 'self'; script-src 'self' https://cdn.tailwindcss.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src https://fonts.gstatic.com; img-src 'self' data:; connect-src 'self'; frame-ancestors 'none'
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy geolocation=(), camera=(), microphone=()

Protected resource metadata

Document https://mcp.honeylabs.net/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://mcp.honeylabs.net/mcp
Authorisation server https://mcp.honeylabs.net
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.honeylabs.net/mcp Verified 200
http (plaintext) http://mcp.honeylabs.net/mcp HTTPS enforced 308 https://mcp.honeylabs.net/mcp
MCP tools — 9 exposed · ~2,017 tokens

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.

Tool Tokens
asn_enrich_tool ~134

Full honeypot profile for an ASN (autonomous system / hosting provider). Use for: 'tell me about AS202425', 'what is Vultr doing in my honeypots?', 'attacks from this hosting provider', 'attribute this IP to its network'. asn format: 'AS12345'. Returns: total events, unique IPs, top targeted ports, top source countries, top user agents, org name. since/until are ISO-8601 UTC strings.

NameTypeReqDescription
asnstringyes
sincestringyes
untilstringyes

No output schema declared.

No examples provided.

attack_timeline_tool ~141

Attack volume over time, bucketed by hour or day. Use for: 'show attack trends this week', 'was there a spike on port 22?', 'how has SSH scanning changed?', 'attack volume from China over 30 days'. bucket: 'hour' or 'day'. Optional filters: filter_protocol ('tls'/'''), filter_country (2-letter code), filter_dest_port. since/until ISO-8601 UTC.

NameTypeReqDescription
bucketstring
filter_country
filter_dest_port
filter_protocol
sincestringyes
untilstringyes

No output schema declared.

No examples provided.

cve_lookup_tool ~214

Who is probing a specific CVE. Use whenever the user names a CVE: 'is CVE-2024-4577 being exploited in the wild?', 'who is scanning for this CVE?', 'show me actors probing CVE-2023-1389'. Returns severity, KEV (actively_exploited), event and unique-IP counts, the top probing IPs with country/ASN/scanner tag, top ASNs, exploiter fingerprints, sample request paths and a daily timeline. window: 24h, 7d, 30d or 90d. `observed: false` with a note means we hold no detection pattern for that CVE, which is NOT the same as nobody scanning it. Do not use payload_search for a CVE id: the id is our tag for a pattern and never appears in the payload text.

NameTypeReqDescription
cve_idstringyes
limitinteger
windowstring

No output schema declared.

No examples provided.

fingerprint_population_tool ~177

The population behind a single client fingerprint: how many source IPs carry it, across how many networks (ASNs) and countries, the ports they hit, the top networks and a sample of the IPs, plus a read on whether it is concentrated (a likely coordinated operation, many IPs on few networks) or spread thin (a common client). Use when a user asks: 'is this JA4 one botnet or a common tool?', 'how many networks use this HASSH?', 'how specific / concentrated is this fingerprint?'. fp_type: 'ja4' (TLS), 'ja4h' (HTTP), 'hassh' (SSH). Covers the full retained window (no date range).

NameTypeReqDescription
fingerprintstringyes
fp_typestringyes

No output schema declared.

No examples provided.

fingerprint_search_tool ~162

Search honeypot activity by TLS, HTTP, or SSH fingerprint. Use when a user asks: 'have you seen this JA4 fingerprint?', 'which IPs share this TLS fingerprint?', 'how common is this HASSH?', 'find all scanners with this SSH client fingerprint'. fp_type: 'ja4' (TLS client), 'ja3' (legacy TLS client, MD5 — still keyed by many TI feeds), 'ja4h' (HTTP client), 'hassh' (SSH client). since/until are ISO-8601 UTC strings.

NameTypeReqDescription
fingerprintstringyes
fp_typestringyes
limitinteger
sincestringyes
untilstringyes

No output schema declared.

No examples provided.

ioc_lookup_tool ~233

Look up any IP address or domain in the honeypot dataset. Use this FIRST whenever the user asks: 'is this IP malicious?', 'is this a known scanner?', 'have you seen this IP?', 'what does this IP do?', 'when was it last seen?', 'is this IP in your data?'. Returns: total_events (0 = never observed), first_seen, last_seen, country, ASN, the 50 most-hit ports plus ports_targeted_count for the true total, top user agents, top URL paths, TLS/HTTP/SSH fingerprints. Covers both IPv4 and domains. Also returns our own judgement: `verdict` (human sentence) with `verdict_key` (stable machine value to alert on) and `verdict_why`; `scanner` (benign-scanner identity from our classification table, or null) so research traffic can be told apart from real attacks; and `cve_probes`, the CVE signatures this address was seen probing.

NameTypeReqDescription
iocstringyes

No output schema declared.

No examples provided.

payload_search_tool ~301

Literal substring search over captured request text: URL path, request body, request headers and event summary. Use for: 'find attacks targeting /wp-admin', 'find requests with this user agent string', 'what payloads hit port 80 last week'. It matches text that literally appeared in the request, and nothing else. These do NOT work and will return an empty list: - a CVE id ('CVE-2024-4577'), which is our tag for a pattern, never payload text. Use cve_lookup instead. This tool rejects them rather than answering emptily. - a product or vendor name ('Cisco FMC', '7-Zip'), which appears in an advisory, not in the request. Search the endpoint it exposes instead, e.g. '/ccmadmin' or the vulnerable path. - a description of behaviour ('SQL injection attempts'). Search a marker that occurs in the traffic, e.g. 'UNION SELECT' or '../'. An empty list is a real answer: it means no captured request in that window contained the string. Widen since/until before concluding the activity does not exist. Free to call; volume is metered like every other tool. since/until are ISO-8601 UTC strings.

NameTypeReqDescription
limitinteger
querystringyes
sincestringyes
untilstringyes

No output schema declared.

No examples provided.

search_events_tool ~391

Return individual raw honeypot events with all fields. Use when the user wants to see actual records: 'show me events from this IP', 'what hit port 443 last week', 'events from Russia yesterday'. Filters: source_ip, country (2-letter code), asn (e.g. 'AS12345'), dest_port, protocol ('tls' or '' = the coarse TLS/raw-TCP signal), app_protocol (nDPI L7 protocol label: 'bittorrent', 'ssh', 'rdp', 'mssql-tds', 'mining', 'rtsp', 'smbv1', ... — find everything speaking a protocol regardless of port), http_method, request_header (substring of the masked HTTP request headers), ja4/ja3 (exact TLS client fingerprint), has_client_cert (true = only events where the client presented an mTLS cert), ip_version (4 or 6 = only IPv4 or IPv6 sources). since/until are ISO-8601 UTC strings. Each record includes: source_ip, country, asn, dest_port, user_agent, url_path, http_request_headers, tls_client_ja4, tls_client_ja3, http_request_ja4h, ssh_client_hassh, tls_client_cert_subject/issuer, event_sequence, event_duration, source_bytes/dest_bytes/network_bytes, network_protocol, application_protocol, timestamp.

NameTypeReqDescription
app_protocol
asn
country
dest_port
has_client_cert
http_method
ip_version
ja3
ja4
limitinteger
protocol
request_header
sincestringyes
source_ip
untilstringyes

No output schema declared.

No examples provided.

top_attackers_tool ~264

Ranked leaderboard of attack sources. Use for: 'who is attacking the most?', 'top attacking countries', 'most targeted ports', 'most common user agents', 'top ASNs by attack volume', 'top IPs from China', 'top attackers hitting port 22'. 'by' controls grouping: ip, asn, country, port, user_agent, ja4, url_path, domain, cve. by='cve' answers 'what CVEs are being mass-scanned right now' and returns value (the CVE id), title, severity, actively_exploited and counts; drill into any of them with cve_lookup. by='cve' does not accept the country/dest_port/asn filters. Optional filters: country (2-letter ISO, e.g. 'CN'), dest_port, asn (e.g. 'AS12345'). Adding a filter is required for large time ranges to stay within memory limits. since/until are ISO-8601 UTC strings.

NameTypeReqDescription
asn
bystring
country
dest_port
limitinteger
sincestringyes
untilstringyes

No output schema declared.

No examples provided.