npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

intelthreadlinqs-mcp

v8.2.1

Published

MCP server for Threadlinqs Intelligence Platform — 81 tools, 25 prompts and 14 resources across threat intel, detections, IOCs, actors, C2, MITRE chains, correlations and Purple-tier composite intelligence

Readme

intelthreadlinqs-mcp

MCP server for Threadlinqs Intelligence — 81 tools and 25 analyst-playbook prompts across threat intelligence, detections, IOCs, threat actors, MITRE attack-chains, C2 infrastructure, and Purple-tier composite intelligence. Drop-in for Claude Code, Claude Desktop, Cursor, and any MCP-compatible client.

npm version Node License: MIT

What this gives your AI agent

  • 1,700+ threats with full metadata, severity, attribution, CVE/CWE, MITRE
  • 16,000+ detection rules in Splunk SPL, Microsoft KQL, and Sigma YAML
  • 47,000+ IOCs (IPs, domains, hashes, URLs, behavioral)
  • 500+ threat actors with TTPs profiles and cross-actor infrastructure links
  • 140+ live C2 beacons (Cobalt Strike) with watermark clustering + operator attribution
  • Daily intelligence debriefs + 7-engine correlation analytics
  • MITRE attack-chain prediction based on 4,271 observed technique transitions

Quick install

# No install needed — npx will fetch it
npx -y intelthreadlinqs-mcp

Claude Code

claude mcp add threadlinqs-intel \
  -e THREADLINQS_API_KEY=tl_your_key_here \
  -- npx -y intelthreadlinqs-mcp

The -e THREADLINQS_API_KEY is required in practice. The Threadlinqs Intelligence MCP server is a Purple-tier feature — it checks your key's tier at startup and warns if it is missing, invalid, or below Purple. The server still starts and exposes its tool catalog so clients and registries can introspect it, but tool calls are gated server-side: without a Purple or Gold key (tier ≥ 3) they return an Access denied error instead of data. There is no free or anonymous access to gated intelligence.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "threadlinqs-intel": {
      "command": "npx",
      "args": ["-y", "intelthreadlinqs-mcp"],
      "env": {
        "THREADLINQS_API_KEY": "tl_your_key_here"
      }
    }
  }
}

Cursor

.cursor/mcp.json:

{
  "mcpServers": {
    "threadlinqs-intel": {
      "command": "npx",
      "args": ["-y", "intelthreadlinqs-mcp"],
      "env": {
        "THREADLINQS_API_KEY": "tl_your_key_here"
      }
    }
  }
}

VS Code

.vscode/mcp.json:

{
  "servers": {
    "threadlinqs-intel": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "intelthreadlinqs-mcp"],
      "env": {
        "THREADLINQS_API_KEY": "tl_your_key_here"
      }
    }
  }
}

Getting an API key

Sign up at intel.threadlinqs.com, verify your email, and head to Profile → API Key. Note that signing up alone lands you on Blue (tier 1) — MCP tool calls need tier ≥ 3, so they return an under-tier error until you upgrade. A 7-day Purple free trial is offered at checkout on the pricing page.

Access — Purple tier only

The MCP server is a Purple-tier feature: all 81 tools require a Purple or Gold subscription (tier ≥ 3). The server checks your key's tier at startup and warns when it is missing, invalid, or below Purple — it still starts and lists its tools so clients can introspect the catalog, but the tier is enforced server-side on every call, so gated tools return Access denied rather than data. There is no free or anonymous access to gated intelligence.

| Tier | Price | MCP access | |---|---|---| | Purple | $11.99/mo | ✅ All 81 tools | | Gold | Custom | ✅ All 81 tools (team — contact sales) | | Lower tiers | — | ❌ No MCP access (the public website + REST API keep their own free Blue tier) |

A 7-day Purple free trial is available at checkout on the pricing page — it is not granted by signup alone. Tool calls enforce the tier server-side and return a structured 403 if your subscription lapses.

v4.3 flagship tools (Purple tier)

The composite tools are the reason most people upgrade to Purple — each one replaces 5–7 single-purpose MCP calls.

get_threat_hunting_bundle ⭐

Input: threat_id (e.g. "TL-2026-0599")

Returns: complete hunt dossier in one shot — threat metadata, full IOC list, SPL/KQL/Sigma detection queries, similar threats, simulation commands, and cross-threat infrastructure pivots. The single most useful tool in the platform.

get_actor_intelligence

Input: actor name (e.g. "Lazarus Group", "APT29")

Returns: comprehensive adversary picture — actor profile, attributed threats, MITRE techniques, IOCs (200 cap), detection rules (100 cap), activity timeline, active C2 infrastructure correlated to the actor, and cross-actor shared entities.

get_ioc_intelligence

Input: ioc_value (IP, domain, hash, URL)

Returns: every threat that touches the IOC + actor attribution + DNS enrichment trail + cross-IOC infrastructure pivots + consensus confidence score across 7 external feeds (Pulsedive, GreyNoise, YARAify, MalwareBazaar, URLScan, VxVault, OpenPhish). The "I found this in a log — tell me everything" workflow.

get_cve_intelligence

Input: cve_id (e.g. "CVE-2024-3400")

Returns: CVE detail + linked threats + EPSS exploitation velocity + KEV status + detection coverage % + available attack simulations + first-weaponization timeline.

get_mitre_gap_analysis

Input: optional tactic filter, limit

Returns: prioritized list of MITRE techniques without detection coverage, sorted by debt score (threat exposure + KEV count + EPSS). Each entry includes example threats and recommended detection types. Answers "what should I write detections for next?"

predict_mitre_transitions

Input: technique_id (e.g. "T1566"), top_n, direction (forward | reverse)

Returns: ranked next-technique predictions with probability and observation count, plus example threats showing the chain. Built from 4,271 observed transitions across the corpus.

generate_c2_blocklist

Input: none.

Returns: firewall-ready blocklist of active C2 IPs with country, ASN, version, watermark, and last-seen metadata. Currently tracking Cobalt Strike beacons. For operator clustering call get_c2, and for unmasked C2 domains get_c2_dns_intel.

Specialized tools

  • search_actors — Find threat actors by name, alias, nation-state, or motivation.
  • get_actor — Full actor dossier in a single call.
  • get_similar_threats — Precomputed-similarity matches by shared TTPs, IOC overlap, and same-actor attribution.

Agent skill

A portable skill that teaches any MCP client how to route across these tools — which tool to call first, the hunt query grammar, the response budget, and the data caveats that keep answers honest. Generated from the live catalog, so its tool reference cannot drift.

Prompts — 25 analyst playbooks

Prompts are pre-built workflows that orchestrate the tools for you. Rather than working out which of 81 tools to chain, invoke a playbook and the agent gets an ordered, argument-correct plan. Between them they reach every tool on the server, so an agent that only reads prompts/list still finds the whole surface.

| Playbook | What it does | |---|---| | orient | Start here — catalog, corpus shape, categories, TLQL grammar | | triage_cve | CVE end-to-end: severity, exploitation, exposure, remediation | | profile_actor | Actor dossier: TTPs, targeting, attribution confidence | | hunt_ioc | Indicator → linked threats, blast radius, blocking action | | hunt_corpus | Aggregate questions in TLQL over the hunt index | | research_question | Open-ended research via semantic corpus search | | map_detections_to_mitre | Map a threat's SPL/KQL/Sigma to ATT&CK, flag gaps | | review_detection_gaps | Highest-value detection debt, ranked by exposure | | write_detection | Draft a deployable rule grounded in corpus logic | | predict_next_move | Forecast the next (or preceding) ATT&CK techniques | | explain_link | Why two threats are linked, with the evidence | | map_campaign | Campaign members, shared infra, pivotal entities | | review_attribution | Audit whether an attribution is evidence-backed | | pivot_infrastructure | Pivot across DNS, hosting and adjacent infrastructure | | malware_dossier | Profile a malware family or offensive tool | | build_c2_blocklist | Firewall-ready C2 blocklist with operator clustering | | osint_sweep | Fold community signal in; surface coverage lead time | | sweep_vulnerabilities | Triage by exploitability, not CVSS alone | | plan_purple_team | Simulations paired with the detections they should trip | | export_for_tooling | STIX 2.1, ATT&CK Navigator, SIEM-ready rules | | bulk_enrich | Batch a list of threat/CVE ids without N round-trips | | assess_exposure | Covered vs uncovered for a CVE, actor or technique | | daily_brief | Today's posture, top new threats, daily theme | | period_review | Review a day or span from the debrief archive | | platform_status | Corpus health, engine state, enrichment completeness |

Full tool catalog

For the complete list of 81 tools with parameters and example invocations, see the interactive MCP documentation page.

Architecture

  • Transport: stdio (local subprocess)

  • Auth: THREADLINQS_API_KEY environment variable (Bearer token to the worker API)

  • Runtime: Node ≥18

  • SDK: @modelcontextprotocol/sdk@^1.26.0

  • Backend: Cloudflare Workers + D1 (multi-region)

  • Purple gate: the server checks the API key's tier at startup and warns if it is missing, invalid, or below Purple/Gold (tier ≥ 3) — it starts regardless so the tool catalog stays introspectable; the gate itself is enforced server-side on every tool call (structured 403 on lapse or under-tier)

  • Introspection has three tiers (since 8.1.0): authenticated tools/list → the public /mcp/catalog.json → a catalog snapshot bundled in the package. The first two need network; the third does not, so tools/list returns the real catalog even in a fully network-isolated sandbox. Previously that case returned an empty array — not an error, an empty list, which is indistinguishable from a server with no tools, and is why registry scanners indexed this server with zero tools.

    Maintainers: regenerate the snapshot with npm run sync:catalog after deploying the worker, since the worker owns the tool and prompt registries. npm run test:catalog fails the build when the snapshot and the live catalog disagree, and it runs on prepublishOnly.

Links

License

MIT © Threadlinqs