Argus Asset MCP Tools#

These MCP tools let you retrieve Argus assets and calculate Argus asset statistics from the asset API.

They support three common tasks:

  • fetch one asset by ID or short name

  • search assets for a specific asset definition

  • calculate statistics for assets matching a filter

General Notes#

  • Use these tools when you want the LLM to retrieve asset data or asset statistics from Argus APIs.

  • If you ask the LLM to search assets or calculate statistics, it may first use the asset translator tools to construct and validate the request and then use the execution tool to fetch results.

  • Asset searches and statistics must be scoped to an asset definition. Supported values are HostAsset and QualysHostAsset; the default is HostAsset.

  • Each asset search call returns only one page of results. It does not automatically fetch additional pages.

  • When more search results may exist, the response includes pagination metadata under page, such as nextOffset, stop, and reason, which the LLM can use if you ask it to continue.

  • Search pagination supports 1 to 100 items per page.

  • Asset statistics responses are scoped trees when grouping is used. Counts and metrics on a child bucket apply only inside the parent bucket path.

Tool: getAssetByIDOrShortName#

Purpose

Fetch full details for one Argus asset by ID or short name.

Arguments

Field

Description

Type

Default

Required

idOrShortName

The asset ID or short name to fetch.

string

None

Yes

Tool: executeSearchArgusAsset#

Purpose

Retrieve Argus asset search results for the search criteria the LLM has prepared.

Arguments

Field

Description

Type

Default

Required

request

The full asset search definition the LLM builds from your request.

object

None

Yes

assetDefinition

Asset definition to search. Allowed values: HostAsset, QualysHostAsset.

string

HostAsset

Yes

request fields#

Field

Description

Type

Default

Required

customer

Match assets belonging to any of the specified customers, using customer ID or short name.

array<string>

None

No

idOrShortName

Match assets by any of the specified asset IDs or short names.

array<string>

None

No

dataSource

Match assets detected or reported by any of these data sources, using ID or short name.

array<string>

None

No

componentFilter

Component-based asset filters. Each item targets one component definition.

array<object>

None

No

vulnerabilityFilter

Vulnerability-based filters, including severity, CIA impact, CVSS, references, IDs, and resolution.

object

None

No

timeFilter

Time-based narrowing for asset search.

object

{ "timeField": ["lastUpdatedTimestamp"], "startTime": "startOfDay", "endTime": "now", "timeMatchStrategy": "any" }

No

keywordFilter

Keyword-based matching across asset and vulnerability fields.

object

None

No

userFilter

User or user-group related asset filters.

object

None

No

groupFilter

Asset group membership filters.

object

None

No

includeFlags

Asset flags that must all be present. Allowed values: hasHighVulnerability, hasCriticalVulnerability, exploitAvailable.

array<string>

None

No

excludeFlags

Asset flags that must not be present. Exclusion still applies even if included flags match. Allowed values: hasHighVulnerability, hasCriticalVulnerability, exploitAvailable.

array<string>

None

No

page

Pagination settings.

object

{ "limit": 25, "offset": 0 }

No

sortBy

Sort order list. Use list order as priority. Prefix with - for descending.

array<string>

None

No

request.componentFilter[] fields#

Field

Description

Type

Default

Required

componentDefinition

Component definition ID or name.

string

None

No

value

Component values to match for the specified component definition. Any listed value may match.

array<string>

None

No

request.vulnerabilityFilter fields#

Field

Description

Type

Default

Required

vulnerabilityID

Vulnerability identifiers affecting the asset.

array<string>

None

No

vulnerabilityReference

Vulnerability references to match.

array<string>

None

No

vulnerabilityResolution

Vulnerability resolution states. Allowed values: unresolved, accepted, temporarilyAccepted, falsePositive, serviceNotAvailable, noLongerVulnerable.

array<string>

None

No

vulnerabilitySeverity

Overall vulnerability risk severity. Allowed values: unknown, low, medium, high, critical.

array<string>

None

No

confidentiality

CIA confidentiality impact level. Allowed values: unknown, low, medium, high, critical. Do not use this as the overall risk severity.

array<string>

None

No

availability

CIA availability impact level. Allowed values: unknown, low, medium, high, critical. Do not use this as the overall risk severity.

array<string>

None

No

integrity

CIA integrity impact level. Allowed values: unknown, low, medium, high, critical. Do not use this as the overall risk severity.

array<string>

None

No

minimumTotalCVSS

Match assets whose total vulnerability CVSS score is greater than this value.

number

None

No

maximumTotalCVSS

Match assets whose total vulnerability CVSS score is less than this value.

number

None

No

request.timeFilter, request.keywordFilter, request.userFilter, request.groupFilter, and request.page#

These nested fields follow the same structure documented in Argus Asset Search Translator MCP Tools.

Usage notes

  • If your request is a search, the LLM may first use generateArgusAssetSearchQuery to shape and validate the query.

  • If you want more than one page of results, ask the LLM to continue fetching more pages. The tool itself returns one page at a time.

  • For descending sorting, the LLM can use a - prefix such as -lastUpdatedTimestamp.

  • If you want group information in search results, ask for that explicitly so the LLM can enable groupFilter.includeGroupInfo.

Tool: executeCalculateStatisticsArgusAsset#

Purpose

Calculate Argus asset statistics for the filters and aggregation instructions the LLM has prepared.

Arguments

Field

Description

Type

Default

Required

request

The asset statistics request the LLM builds from your request.

object

None

Yes

assetDefinition

Asset definition to calculate statistics for. Allowed values: HostAsset, QualysHostAsset.

string

HostAsset

Yes

request fields#

Field

Description

Type

Default

Required

filter

Filters used to choose the asset population before statistics are calculated. It supports the same filter fields as asset search, except pagination and sorting.

object

Empty filter with default time range

No

assetStatistics

Statistics and aggregations to generate over the filtered assets. At least one output instruction is needed for a meaningful statistics query.

object

Empty statistics request

Yes

request.assetStatistics fields#

Field

Description

Type

Default

Required

timeRangeMetrics

Time-based metrics over filtered assets. Use for requests such as assets created per day or last seen per week.

array<object>

None

No

numericMetrics

Numeric summary metrics over supported asset fields.

array<object>

None

No

groupBy

Fields to group statistics by. List order controls the hierarchy.

array<object>

None

No

At least one of timeRangeMetrics, numericMetrics, or groupBy should be present.

request.assetStatistics.timeRangeMetrics[] fields#

Field

Description

Type

Default

Required

name

Unique name for this metric in the statistics request.

string

Generated if omitted

No

timestampField

Timestamp field used for the metric. Allowed values: created, deleted, lastSeen, lastUpdated.

string

None

Yes

resolution

Time bucket resolution. Allowed values: hour, day, week, month, year.

string

None

No

includeEmptyBuckets

Whether empty time buckets should appear in the result.

boolean

None

No

request.assetStatistics.numericMetrics[] fields#

Field

Description

Type

Default

Required

numericField

Numeric asset field to summarize. Allowed values: vulnerabilities, cvss.

string

None

Yes

request.assetStatistics.groupBy[] fields#

Field

Description

Type

Default

Required

field

Asset field to group by. Allowed values: customer, assetGroup.

string

None

Yes

limit

Maximum number of buckets for this group level.

number

25

No

Usage notes

  • If your request asks for statistics, the LLM may first use generateArgusAssetStatisticsQuery to shape and validate the query.

  • The statistics response may be a single root bucket or a hierarchical tree when groupBy is used.

  • When explaining grouped statistics, the LLM should use the full bucket path from root to leaf.

  • Empty buckets, rangeMetrics, or statisticsMetrics arrays mean there are no child buckets or metrics at that level.