Skip to content

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.