Argus Case MCP Tools#

These tools let the LLM retrieve Argus cases, case details, comments, tags, and allowed case metadata values from the case API.

They support seven common tasks:

  • fetch case details by case ID

  • fetch case comments by case ID with pagination

  • fetch case tags by case ID

  • search cases using a structured request

  • list allowed case fields

  • list allowed case services

  • list allowed case categories

General Notes#

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

  • If you ask the LLM to search for cases, it should first use the case search translator tools to construct and validate the search request, then use executeSearchArgusCase to fetch results.

  • Search results are usually summaries. Full case details require getArgusCaseByID with the case ID.

  • Case comments are not included in case details. They require getArgusCaseComments.

  • Case tags are not included in case details. They require getArgusCaseTags.

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

  • Search responses include pagination metadata under page, such as nextOffset, stop, and reason, which the LLM can use if you ask it to continue.

  • When category filtering is involved, the LLM can look up allowed categories and use the returned shortName values behind the scenes.

  • When service filtering is involved, the LLM can look up allowed services and use the returned shortName values behind the scenes.

  • When case-field filtering is involved, the LLM can look up allowed case fields and use the returned field name values behind the scenes.

  • Tool results are live Argus API results. The LLM should treat them as the source of truth and not infer missing case values.

Tool: getArgusCaseByID#

Purpose

Retrieve Argus case details for one specific case ID. The response includes case-level fields such as description, status, and priority.

Arguments

Field

Description

Type

Default

Required

caseID

Case ID to look up. Must be 1 or greater.

number

None

Yes

Usage Notes

  • Values below 1 fail validation.

  • Comments and tags are separate from the case detail response. The LLM should fetch them with the dedicated tools when requested.

Tool: getArgusCaseComments#

Purpose

Retrieve comments associated with one specific case ID.

Arguments

Field

Description

Type

Default

Required

caseID

Case ID whose comments should be returned. Must be 1 or greater.

number

None

Yes

limit

Maximum number of comments to return in one page. Accepted range: 1 to 100. Use 25 when no specific page size is requested.

number

None

Yes

offset

Number of comments to skip before returning results. Use 0 for the first page.

number

None

Yes

Usage Notes

  • Values below 1 for caseID fail validation.

  • limit = 0, negative limits, and limits above 100 fail validation.

  • The tool fetches one page at a time. For more than one page, the LLM should make another request with offset = previous offset + limit.

  • Use offset = 0 for the first page unless the user asks for a later page.

Tool: getArgusCaseTags#

Purpose

Retrieve tags associated with one specific case ID.

Arguments

Field

Description

Type

Default

Required

caseID

Case ID whose tags should be returned. Must be 1 or greater.

number

None

Yes

Usage Notes

  • Values below 1 fail validation.

  • Use this tool when the user asks for tags, labels, or tag metadata attached to a case.

Tool: executeSearchArgusCase#

Purpose

Retrieve Argus case search results for the search criteria the LLM has prepared and validated.

Arguments

Field

Description

Type

Default

Required

request

Full case search definition prepared from the user’s request.

object

None

Yes

request Fields#

Field

Description

Type

Default

Required

asset

Match cases associated with any specified assets, using asset ID or short name.

array<string>

None

No

customer

Match cases belonging to any specified customers, using customer ID or short name.

array<string>

None

No

caseID

Match specific case IDs.

array<number>

None

No

type

Match case types. Allowed values: securityIncident, operationalIncident, information, change.

array<string>

None

No

serviceFilter

Match case service criteria.

object

None

No

category

Match case categories. The LLM can resolve allowed category shortName values behind the scenes.

array<string>

None

No

currentPriority

Match current priority values. Allowed values: low, medium, high, critical.

array<string>

None

No

initialPriority

Match initial priority values. Allowed values: low, medium, high, critical.

array<string>

None

No

currentStatus

Match current case status values.

array<string>

None

No

initialStatus

Match initial case status values.

array<string>

None

No

timeFilter

Time-based narrowing for case search.

object

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

No

tag

Tag-based case filter criteria.

array<object>

None

No

workflow

Workflow-based case filter criteria.

array<object>

None

No

caseField

Case field metadata filter criteria. The LLM can resolve allowed field names behind the scenes.

array<object>

None

No

keywordFilter

Keyword-based search across case text fields.

object

None

No

userFilter

User or user-group based case filtering.

object

None

No

userAssigned

Filter specifically on whether a user is assigned.

boolean

None

No

techAssigned

Filter specifically on whether technical personnel is assigned.

boolean

None

No

caseAccessMode

Match case access modes. Allowed values: roleBased, readRestricted, writeRestricted, explicit.

array<string>

None

No

caseExplicitAccessFilter

Match explicit-access grant criteria. When multiple criteria are provided, all must match.

array<object>

None

No

includeCaseFlag

Case flags that must all be present. Values should be resolved with the case search translator list tools.

array<string>

None

No

excludeCaseFlag

Case flags that must not be present. Values should be resolved with the case search translator list tools.

array<string>

None

No

page

Pagination settings.

object

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

No

sortBy

Sort order list. Use list order as priority. Prefix a value with - for descending. Values should be resolved with the case search translator list tools.

array<string>

None

No

request.serviceFilter Fields#

Field

Description

Type

Default

Required

caseService

Match cases with any of these case service IDs or short names. The LLM can resolve allowed service shortName values behind the scenes.

array<string>

None

No

includeCaseServiceFlag

Service flags that must all be present. Values should be resolved with the case search translator list tools.

array<string>

None

No

excludeCaseServiceFlag

Service flags that must not be present. Values should be resolved with the case search translator list tools.

array<string>

None

No

request.timeFilter Fields#

Field

Description

Type

Default

Required

timeField

Case time fields the range applies to. Allowed values: createdTimestamp, lastUpdatedTimestamp, closedTimestamp, publishedTimestamp, customerDueTimestamp, techDueTimestamp, all.

array<string>

["all"]

No

startTime

Start of the time range. Accepts epoch millis as string, ISO-8601 UTC, or relative expressions such as startOfDay - 1 day.

string

startOfDay

No

endTime

End of the time range. Accepts epoch millis as string, ISO-8601 UTC, or relative expressions such as now.

string

now

No

timeMatchStrategy

How to evaluate multiple timeField values. Allowed values: any, all.

string

any

No

request.tag[] Fields#

Field

Description

Type

Default

Required

tagKey

Exact tag key or name to search for.

string

None

Yes

value

Tag values to match. Optional when checking only whether the tag exists.

array<string>

None

No

searchCondition

How to apply this tag criterion. Allowed values: MATCH, NEGATE, EXCLUDE_TAG.

string

None

Yes

request.workflow[] Fields#

Field

Description

Type

Default

Required

flow

Workflow token to match. Values should be resolved with the case search translator list tools.

string

None

Yes

acknowledgeStatus

Workflow acknowledgement filter. Allowed values: acknowledged, unacknowledged, all.

string

all

No

exclude

Negate this criterion.

boolean

false

No

request.caseField[] Fields#

Field

Description

Type

Default

Required

fieldName

Case field name to search for. The LLM can resolve allowed field names behind the scenes.

string

None

Yes

value

Field values to match. Optional when checking only whether the field exists.

array<string>

None

No

searchCondition

How to apply this field criterion. Allowed values: MATCH, NEGATE, EXCLUDE_FIELD.

string

None

Yes

request.keywordFilter Fields#

Field

Description

Type

Default

Required

keywords

Search terms to match.

array<string>

None

No

keywordField

Case text fields to search. Allowed values: subject, description, comments, customerReference, id, all.

array<string>

None

No

keywordMatch

How to evaluate multiple keywords. Allowed values: any, all.

string

None

No

request.userFilter Fields#

Field

Description

Type

Default

Required

user

User IDs, user names, or user-group names to match.

array<string>

None

No

userField

User-related case fields to search. Allowed values: reporter, assignedUser, assignedTech, createdByUser, lastUpdatedByUser, closedByUser, publishedByUser, commentedByUser, watchedByUser, all.

array<string>

["all"]

No

request.caseExplicitAccessFilter[] Fields#

Field

Description

Type

Default

Required

startTime

Match cases with explicit access granted after this time. Uses the same time formats as other time filters.

string

None

No

endTime

Match cases with explicit access granted before this time. Uses the same time formats as other time filters.

string

None

No

accessLevel

Match explicit access levels. Allowed values: read, write, owner.

array<string>

None

No

user

User IDs, user names, or user-group names whose explicit access grants should match.

array<string>

None

No

includeAncestor

Whether to include the specified users and their ancestors when matching access grants.

boolean

false

No

request.page Fields#

Field

Description

Type

Default

Required

limit

Maximum number of cases per page. Accepted range: 1 to 100.

number

25

No

offset

Number of cases to skip before returning results. Must be 0 or greater.

number

0

No

Usage Notes

  • The LLM should use generateArgusCaseSearchQuery before executing a case search so enum values, pagination, and lookup-dependent fields are validated.

  • Case search pagination supports 1 to 100 items per page.

  • 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 -createdTimestamp.

  • currentStatus and initialStatus support: pendingCustomer, pendingSoc, pendingVendor, workingSoc, workingCustomer, pendingClose, closed.

  • Tag and case-field filters support both value matching and existence checks.

  • Unknown case flags, service flags, workflows, or sort fields can fail validation. The LLM can resolve these through the case search translator list tools.

Tool: listArgusCaseFields#

Purpose

Return the allowed case fields the LLM can use when case-field filtering is involved.

Arguments

This tool takes no arguments.

Result Notes

  • When case-field filtering is involved, the LLM can use the returned field name values behind the scenes.

Tool: listArgusCaseServices#

Purpose

Return the allowed case services the LLM can use when service filtering is involved.

Arguments

This tool takes no arguments.

Result Notes

  • When service filtering is involved, the LLM can use the returned shortName values behind the scenes.

Tool: listArgusCaseCategories#

Purpose

Return the allowed case categories the LLM can use when category filtering is involved.

Arguments

This tool takes no arguments.

Result Notes

  • When category filtering is involved, the LLM can use the returned shortName values behind the scenes.