Argus Event REST MCP Tools#
These tools let the LLM retrieve Argus event data, calculate event statistics, fetch event details, and inspect event lineage from the Argus event API.
They support five common tasks:
list events associated with a case
search events using structured criteria
calculate event statistics using structured filters and aggregation instructions
fetch one event by its event identifier
fetch event lineage by event identifier
General Notes#
Use these tools when you want the LLM to retrieve live event data or event statistics from Argus APIs.
For event searches, the LLM should first use the Event Search Translator MCP tools to shape and validate the search request.
For event statistics, the LLM should first use the Event Search Translator MCP tools to shape and validate the statistics request.
Search results and case-associated event listings are paginated.
limitcontrols how many results are returned, andoffsetcontrols where the page starts.Event search and case-associated event listing use page sizes from
1to100.Each search or list call returns only one page. It does not automatically fetch additional pages.
Search responses include pagination metadata under
page, such asnextOffset,stop, andreason, which the LLM can use if you ask it to continue.Event identifiers must use the canonical three-part format
timestampEpochMillis/customerID/eventUUID.Statistics responses are source-of-truth aggregation trees. The LLM should explain counts and metrics from returned buckets only, without inventing missing buckets or values.
Event Identifier Format#
The event detail and lineage tools require an event identifier in this format:
timestampEpochMillis/customerID/eventUUID
Example:
1762428410440/1/b18fb75e-0587-4570-a467-092a503f9294
If the user provides an identifier with a leading event-type prefix, such as RAW/, AGGR/, or NIDS/, the LLM should remove that prefix before using the identifier.
Example conversion:
RAW/1762428410440/1/b18fb75e-0587-4570-a467-092a503f9294
becomes:
1762428410440/1/b18fb75e-0587-4570-a467-092a503f9294
If the identifier cannot be converted into the canonical three-part format, the LLM should ask for a valid event identifier instead of guessing missing parts.
Tool: getEventsAssociatedWithCase#
Purpose
List Argus events associated with a specific case.
Arguments
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Case ID whose associated events should be returned. |
|
None |
Yes |
|
Maximum number of events to return in this call. Accepted range: |
|
None |
Yes |
|
Number of matching events to skip before returning results. Use |
|
None |
Yes |
Usage Notes
limit = 0, negative limits, and limits above100fail validation.Use
offset = 0for the first page unless the user asks for a later page.For more than 100 results, the LLM can make repeated calls with increasing
offsetif you ask it to continue.A common paging pattern is: next
offset = previous offset + limit.
Tool: executeSearchArgusEvent#
Purpose
Retrieve Argus event search results for event search criteria prepared from the user’s intent.
Arguments
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Full event search definition prepared and validated from the user’s request. |
|
None |
Yes |
|
Whether event properties should be included in returned results. Use |
|
|
No |
request Fields#
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Match events associated with any of these case IDs. |
|
None |
No |
|
Attack-related criteria. Each item is one criterion. |
|
None |
No |
|
Match events belonging to any customer ID or short name. |
|
None |
No |
|
Match events with any of these domain names. |
|
None |
No |
|
Endpoint-related criteria for source or destination endpoints. |
|
None |
No |
|
Match event severity. Allowed values: |
|
None |
No |
|
Match specific event identifiers in canonical |
|
None |
No |
|
Match event types. Allowed values: |
|
None |
No |
|
Time-based narrowing for event search. |
|
|
No |
|
Event flags that matching events must contain. Values should be resolved with the event search translator list tools. |
|
None |
No |
|
Event flags that matching events must not contain. Values should be resolved with the event search translator list tools. |
|
None |
No |
|
Event property criteria. |
|
None |
No |
|
Pagination settings. |
|
|
No |
|
Search result sort order. Use list order as priority. Prefix with |
|
None |
No |
request.attack[] Fields#
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Match events triggered by any of these alarms, using alarm ID or short name. |
|
None |
No |
|
Match events in any of these attack categories, using ID or short name. |
|
None |
No |
|
Match events triggered by any of these security signatures. |
|
None |
No |
|
Negate this attack criterion. |
|
|
No |
|
Require this attack criterion to match together with other criteria. |
|
|
No |
request.endpoint[] Fields#
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Match endpoint country codes. |
|
None |
No |
|
Which endpoint side to search. Allowed values: |
|
|
No |
|
Match endpoint IPs or CIDR networks. Supports IPv4, IPv6, and CIDR notation. |
|
None |
No |
|
Minimum CIDR prefix length to match. Useful to exclude broad subnets. |
|
None |
No |
|
Match endpoint ports. |
|
None |
No |
|
Endpoint flags that must be present. Values should be resolved with the event search translator list tools. |
|
None |
No |
|
Endpoint flags that must not be present. Values should be resolved with the event search translator list tools. |
|
None |
No |
|
Negate this endpoint criterion. |
|
|
No |
|
Require this endpoint criterion to match together with other criteria. |
|
|
No |
request.timeFilter Fields#
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Event time fields the range applies to. Allowed values: |
|
|
No |
|
Start of the time range. Accepts epoch millis as string, ISO-8601 UTC, or relative expressions such as |
|
|
No |
|
End of the time range. Accepts epoch millis as string, ISO-8601 UTC, or relative expressions such as |
|
|
No |
|
How to evaluate multiple |
|
|
No |
request.property[] Fields#
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Property key to match. |
|
None |
Yes |
|
Property values to match against the key. |
|
None |
Yes |
|
How to combine multiple values. Allowed values: |
|
|
No |
|
How to compare each value. Allowed values: |
|
|
No |
|
Negate this property criterion. |
|
|
No |
|
Require this property criterion to match together with other criteria. |
|
|
No |
request.page Fields#
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Maximum number of events per page. Accepted range: |
|
|
No |
|
Number of events to skip before returning results. Must be |
|
|
No |
Usage Notes
The LLM should use
generateArgusEventSearchQuerybefore executing an event search so event flags, endpoint flags, sort fields, pagination, and identifiers are validated.If more than one page is needed, ask the LLM to continue fetching additional pages. The tool itself returns one page at a time.
Descending sorting uses a
-prefix, for example-createdTimestamp.If event properties are needed in result rows, ask for properties explicitly so
includePropertiescan be set totrue.
Tool: executeCalculateStatisticsArgusEvent#
Purpose
Calculate statistics for Argus events matching the selected filters. The result can include grouped buckets and time-based timeline metrics.
Arguments
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Event statistics definition prepared and validated from the user’s request. |
|
None |
Yes |
request Fields#
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Filters that select which events are included before statistics are calculated. |
|
Default event filter with created-time range from |
No |
|
Statistics outputs to calculate. Must include |
|
Empty object |
Yes |
request.filter Fields#
These filters use the same shape as event search filters, except there is no pagination, sorting, or includeProperties option.
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Include events associated with any of these case IDs. |
|
None |
No |
|
Attack-related criteria. |
|
None |
No |
|
Include events for any customer ID or short name. |
|
None |
No |
|
Include events with any of these domain names. |
|
None |
No |
|
Endpoint-related criteria. |
|
None |
No |
|
Include event severities. Allowed values: |
|
None |
No |
|
Include specific event identifiers in canonical |
|
None |
No |
|
Include event types. Allowed values: |
|
None |
No |
|
Time range selecting the event population for statistics. |
|
|
No |
|
Event flags that events must contain. Values should be resolved with the event search translator list tools. |
|
None |
No |
|
Event flags that events must not contain. Values should be resolved with the event search translator list tools. |
|
None |
No |
|
Event property criteria. |
|
None |
No |
request.statistics Fields#
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Fields by which to group statistics. Order controls the aggregation hierarchy. |
|
None |
Required if |
|
Time-based timeline metrics to calculate over the filtered events. |
|
None |
Required if |
At least one of groupBy or timeRangeMetrics is required for a valid statistics request.
request.statistics.groupBy[] Fields#
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Event field to group by. Allowed values: |
|
None |
Yes |
|
Maximum number of distinct buckets for this group field. Minimum |
|
|
No |
request.statistics.timeRangeMetrics[] Fields#
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Unique metric name for the timeline metric. Use letters, numbers, underscore, colon, dash, or dot. |
|
None |
Yes |
|
Event timestamp field to bucket. Allowed values: |
|
None |
Yes |
|
Timeline bucket size. Allowed values: |
|
None |
No |
|
Whether empty time buckets should be included. |
|
None |
No |
Statistics Response Notes
The response is a scoped tree, not a flat list.
If no
groupByfields are requested, the top-level bucket represents all matching events.If
groupByis requested, child buckets are scoped by their parent buckets and follow the requested group order.Metrics apply only to the bucket where they appear.
Empty
buckets,rangeMetrics, orstatisticsMetricsarrays mean there are no child buckets or metrics at that level.The LLM should not combine buckets just because display names match; identity fields such as identifiers should be preferred when available.
Usage Notes
The LLM should use
generateArgusEventStatisticsQuerybefore calculating event statistics so event flags, endpoint flags, required statistics instructions, and identifiers are validated.The statistics filter time range selects the events included in the calculation.
Timeline metric start and end timestamps follow the filter time range.
Event statistics do not support numeric summary metrics; use
groupByandtimeRangeMetrics.Event statistics timeline fields are narrower than search time fields. For example,
publishedcan be used in search time filters but is not a valid timeline metric timestamp field.
Tool: getArgusEventByIdentifier#
Purpose
Fetch full event details for one specific event identifier. Details include comments, properties, and sub-event identifiers when available.
Arguments
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Event identifier to look up. Use canonical |
|
None |
Yes |
Usage Notes
Prefixes such as
RAW/,AGGR/, andNIDS/should be removed before lookup.Invalid identifiers fail parsing. The LLM should ask for a valid identifier instead of guessing missing timestamp, customer ID, or UUID values.
Tool: getArgusEventLineageByIdentifier#
Purpose
Fetch event lineage records for one specific event identifier.
Arguments
Field |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
|
Event identifier whose lineage should be returned. Use canonical |
|
None |
Yes |
|
Maximum number of lineage records to return in this call. Use |
|
None |
Yes |
|
Number of lineage records to skip before returning results. Use |
|
None |
Yes |
Usage Notes
Prefixes such as
RAW/,AGGR/, andNIDS/should be removed before lookup.Invalid identifiers fail parsing. The LLM should ask for a valid identifier instead of guessing missing timestamp, customer ID, or UUID values.
The tool fetches one page at a time. For more lineage records, the LLM should make another request with
offset = previous offset + limit.The tool description recommends
limitvalues from1to100, but this method does not perform the same local limit validation as event search and case-associated event listing. Use1to100to stay aligned with the API guidance.