Skip to main content
Glama
ESET-MCP

ESET-MCP

by maciekaz

quarantine_quarantined_objects__list_quarantined_objects

Read-onlyIdempotent

List quarantined email messages, attachments, and drive files by reason, sender, user, tenant, origin, or quarantine time to review blocked items and support security investigations.

Instructions

List quarantined objects - (GET /v1/quarantined-objects) - List all quarantined objects matching the criteria in the filter.

Input Schema

NameRequiredDescriptionDefault
fieldsNoOptional server-side projection: return only these keys for each list-item in the response. Reduces token usage on large list endpoints. Example: ['uuid','displayName']. Top-level fields (e.g. nextPageToken) are always preserved. Not forwarded to ESET - applied locally after fetch.
orderByNoComma-separated list of fields (from the request resource). Allowed formats are: - [snake_case version of the field name](https://developers.google.com/protocol-buffers/docs/style#message_and_field_names) as used by protocol buffers. - [JSON version of the field name](https://protobuf.dev/programming-guides/proto3/#json) The syntax is described at [Standard Methods: List Ordering](https://google.aip.dev/132#ordering)
pageSizeNoLimit for pagination purposes. If unspecified or 0, the default value is 50. The maximum value is 1000; values above 1000 will be coerced to 1000. > **Info:** > For more information, refer to [Paginating Requests in APIs](https://medium.com/@ignaciochiazzo/paginating-requests-in-apis-d4883d4c1c4c) > > or [Design Patterns: Pagination](https://google.aip.dev/158)
pageTokenNoPage token of the current page. If not given or "", the first page is returned. > **Info:** > For more information, refer to [Paginating Requests in APIs](https://medium.com/@ignaciochiazzo/paginating-requests-in-apis-d4883d4c1c4c) > > or [Design Patterns: Pagination](https://google.aip.dev/158)
filter.fileNameNoIf given, only quarantined files with the path terminated with this string are returned. If empty or "", all files are returned.
filter.userUuidNoThis is a reference to the user associated with the quarantined object through ownership of its storage. If filled for a file, only the files on a cloud drive owned by the given user are included in the response. If filled for mail, only the files in a mailbox owned by the given user are included in the response. If null or empty, quarantined objects associated with any user and accessible to the caller will be included in the response. type: user_management.v1.User
filter.objectTypeNoType of quarantined object to be returned in the response. If 0 or empty, all types of quarantined objects are returned. - QUARANTINED_OBJECT_TYPE_UNSPECIFIED: fallback - QUARANTINED_OBJECT_TYPE_EMAIL_MESSAGE: The object is an email message. - QUARANTINED_OBJECT_TYPE_EMAIL_ATTACHMENT: The object is an email attachment. - QUARANTINED_OBJECT_TYPE_FILE_ON_DRIVE: The object is a file on the drive.QUARANTINED_OBJECT_TYPE_UNSPECIFIED
filter.emailSenderNoIf given, only emails from the given email address are returned. If empty or "", emails from all the senders are included in the response. 0 - 100 characters
filter.emailSubjectNoIf given, only emails whose subject contains this string are returned. If empty or "", emails with any subject are included in the response. 0 - 100 characters
filter.objectOriginNoOrigin of the quarantined object. If filled, only objects with the given origin are returned. Objects with any origin are returned otherwise. - OBJECT_ORIGIN_UNSPECIFIED: fallback - OBJECT_ORIGIN_MS_OFFICE365: Object originates in Microsoft Office 365. - OBJECT_ORIGIN_GOOGLE_WORKSPACE: Object originates in Google Workspace. - OBJECT_ORIGIN_DEVICE: Object originates from a device.OBJECT_ORIGIN_UNSPECIFIED
filter.emailRecipientNoIf given, only emails with the given email address in recipients are returned. If empty or "", emails for all the recipients are included in the response. 0 - 100 characters
filter.msTeamsTeamUuidNoReference to [Microsoft Teams team]. type: eset.dotnod.quarantine_management.v1-alpha.MicrosoftTeamsTeam
filter.quarantineReasonNoIf given, only objects quarantined for this reason are returned. If 0 or empty, objects quarantined for all possible reasons are returned. - QUARANTINE_REASON_UNSPECIFIED: fallback - QUARANTINE_REASON_MALWARE: The object was identified as malware or as containing malware. - QUARANTINE_REASON_GRAYWARE: The object was identified as grayware or as containing grayware. Grayware refers to potentially unwanted programs or files that, while not explicitly malicious, can negatively impact system performance or user experience. - QUARANTINE_REASON_PHISHING: The object (mostly email) was identified as phishing. - QUARANTINE_REASON_SPAM: The object (mostly email) was identified as unsolicited or spam. - QUARANTINE_REASON_SENDER_SPOOFING: The email's sender was identified as spoofed. - QUARANTINE_REASON_RULE: The object was quarantined by a rule (for example, `mail transfer protection rule`).QUARANTINE_REASON_UNSPECIFIED
filter.cloudOfficeTenantUuidNoReference to [cloud office tenant]. If filled, only objects of the referred tenant are returned. If empty or null, objects of any tenant are returned. type: cloud_office_protection.v1.CloudOfficeTenant
filter.emailInternetMessageIdNoIf filled, only messages with this Message-ID are returned. If empty or "", messages with any Message-ID are returned.
filter.quarantineTime.endTimeNoOptional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
filter.msSharepointRootSiteUuidNoReference to [Microsoft Sharepoint root site]. If filled, only objects belonging to the given site or its child sites are returned. If empty or "", objects of all sites are returned. type: eset.dotnod.quarantine_management.v1-alpha.MicrosoftSharepointSite
filter.quarantineTime.startTimeNoOptional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds nothing beyond this: it does not mention pagination behavior, the 1000-item page-size cap, or that the fields parameter is applied locally after fetch rather than forwarded to ESET.

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?

The description is a single compact sentence that leads with the verb and resource, with the endpoint appended. It is slightly redundant by restating "List quarantined objects" and then "List all quarantined objects," but nothing is wasted overall.

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

Completeness3/5

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

For an 18-parameter list endpoint with no output schema, the description should at least sketch the returned shape or pagination defaults. Those gaps are partly mitigated by the very thorough parameter schema and by annotations confirming a read-only, idempotent operation, making the definition minimally viable rather than complete.

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% with 18 richly documented parameters, including enum value explanations, so the schema carries the semantic load. The description only refers generically to "the criteria in the filter" and adds no syntax or interaction guidance beyond the schema, which is the baseline expectation when coverage is this high.

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 quarantined objects") plus the underlying endpoint GET /v1/quarantined-objects, and clarifies that results are filtered by criteria. It does not distinguish itself from siblings like get_quarantined_object or get_quarantined_objects_count, but the core purpose is unambiguous.

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

Usage Guidelines2/5

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

The description implies usage (listing quarantined objects matching a filter) but gives no explicit when-to-use guidance, no conditions favoring the single-object get call, and no mention of when to prefer the count sibling. The agent must infer routing from tool names alone.

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

Deploy Server

Other Tools