Skip to main content
Glama

Rösti Threat Intel

Server Details

Look up IOCs and search threat-intel reports, YARA rules, MITRE ATT&CK ids and CVEs from rosti.dev

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 11 tools

Disambiguation5/5

Each tool targets a distinct resource or action: reports, IOCs, YARA rules, sources, exports, related reports, and taxonomy. The only close pairs, lookup_ioc vs lookup_iocs and search_iocs vs list_report_iocs, are clearly differentiated by single/batch lookup and global vs per-report scope.

Naming Consistency5/5

All tools use a consistent snake_case verb_noun pattern such as get_report, list_sources, search_reports, and lookup_ioc. The singular/plural pair lookup_ioc/lookup_iocs is a natural and readable variation.

Tool Count5/5

Eleven tools is well within the appropriate range for a threat-intelligence retrieval server. Each tool has a clear purpose and the set avoids unnecessary bloat.

Completeness5/5

The surface covers report discovery, report details, IOC listing and search, single and bulk IOC lookup, related reports, YARA rules, export links, sources, and taxonomy guidance. For a read-only threat-intelligence domain, there are no obvious dead ends or missing core workflows.

Available Tools

11 tools
describe_taxonomyDescribe the taxonomyA
Read-onlyIdempotent
Inspect

List the values Rösti uses for IOC types, IOC tags (with descriptions), IOC categories and export formats, and explain the false-positive risk scale. Use these values for the filters of the search and list tools.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
ioc_tagsYesValues for IOC tag filters
ioc_typesYesValues for IOC type filters
categoriesYesValues for IOC category filters
export_formatsYesExport and feed file formats
false_positive_riskNo

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered structurally. The description adds only that tag values come with descriptions and that the risk scale is explained, which is modest extra context; it says nothing about output size or how the taxonomy is versioned. With annotations carrying the behavioral load, a 3 is appropriate.

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?

Two sentences, zero filler: the first enumerates what is returned and the second states the intended use, with the enumeration front-loaded. Every clause earns its place.

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?

An output schema exists, so the description is not obliged to describe return values and instead summarizes the four content areas at a useful level. For a zero-parameter, read-only reference tool this covers everything an agent needs to call it correctly.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The description correctly does not waste space on parameter discussion.

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

Purpose4/5

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

The description names a specific verb ("List") plus four concrete resource categories (IOC types, IOC tags with descriptions, IOC categories, export formats) and adds an explanatory component (the false-positive risk scale). That is far more specific than the title alone and no sibling tool covers reference enumeration, so an agent can identify it unambiguously even without an explicit contrast sentence.

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

Usage Guidelines4/5

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

"Use these values for the filters of the search and list tools" tells the agent exactly when to reach for this tool: before filtering via search_iocs, search_reports, list_report_iocs, etc. It gives clear positive guidance but no exclusions or caveats about when this tool is unnecessary.

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

get_reportGet a reportA
Read-onlyIdempotent
Inspect

Get one Rösti report: metadata, MITRE ATT&CK ids, CVEs, available export formats, and how many of its IOCs there are per type and per tag.

Use list_report_iocs for the IOCs themselves and get_yara_rules for its YARA rules.

NameRequiredDescriptionDefault
report_idYesRösti report id, e.g. dq13KaQv

Output Schema

NameRequiredDescription
idYesRösti report id
urlYesURL of the original report
cvesNoCVEs referenced in the report
dateNoPublication date (YYYY-MM-DD)
tagsNo
mitreNoMITRE ATT&CK ids referenced in the report
titleYesReport title (third-party text)
authorsNo
ioc_tagsNoNumber of IOCs per tag
ioc_countNo
ioc_typesNoNumber of IOCs per IOC type
rosti_urlNoThe report on rosti.dev
source_idNo
source_nameNo
last_updatedNoWhen Rösti last updated the report
export_formatsNoAvailable downloads
mitre_id_countNo
yara_rule_countNo
yara_rules_hiddenNoTrue if the report's YARA rules are hidden at the publisher's request
ioc_breakdown_completeNoFalse if ioc_types/ioc_tags were counted from the first 1000 IOCs only

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds the important scoping fact that IOC data is returned only as counts per type and per tag, not as records, which prevents a caller from expecting full IOC objects and explains the need to chain to list_report_iocs.

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?

Two sentences, zero filler: the return contents are front-loaded and the sibling routing follows. Every clause carries operational information.

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?

An output schema exists, so return-shape explanation is optional, yet the description still summarizes the key fields and the counting behavior. Combined with full annotation coverage and a fully documented parameter, an agent has everything needed to call this correctly.

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?

The single parameter is fully documented in the schema (coverage 100%), including a format pattern and example id, so the schema carries the burden. The description adds only the implicit constraint of fetching one report at a time, with no extra syntax or format guidance beyond what the schema provides.

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?

States a specific verb and resource ("Get one Rösti report") and enumerates the payload: metadata, MITRE ATT&CK ids, CVEs, export formats, and IOC counts per type and per tag. It also explicitly distinguishes itself from sibling retrieval tools that return the underlying IOCs and YARA rules, so an agent can select it without opening any schema.

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

Usage Guidelines4/5

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

Gives clear routing for the two most likely confusions: use list_report_iocs for the IOCs themselves and get_yara_rules for its YARA rules. It stops short of addressing search_reports or find_related_reports, so discovery-side alternatives are left implicit.

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

get_yara_rulesGet YARA rulesA
Read-onlyIdempotent
Inspect

Get the YARA rules published with one Rösti report, with their full source.

NameRequiredDescriptionDefault
report_idYesRösti report id, e.g. dq13KaQv

Output Schema

NameRequiredDescription
noteNo
rulesYes
hiddenNoTrue if the rules are hidden at the publisher's request
report_idYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds one useful detail, that the rules come with their full source, but says nothing about empty results or errors for unknown report ids.

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?

One sentence, front-loaded with the verb and resource, with the report scoping and return content in the same clause. Nothing is redundant or padded.

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

Completeness4/5

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

For a simple single-parameter read tool with full annotations and an output schema, the description plus structured fields give an agent everything needed to call it correctly. The only minor gap is unstated behavior for reports with no published rules.

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 description coverage is 100% and the single parameter is documented with a pattern and an example, so the schema carries the load. The description only reinforces that the id refers to one report, adding no format or error semantics beyond what is structured.

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

Purpose4/5

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

Specific verb (get) plus resource (YARA rules) scoped to a single Rösti report, which separates it from sibling list/search tools and from get_report. It stops short of naming the sibling it complements, but an agent can tell what it retrieves without opening the schema.

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

Usage Guidelines3/5

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

The phrase 'published with one Rösti report' implies the precondition of having a report_id and the context in which to call it, but there is no explicit when-to-use versus get_report or list_report_iocs, and no statement about what happens when a report publishes no rules.

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

list_report_iocsList a report's IOCsA
Read-onlyIdempotent
Inspect

List the IOCs of one Rösti report, optionally filtered by type, tag, category or text.

IOCs with the same entity_ref belong together, e.g. the MD5, SHA-1 and SHA-256 of one file. Each IOC carries its IDS flag and false-positive risk.

NameRequiredDescriptionDefault
tagsNoIOC tags, e.g. c2, phishing
limitNoIOCs per page
queryNoText to find in IOC values or comments
typesNoIOC types, e.g. domain, ip-dst, sha256
cursorNonext_cursor from a previous call, to get the next page
report_idYesRösti report id, e.g. dq13KaQv
categoriesNoIOC categories, e.g. network_activity

Output Schema

NameRequiredDescription
iocsYes
totalNoTotal number of matching IOCs
next_cursorNoPass as cursor to get the next page; null if there are no more

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds domain behaviour the annotations cannot: IOCs sharing an entity_ref are related (MD5/SHA-1/SHA-256 of one file) and each IOC exposes an IDS flag and false-positive risk — both genuinely useful for interpreting results. It says nothing about pagination behaviour or default ordering, though the cursor and limit parameters are documented in the schema.

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?

Two short paragraphs with the core action and scope front-loaded and the filters enumerated immediately after. The closing sentence on IDS flags and false-positive risk borders on restating output fields that the published output schema already covers, which is the only mildly redundant content.

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

Completeness4/5

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

For a 7-parameter, read-only list tool with full schema coverage and an output schema, the description supplies the non-obvious pieces an agent needs: report scoping, the entity_ref grouping concept needed to read results correctly, and the filter dimensions. It omits any mention of pagination despite the cursor parameter and does not point at competing IOC tools, leaving small gaps for a tool with ten siblings.

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?

With 100% schema description coverage, the schema already documents every parameter including examples for types, tags and categories and the cursor semantics. The description restates the same filter set (type, tag, category, text) without adding format, matching or precedence rules, e.g. whether multiple filters AND together. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('List the IOCs') together with the scope ('of one Rösti report') and the filterable dimensions, so an agent can tell this is report-scoped IOC retrieval rather than a global search. It never names the adjacent tools (search_iocs, lookup_ioc, lookup_iocs), so the differentiation is inferable from the scope phrase rather than stated.

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

Usage Guidelines3/5

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

Usage is only implied: 'of one Rösti report' signals this is the tool for pulling everything attached to a known report_id, and the optional filters suggest narrowing within that set. There is no explicit guidance on when to prefer search_iocs or lookup_iocs instead, and no statement of prerequisites such as needing a report_id obtained from get_report or search_reports.

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

list_sourcesList sourcesA
Read-onlyIdempotent
Inspect

List the publishers whose reports Rösti collects (vendor blogs, CERTs, researchers), with report counts, the newest report date and whether the source is still active. Source ids work as the sources filter of search_reports.

NameRequiredDescriptionDefault
limitNoSources per page
queryNoText to find in source names, e.g. 'crowdstrike'
cursorNonext_cursor from a previous call, to get the next page

Output Schema

NameRequiredDescription
totalNo
sourcesYes
next_cursorNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety profile is covered. The description adds value beyond that by specifying what the listing surfaces (counts, recency, active flag) and by stating the downstream contract with search_reports. It does not mention pagination behavior, though the cursor parameter covers that.

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?

Two sentences, front-loaded with the operation and its payload, followed by the cross-tool hint. No filler, no restatement of the title.

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

Completeness4/5

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

With an output schema, full parameter coverage and safety annotations present, the description only needs to add purpose and cross-tool linkage, which it does. Pagination via cursor is left to the schema, which is acceptable given the output schema exists.

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 description coverage is 100%: limit, query and cursor are all documented inline with examples and bounds. The description adds no parameter-level detail such as substring-matching semantics for query or cursor expiry, so baseline 3 applies.

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?

States a specific verb and resource ('List the publishers whose reports Rösti collects') and immediately enumerates the returned fields: report counts, newest report date, active status. It also draws the boundary with search_reports by explaining that source ids serve as that tool's filter, so the agent can tell the two apart without opening schemas.

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

Usage Guidelines4/5

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

Implies the discover-then-filter workflow: call this to obtain source ids, then pass them to search_reports' sources filter. That is a concrete routing cue to a named sibling. It stops short of explicit when-not-to-use guidance (e.g., use search_reports directly if you only need reports), so it is not a 5.

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

lookup_iocLook up an IOCA
Read-onlyIdempotent
Inspect

Check whether one IOC (indicator of compromise) appears in Rösti's threat-intelligence reports.

A defanged value (hxxps://evil[.]com, 1.2.3[.]4) is refanged before the lookup; input then shows the value as given. Matching is exact, with a case-insensitive fallback. Returns every report the value appears in (newest first, up to max_matches) with the IOC's type, category, tags, IDS flag, comment and false-positive risk.

NameRequiredDescriptionDefault
valueYesOne IOC value, e.g. an IP address, domain, URL, file hash or e-mail address, plain or defanged (e.g. hxxps://evil[.]com)
max_matchesNoMaximum number of reports listed

Output Schema

NameRequiredDescription
foundYes
inputNoThe value as given, when it was defanged and refanged before the lookup
valueYesThe looked-up value (trimmed, refanged)
matchesYesMatches, newest report first
match_countYesNumber of reports the value appears in
matches_omittedNoMatches not included because of the max_matches limit

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely non-obvious behavior: defanging is refanged before matching, matching is exact with a case-insensitive fallback, and results come newest-first. The one gap is what happens when no report matches.

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?

Front-loaded with the core question in the first sentence, then matching behavior, then return shape — a sensible order with little waste. The inline formatting reference to `input` is slightly cryptic but does not bloat the text.

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

Completeness4/5

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

With full schema coverage, complete annotations and an output schema, the description covers nearly everything an agent needs. Only the no-match/empty-result behavior is left unspecified, which is a minor omission for a read-only lookup.

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%, so the baseline is 3; the description earns extra credit by explaining that defanged values are refanged before lookup while `input` echoes the value as given, and that results are newest-first capped at max_matches. It adds real semantics on top of the schema rather than restating it.

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

Purpose4/5

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

States a specific verb and resource — 'Check whether one IOC ... appears in Rösti's threat-intelligence reports' — and the singular 'one IOC' implicitly separates it from the plural lookup_iocs and search_iocs siblings. It never names those alternatives explicitly, so an agent must infer the split from the singular/plural distinction.

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

Usage Guidelines3/5

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

Usage is implied by the phrasing 'Check whether one IOC ... appears,' which suggests a single-value verification use case. There is no explicit when-to-use/when-not guidance and no named alternative for batch or fuzzy lookups, even though lookup_iocs and search_iocs sit right beside it.

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

lookup_iocsLook up IOCsA
Read-onlyIdempotent
Inspect

Check many IOCs (indicators of compromise) at once against Rösti's threat-intelligence reports.

Defanged values (hxxps://evil[.]com, 1.2.3[.]4, user[at]evil[.]com) are refanged before the lookup; refanged shows which. Matching is exact, with a case-insensitive fallback. For each value that is found, returns the reports it appears in (newest first) with the IOC's type, category, tags, IDS flag, comment and false-positive risk. Values that are not found are listed in not_found. Use lookup_ioc for all matches of a single value.

NameRequiredDescriptionDefault
valuesYesIOC values such as IP addresses, domains, URLs, file hashes (MD5, SHA-1, SHA-256) or e-mail addresses, plain or defanged (e.g. hxxps://evil[.]com). Surrounding whitespace and duplicates are ignored. At most 1000 values.
max_matches_per_valueNoMaximum number of reports listed per found value

Output Schema

NameRequiredDescription
resultsYesValues that were found, in request order
summaryYes
refangedNoDefanged inputs and the value searched for each, e.g. {'evil[.]com': 'evil.com'}
not_foundYesValues that were not found

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive behavior, and the description adds genuinely non-obvious traits: defanged inputs are refanged before lookup with a `refanged` indicator, and matching is exact with a case-insensitive fallback. The enumeration of returned report fields is largely redundant with the existing output schema, which keeps this from a 5.

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?

Front-loaded with the core action, then matching semantics, then return shape, then the sibling pointer. Tight overall, though the list of per-IOC return fields is the one stretch that restates structured output rather than adding meaning.

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

Completeness4/5

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

For a read-only batch lookup with a full input schema and an output schema, the description covers the important unknowns: refanging, match semantics, and how misses are surfaced via `not_found`. Nothing essential to calling it correctly 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 description coverage is 100%, so both `values` and `max_matches_per_value` are already documented in the schema, including defanged formats and limits. The description adds no format, syntax or edge-case detail beyond that, so the baseline of 3 applies.

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?

States a specific verb and resource: checking many IOCs at once against Rösti's threat-intelligence reports. It also explicitly separates itself from the single-value sibling by saying 'Use lookup_ioc for all matches of a single value,' so an agent can route correctly without opening either schema.

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

Usage Guidelines4/5

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

Gives a clear batch context ('Check many IOCs at once') and names the alternative for the single-value case. It does not address how this differs from sibling search_iocs, which is a plausible source of confusion, so it stops short of full when/when-not coverage.

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

search_iocsSearch IOCsA
Read-onlyIdempotent
Inspect

Search IOCs across all Rösti reports by text, type, tag, category and creation time. Without filters, lists IOCs from all reports.

Each IOC carries its report id (use get_report for the report), type, category, tags, IDS flag, comment and false-positive risk. Use lookup_ioc or lookup_iocs to check whether specific values are known.

NameRequiredDescriptionDefault
tagsNoIOC tags, e.g. c2, phishing (see describe_taxonomy)
exactNoRequire the value or comment to equal the query instead of containing it
limitNoIOCs per page
queryNoText to find in IOC values or comments, e.g. 'mcrosoft' or 'C2 server'. Defanged values are refanged.
sinceNoOnly IOCs created or updated after this date (YYYY-MM-DD) or timestamp (YYYY-MM-DDTHH:MM:SSZ)
typesNoIOC types, e.g. domain, ip-dst, sha256 (see describe_taxonomy)
cursorNonext_cursor from a previous call, to get the next page
categoriesNoIOC categories, e.g. network_activity (see describe_taxonomy)

Output Schema

NameRequiredDescription
iocsYes
totalNoTotal number of matching IOCs
next_cursorNoPass as cursor to get the next page; null if there are no more

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is settled. The description adds value beyond that by disclosing the no-filter default scope and the shape of a result row (report id, type, category, tags, IDS flag, comment, false-positive risk) plus the follow-up call for report context. It stops short of mentioning pagination flow or rate limits, though cursor handling is already in the schema.

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?

Two short paragraphs, front-loaded with scope and default behavior, with the routing advice in the second. It is efficient overall, though the enumeration of result fields overlaps with the existing output schema and could be trimmed without loss.

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

Completeness4/5

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

For an eight-parameter, all-optional search tool with a full output schema and read-only annotations, the description supplies everything needed to decide and call: scope, default behavior, and alternatives. The only gap is that pagination sequencing (using next_cursor for further pages) is left entirely to the schema.

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 description coverage is 100%, so every one of the eight parameters already carries its own explanation, including refanging, exact-match semantics and cursor chaining. The description only restates the filter dimensions at a high level and adds no syntax or behavior detail beyond the schema. 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 names a specific verb and resource ('Search IOCs across all Rösti reports') and enumerates the filter dimensions (text, type, tag, category, creation time). It also distinguishes itself from lookup_ioc/lookup_iocs and get_report, so an agent can pick the right sibling without opening any schema.

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?

It explicitly states the no-filter behavior ('lists IOCs from all reports') and routes the agent elsewhere with a clear condition: 'Use lookup_ioc or lookup_iocs to check whether specific values are known.' It also points to get_report for report detail, so when-to-use versus alternatives is covered rather than implied.

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

search_reportsSearch reportsA
Read-onlyIdempotent
Inspect

Search Rösti's threat-intelligence reports by text, source, CVE, MITRE ATT&CK id and publication date.

Returns report summaries: title, date, source, authors, tags, counts of IOCs, YARA rules and MITRE ids, and links to the original report and rosti.dev. Use get_report for the details of one report.

NameRequiredDescriptionDefault
cvesNoReports referencing any of these CVEs, e.g. CVE-2021-44228
sortNoSort ordernewest
limitNoReports per page
queryNoText to find in report titles or authors, e.g. 'lumma'
cursorNonext_cursor from a previous call, to get the next page
sourcesNoSource ids, e.g. asec, crowdstrike (see list_sources)
mitre_idsNoReports referencing any of these MITRE ATT&CK ids, e.g. T1566.001
published_afterNoReports published on or after this date (YYYY-MM-DD)
published_beforeNoReports published on or before this date (YYYY-MM-DD)

Output Schema

NameRequiredDescription
totalNoTotal number of matching reports
reportsYes
next_cursorNoPass as cursor to get the next page; null if there are no more

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is carried by structured data. The description adds value beyond that by disclosing the shape of each result row (title, date, source, authors, tags, and IOC/YARA/MITRE counts) and the presence of outbound links, which tells an agent this is a lightweight summary endpoint. It omits pagination behavior (the limit/cursor interaction) and any maximum-result guidance.

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?

Two short paragraphs, front-loaded with the search capability and followed by the return shape and the sibling pointer. The enumerated return fields are somewhat verbose given an output schema exists, but they are informative rather than redundant filler.

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 a nine-parameter, zero-required search tool with full schema coverage, full annotations, and an output schema, the description supplies everything an agent needs: what can be filtered, what comes back, and where to go for full detail. Nothing essential 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 description coverage is 100%, so every one of the nine parameters is already documented with examples and formats in the schema. The description restates the filterable dimensions but adds no syntax, default, or combination semantics beyond what the schema provides, so the baseline of 3 applies.

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?

States a specific verb (search) and resource (Rösti's threat-intelligence reports) and enumerates the filter dimensions: text, source, CVE, MITRE ATT&CK id, publication date. The closing sentence naming get_report makes the boundary between the two tools unambiguous without opening either schema.

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

Usage Guidelines4/5

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

It gives a clear when-to-use context (searching across many reports by filter) and explicitly routes to get_report for single-report details, which is the most likely confusion point. It does not address other plausible siblings such as find_related_reports or search_iocs, so the alternative coverage is partial rather than exhaustive.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updates
    • First observeddescribe_taxonomy
    • First observedfind_related_reports
    • First observedget_export_link
    • First observedget_report
    • First observedget_yara_rules
    • First observedlist_report_iocs
    • First observedlist_sources
    • First observedlookup_ioc
    • First observedlookup_iocs
    • First observedsearch_iocs
    • First observedsearch_reports

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides threat intelligence and vulnerability research tools by integrating with NVD, VirusTotal, AbuseIPDB, Shodan, and MITRE ATT\&CK. It enables users to perform CVE lookups, analyze IP reputation, and retrieve detailed MITRE ATT\&CK technique information.
    1
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables threat intelligence for SOC and DFIR workflows, including IOC enrichment, CVE and threat actor lookup, domain scanning, and account-based scan management.
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables searching for indicators of compromise from ThreatFox by file hash (MD5/SHA1/SHA256) or malware family name.
    215 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables comprehensive threat analysis for Indicators of Compromise (IoCs) including IP addresses, file hashes, domains, and URLs. It provides detailed reputation scores, security vendor evaluations, and network metadata to facilitate security assessments and risk detection.
    4
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources