Skip to main content
Glama
ESET-MCP

ESET-MCP

by maciekaz

iam_identity_provider__list_roles

Read-onlyIdempotent

Lists role assignments for users, devices, groups, managed identities, and services, with filters for subject, subject type, and scopes to audit or review access.

Instructions

List roles - (GET /v2/role-assignments) - List [role]s of [subject]s.

Info: Not only Users are [subject]s, but anything that can have roles attached. For example, Devices.

Info: Modeled after List role assignments.

Might be filtered by the specified [subject] or [scope]s.

If the filters are left empty, all the roles availa

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://developers.google.com/protocol-buffers/docs/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)
subjectTypeNoType of the subject in reference. - SUBJECT_TYPE_UNSPECIFIED: fallback - SUBJECT_TYPE_USER: Subject represents a [user]. - SUBJECT_TYPE_DEVICE: Subject represents a [device]. - SUBJECT_TYPE_USER_GROUP: Roles can be assigned to a user group. Then, the roles are inferred from the groups of the authenticated user. - SUBJECT_TYPE_MANAGED_IDENTITY: The subject has a managed identity. Managed identities are used by the API clients to access services. - SUBJECT_TYPE_SERVICE: The subject represents a [service].SUBJECT_TYPE_UNSPECIFIED
subjectReferenceNoReturn only roles of the [subject](https://pages.nist.gov/800-63-3/sp800-63-3.html#subject) Reference can be the User UUID, EPC instance UUID, or whatever identifies the subject. If omitted, all the subjects (accessible to the caller) are returned. > **Info:** > `sub` claim can be used: > [JSON Web Token Claims](https://auth0.com/docs/secure/tokens/json-web-tokens/json-web-token-claims#reserved-claims) > > Identical to the `principal` concept from the Microsoft literature: [Security principals](https://docs.microsoft.com/en-us/windows/security/identity-protection/access-control/security-principals)
includeNestedScopesNoScopes can be nested, and some scopes naturally exist within the boundaries of another scope. If true, besides the requested scopes, nested scopes are also included in the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered without the description. The description adds the useful default behavior (empty filters return everything available to the caller) and notes that subjects include non-user principals like devices. It says nothing about permission requirements, result volume, or ordering defaults.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is truncated mid-sentence, which is a substantive defect rather than a stylistic one, and it carries blockquote markup, bracketed placeholders like [role]s, and an external Azure link that do not help an agent decide or call. The opening line is front-loaded, but overall it is noisy and incomplete.

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?

Given a fully documented schema and complete annotations, the description does not need to carry much. Still, the truncated final sentence leaves the default-result-scope statement unfinished, and it omits any indication of who may see which role assignments — a relevant gap for an IAM listing endpoint.

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%, so every one of the seven parameters is already documented in detail, including enums, pagination, projections and ordering. The description only gestures at the subject and scope filters and adds no syntax or format detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb and resource ("List [role]s of [subject]s") and gives the underlying endpoint (GET /v2/role-assignments), which is directionally clear. However, it wavers between "roles" and "role assignments", and the final clause is cut off ("all the roles availa"), leaving the scope statement unfinished. No sibling such as iam_permissions__list_permissions is referenced to disambiguate.

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

Usage Guidelines3/5

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

It gives one genuinely useful usage fact: filtering by subject or scope, and that empty filters return the unfiltered set. That is implied guidance about the default path, but there is no explicit when-to-use/when-not-to-use and no comparison to adjacent IAM listing tools.

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