Skip to main content
Glama
threadlinqs-cmd

Intel Threadlinqs MCP

Search Threats

search_threats
Read-onlyIdempotent

Search and filter the threat catalog by free-text terms, CVE, actor, product, severity, and more, returning concise summary rows for quick triage.

Instructions

The deterministic threat-catalog query tool. Returns LEAN summary rows {id, title, severity, category, status, threat_actor, nation_state, affected_products, cves, cvss_score, summary, created} — call get_threat for full detail on a specific id. Combine a free-text query with any structured filters; ALL filters AND-combine and apply together (e.g. query="supply chain" + threat_actor="TeamPCP" + category="SUPPLY_CHAIN" returns only matching rows, with affected_products inline). Paginated: limit (default 20, max 100) + offset/cursor; result carries total, has_more, and next_cursor.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
osNoFilter to threats affecting an operating system (e.g. "Windows", "Linux", "VMware ESXi")
cveNoFilter by CVE id (e.g. CVE-2026-45321)
tagNoFilter by exact tag (e.g. "supply-chain-compromise")
toolNoFilter to threats using a tool (e.g. "Cobalt Strike", "Mimikatz")
limitNoMax results (default 20, max 100)
queryNoFree-text term across title/summary/description/CVE/actor (optional; AND-combined with filters)
cursorNoOpaque pagination cursor (next_cursor from a prior result); ignored when offset is given.
offsetNoRow offset for pagination (default 0).
sectorNoFilter by grounded industry sector (e.g. "Healthcare", "Government")
statusNoThreat status filter (e.g. active)
malwareNoFilter to threats deploying a malware family (e.g. "LockBit", "Vidar")
campaignNoFilter to threats in a named campaign/operation (e.g. "Snowflake campaign")
categoryNoe.g. SUPPLY_CHAIN, MALWARE, RANSOMWARE, VULNERABILITY, APT, PHISHING, ZERO_DAY (call list_threat_categories for the full vocabulary)
severityNocritical | high | medium | low
motivationNoFilter by motivation (e.g. financial, espionage)
nation_stateNoFilter by nation-state (e.g. Russia, China, Iran)
threat_actorNoFilter by attributed actor name/alias (e.g. "TeamPCP", "APT29")
created_afterNoISO date — only threats created on/after (e.g. 2026-05-01)
target_regionNoFilter by targeted region (e.g. APAC, Europe)
target_sectorNoFilter by targeted sector (e.g. Healthcare, Finance)
created_beforeNoISO date — only threats created on/before
mitre_techniqueNoFilter by MITRE technique id (e.g. T1059)
affected_productNoFilter by affected product/vendor (e.g. "npm", "Microsoft", "VS Code")

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
totalNoTotal matching rows, when the handler reports one.
has_moreNoTrue when another page may exist.
next_cursorNoOpaque cursor for the next page, or null when this is the last page or the endpoint ignores offset.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds valuable behavioral context beyond annotations: the tool is deterministic, returns LEAN summary rows (not full records), and discloses pagination mechanics (total, has_more, next_cursor, cursor vs offset precedence). This is genuinely useful behavioral disclosure over and above what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences that each earn their place: the first defines output fields and full-detail redirect, the second explains filter combination semantics with a concrete example, the third covers pagination. No filler, no repetition of schema content, and result fields are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, an output-bearing description is not strictly required, yet it still names the exact fields. The description covers output shape, filter semantics, pagination, deterministic behavior, and the full-detail alternative. For a 23-parameter filtered-list tool with rich annotations and output schema, nothing material is left unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all 23 parameters are documented in the input schema, making the baseline 3. The description adds meaning around combine semantics (AND-combining of all filters) and cross-references the category parameter to list_threat_categories, which goes slightly beyond the schema. However, most parameter behavior is already well-covered by the schema, so the description doesn't need to compensate much.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is a deterministic threat-catalog query tool that returns LEAN summary rows, explicitly listing the exact fields returned. It distinguishes from siblings by noting 'call get_threat for full detail on a specific id' and contrasts with search_vulnerabilities (different resource). The specific verb 'search/query' plus the deterministic qualifier and resource (threat-catalog) make the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains how filters AND-combine with a free-text query, provides a concrete multi-filter example ('query="supply chain" + threat_actor="TeamPCP" + category="SUPPLY_CHAIN"'), and directs the agent to call get_threat for full detail — clear when-to-use and when-not-to-use guidance versus its sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/threadlinqs-cmd/intelthreadlinqs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server