Skip to main content
Glama

list_company_roles

Read-onlyIdempotent

Retrieve company role definitions, including system roles with negative IDs, to see available roles and support permission mapping.

Instructions

Read company role definitions, including system roles with negative IDs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
detailNo
offsetNo
text_offsetsNoJSON pointer -> character offset. Reuse the same page and all returned text cursors to continue.
previous_pageNoPass page_fingerprint from the preceding page to detect an API ignoring pagination.
section_offsetsNoJSON pointer -> nested array offset. Reuse the same page to continue a section.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemNo
errorNo
itemsNo
limitNo
totalNo
offsetNo
metadataNo
warningsNo
paginationNo
next_offsetNo
continuationNo
comments_limitNo
comments_offsetNo
page_fingerprintNo
comments_includedNo
next_text_offsetsNo
comments_next_offsetNo
total_in_selected_pagesNo
comments_page_fingerprintNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/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 covered. The description adds only the data-semantics note about negative IDs for system roles; it says nothing about pagination behavior or rate limits beyond what the schema parameters imply.

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?

A single tight sentence with the core scope front-loaded and no filler. It is efficient, though for a six-parameter tool with nested pagination objects it is arguably too sparse rather than optimally sized.

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

Completeness2/5

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

An output schema exists so return values need not be described, and annotations cover safety. But the tool has six parameters, nested offset objects, and cursor-based pagination, none of which the description addresses; the detail enum's effect on response shape is left unexplained, leaving a complex list tool under-described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, and the description explains none of the six parameters — notably the detail enum (summary vs full), limit, offset, and the pagination cursor objects. It adds no parameter meaning beyond what the schema already provides, so it fails to compensate for the coverage gap.

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 ("Read company role definitions") and adds a content qualifier about system roles having negative IDs, which helps an agent recognize the returned data. It does not, however, differentiate itself from sibling list tools such as list_users or list_space_users.

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?

The purpose implies when the tool is useful (fetching role definitions for a company), but there is no explicit when-to-use, when-not, or named alternative among the many sibling list tools. Usage is left to inference from the name and description.

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