Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add threadlinqs-cmd/intelthreadlinqs-mcp --skill skillgit clone --depth 1 https://github.com/threadlinqs-cmd/intelthreadlinqs-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/threadlinqs-cmd/intelthreadlinqs-mcp/skill)<a href="https://agentmods.dev/skills/threadlinqs-cmd/intelthreadlinqs-mcp/skill"><img src="https://agentmods.dev/badge/skills/threadlinqs-cmd/intelthreadlinqs-mcp/skill/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/threadlinqs-cmd/intelthreadlinqs-mcp/skill"><img src="https://agentmods.dev/badge/skills/threadlinqs-cmd/intelthreadlinqs-mcp/skill.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00285 | $0.02751 |
| Opus 5.5 | $0.00114 | $0.01100 |
| Sonnet 5.5 | $0.00057 | $0.00550 |
| Haiku 4.5 | $0.00028 | $0.00275 |
Grade A, and why
intelthreadlinqs-mcp-skill scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 183 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Threadlinqs Intelligence MCP
81 tools over a curated threat-intelligence corpus. This skill exists because the naive
path through those tools is expensive and often wrong: an agent that reaches for
get_threat and then chains four follow-ups is doing by hand what one composite tool does
in a single call, and an agent that guesses an enum value gets an empty result rather than
an error and reports "nothing found" when the answer was there all along.
Read this before your first call. The routing table below is the part that matters.
Tool names may be prefixed by your host. Claude Code exposes
mcp__threadlinqs-intel__get_threat, Claude Desktop exposesget_threat, the remote connector uses another prefix again. This document writes bare names — match by suffix.
Access, in one paragraph
Tool calls require a Purple or Gold key (tier ≥ 3) in THREADLINQS_API_KEY.
Introspection over MCP (tools/list) is gated too, but the HTTP twins
GET /mcp/catalog.json and GET /mcp.md are public, which is how registries index the
server without a key. There is no free tier for the data. If you have no key, say so and
point at https://intel.threadlinqs.com/profile — new accounts get a 7-day Purple trial.
See references/setup.md for per-host install.
Before your first call
- Call
get_startedonce. It returns the tool catalog, categories and tiering, and costs no database round-trip. - Call
hunt_schemaonly if an aggregate question is coming — then cache it for the session. It is the field grammar forhunt, and you cannot write a valid query without it. - Call
get_engine_statusonly if you are about to reason over correlation output. A stale engine is a caveat on every correlation answer you give.
Do not reflexively open with get_platform_stats + list_threat_categories + health.
That is three calls of ceremony before you have learned anything.
Routing — what to call first
| You have / user asks | First call | Then, only if needed |
|---|---|---|
| Threat ID + a hunting or scoping question | get_threat_hunting_bundle |
get_threat_enrichment, get_detection_detail |
| Threat ID, just want the record | get_threat |
get_threat_bundle |
| 2–20 threat IDs | bulk_get_threats |
— |
| Actor name or alias | get_actor_intelligence |
get_attribution_evidence, export_attack_navigator |
| A name you are not sure resolves | resolve_entity |
then the matching pivot below |
| An exact IOC value | get_ioc_intelligence |
get_ioc_blast_radius, get_ioc_dns, get_infrastructure_pivots |
| An IOC substring / partial | search_iocs |
— (narrow it; paging is not honored) |
| CVE ID | get_cve_intelligence |
get_cwe, bulk_get_cves |
| "What should we patch first?" | search_vulnerabilities with kev / epss_min |
get_cve_intelligence on the top few |
| Malware family | get_malware_intelligence |
resolve_entity if the name is ambiguous |
| Offensive tool | get_tool_intelligence |
resolve_entity |
| Named campaign | get_campaign_intelligence |
get_graph_campaigns for engine-derived clusters |
| ATT&CK technique | get_mitre_technique |
predict_mitre_transitions, get_technique_rules |
| "What do we detect / not detect?" | get_mitre_coverage → get_mitre_gap_analysis |
search_detections |
| "Are these two threats related?" | explain_correlation |
get_correlation_path |
| "What is around this entity?" | get_entity_profile |
get_correlation_subgraph at depth 1 |
| Any count / group-by / cross-type question | hunt_schema once → hunt |
— |
| Conceptual question, keywords already failed | search_corpus_semantic |
— |
| "What happened today?" | get_daily_intel_bundle |
list_debriefs → get_debrief |
| "Block this" | generate_c2_blocklist |
get_c2, get_c2_dns_intel |
| "Feed my TIP / SIEM" | export_stix, export_attack_navigator, export_detection |
— |
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 183 lines · 285 tokens per session scan A 798451628a5e
intelthreadlinqs-mcp-skill is a skill published in the GitHub repository threadlinqs-cmd/intelthreadlinqs-mcp (0 stars, last pushed 1mo ago), licensed MIT. It adds 285 tokens to every session and 2,751 once invoked, about $0.0011 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
analyzing-campaign-attribution-evidence
Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use…
analyzing-threat-actor-ttps-with-mitre-attack
MITRE ATT&CK is a globally-accessible knowledge base of adversary tactics, techniques, and procedures (TTPs) based on real-world observations. This skill covers systematically mapping threat actor beh.
analyzing-campaign-attribution-evidence
Use when campaign attribution analysis involves systematically evaluating evidence to determine which threat actor or group is responsible for a cyber operation. This skill covers collecting and weighting attr.
enriching-iocs-with-threat-intel-sources
Enriches indicators with context from threat-intel sources: planning lookups against reputation, passive DNS, WHOIS, and sandbox/sample databases, scoring confidence, and avoiding operational-security mistakes that tip off adversaries. Activates for requests to enrich IOCs, add threat context, or plan indicator…
hunting-from-a-threat-intel-report
Operationalizes a threat intelligence report into hunts: extracting IOCs and TTPs, mapping behaviors to ATT&CK and available telemetry, prioritizing durable behavioral indicators over volatile atomic ones, and producing concrete hunt queries. Activates for requests to hunt from a threat report, operationalize CTI, or…
writing-a-malware-analysis-report
Structures a clear, actionable malware analysis report covering summary, sample identity, capabilities, IOCs, ATT&CK mapping, and detection guidance for both technical and decision-making audiences. Activates for requests to write, structure, or review a malware analysis or reverse-engineering report.