Skip to main content
Glama
threadlinqs-cmd

Intel Threadlinqs MCP

Search Community Indicators

search_xscan_indicators
Read-onlyIdempotent

Search community-reported threat indicators filtered by type, tag, ASN, country, or threat count. Locate corroborated IOCs like IPs, domains, URLs, and hashes.

Instructions

Search the canonical community-indicator set (TL_OSINT_Scan / tweetfeed.live, CC0) — indicators the community reported that were also matched against our corpus. Filter by tag, type, ASN, country, minimum linked-threat count, or a value substring. There is deliberately NO family filter: the upstream AI family field is populated on under 1% of rows, so a family argument would return nothing. Use tag instead (community tags carry the family signal). Community-sourced and heavily concentrated (~73% of recent submissions come from a single reporter) — corroborating, not authoritative.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNoSubstring match on the indicator value
asnNoAutonomous system, e.g. AS14061
tagNoCommunity tag substring, case-insensitive and normalized (e.g. phishing, asyncrat, c2)
typeNoIndicator type
limitNoMax rows (default 25, max 100)
offsetNoRow offset for paging
countryNoTwo-letter country code, e.g. RU
min_threatsNoOnly indicators linked to at least this many of our threats

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
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.
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description is consistent. Beyond annotations it adds valuable context: the deliberate absence of a family filter (a non-obvious behavioral trait), the dataset provenance/license (CC0), the 'matched against our corpus' constraint, and the concentration statistic (~73% from a single reporter) that warns the agent not to treat results as authoritative. No contradiction with annotations.

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

Conciseness4/5

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

Three sentences, each carrying weight: scope+provenance, filter capability, no-family-filter explanation + sourcing caveat. The prose is efficient, but it's dense and could arguably be split into a cleaner scannable form. Still, no filler and front-loaded with the most important information (what the data is and its limitations).

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?

For an 8-param search tool with a 100%-described schema, an output schema, and readSafe/idempotent annotations, the description is remarkably complete. It covers data provenance, source quirk (sparse family field), the correct filter strategy (tag vs family), and data-quality caveats (single-reporter concentration, corroborating-not-authoritative). Nothing critical is left unexplained.

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

Parameters4/5

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

Schema coverage is 100% with all 8 parameters described. The description adds value via examples for the less obvious ones: 'tag' gets 'phishing, asyncrat, c2' examples plus case-insensitive/normalized behavior, 'asn' gets 'AS14061,' and 'country' gets 'RU.' The default-25/max-100 for limit also appears in the description. Minor gap: the 'q' substring and 'min_threats' semantics are adequately covered by schema.

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?

Clear verb+resource+scope: 'Search the canonical community-indicator set (TL_OSINT_Scan / tweetfeed.live, CC0)' with a specific qualification that results were 'matched against our corpus.' This distinguishes from siblings like search_iocs (presumably the authoritative/threat-linked set) by emphasizing community-sourced + corpus-matched nature.

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?

Explicit and rich: explains there is deliberately NO family filter and why (upstream family field populated on <1% of rows), directing the agent to 'Use tag instead (community tags carry the family signal).' Also gives caveat that data is corroborating, not authoritative, which sets expectations on how to weigh results versus search_iocs or search_threats.

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