Skip to main content
Glama
threadlinqs-cmd

Intel Threadlinqs MCP

List Actors

search_actors
Read-onlyIdempotent

Retrieve a roster of threat actors with aggregate stats like threat count and severity. Filter by tool, sector, or malware to narrow results.

Instructions

List attributed threat actors with aggregate stats (threat_count, severity levels, categories, nation_state). Returns the full roster in one call, or narrow it with the optional tool / malware / sector filters (e.g. tool="Cobalt Strike" → only actors that used it). Use get_actor for a single actor's full profile. Not paginated; the response carries a total count.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toolNoOnly actors with a threat using this tool (e.g. "Cobalt Strike")
sectorNoOnly actors with a threat targeting this sector (e.g. "Healthcare")
malwareNoOnly actors with a threat deploying this malware family (e.g. "LockBit")

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
totalNoTotal matching rows, when the handler reports one.
actorsNo
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 the safety profile is covered. The description adds value by disclosing that the response is not paginated and carries a total count, which is useful behavioral context beyond the annotations. A strong addition for a list tool.

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?

The description packs purpose, filter semantics, an example, an alternative tool, and pagination behavior into three sentences with zero waste. Every sentence earns its place and no information is redundant with the schema or annotations.

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?

Given the strong annotations (readOnly, idempotent), fully documented schema parameters, an output schema, and simple flat structure, the description is complete. It covers scope, filtering, an alternative, and response pagination characteristics—nothing material is missing.

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 three parameters (tool, sector, malware) are fully documented with descriptions and examples in the schema itself. The description adds one concrete example (tool="Cobalt Strike") which reinforces filter semantics but doesn't substantially exceed what the schema already provides. Baseline 3 is appropriate.

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 verb (List), resource (attributed threat actors), and scope (full roster with aggregate stats). It distinguishes from search_* siblings by noting the aggregate-stats nature and explicitly names the alternative get_actor for a single actor's full profile.

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 says when to use this tool (full roster or narrow by filters), provides a concrete example (tool="Cobalt Strike"), and tells the user to use get_actor for a single actor's profile. It also hints that this returns the full set, contrasted with the single-actor 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