Skip to main content
Glama

listTickets

Read-only

Get list of tickets (feedback items) for the beta testing program. Tickets can be bugs, ideas (feature requests), questions, or chat messages. The returns could include a "step" field which indicates the specific step where the feedback was reported. Each ticket carries url: its page in the Stomio dashboard, a permanent link any manager of this workspace can open. Every ticket of the beta project is returned, with no cap and no paging; the optional filters narrow the list server-side and combine (a ticket must match all of them). Conversation state comes back on every ticket: updatedAt is when it last changed, messagesCount counts the conversation entries testers and managers wrote, attachments included and automatic events such as state or assignee changes excluded, and equals the totalMessages that getTicketDetails reports; lastMessageAt / lastMessageFrom / lastMessageInternal describe the newest of those entries, so automatic events such as a state or assignee change never move them, and they are absent on a ticket nobody has written in yet. lastMessageFrom is "tester", "manager", or "guest"; lastMessageInternal true means the newest entry is a manager-only note testers cannot see. awaitingManagerReply is on every ticket and is true when the newest entry the tester can actually see came from a tester or a guest: it ignores manager-only notes, so writing a private note on a ticket does not make it look answered, and it is false on a ticket nobody has written in. Use it, not lastMessageFrom, to find the tickets still waiting on a manager. lastPublicMessageAt is when that newest tester-visible entry was written, absent when there is none: on a ticket awaiting a reply it is the moment the wait began, so measure waiting time from it, never from lastMessageAt, which a later manager-only note moves. Read the thread itself with getTicketDetails or getTicketMessagesBatch.

Input Schema

NameRequiredDescriptionDefault
typeNoOptional: Filter by ticket type. Omit to get all tickets.
stateNoOptional: Filter by ticket state. Omit to get tickets in both states.
productIdYesID of the beta project to query. Get valid IDs from the listProducts tool.
updatedSinceNoOptional: ISO 8601 date-time; keeps only tickets changed at or after it. A ticket changes when someone writes in it or edits it.
assigneeUserIdNoOptional: Filter to the tickets assigned to one manager, by their userId from listBetaManagers, or to the unassigned ones with the literal value "unassigned". Any other value is rejected.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true; the description adds substantial behavioral context beyond that: no cap and no paging, filters applied server-side and combined conjunctively (a ticket must match all), and precise semantics for derived fields such as messagesCount excluding automatic events and awaitingManagerReply ignoring manager-only notes. This is exactly the disclosure an agent needs for a non-paginated bulk read.

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?

Purpose is front-loaded and the dense field semantics are logically ordered (identity/link, enumeration scope, conversation state, then reply-waiting). It is long and repeats itself in places, explaining 'automatic events such as state or assignee change' twice and restating lastMessageFrom's value set, which slightly weakens the every-sentence-earns-its-place test.

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

Completeness5/5

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

With no output schema, the description carries the burden of explaining the returned shape and does so thoroughly: url, updatedAt, messagesCount, lastMessageAt/From/Internal, awaitingManagerReply, lastPublicMessageAt. An agent can interpret and act on the results without further documentation.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description adds meaning beyond it by stating that optional filters narrow results server-side and combine with AND semantics, which the schema does not say. It does not add per-parameter detail on updatedSince or assigneeUserId beyond the schema, so it stops short of a 5.

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

Purpose5/5

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

Opens with a specific verb and resource ('Get list of tickets (feedback items) for the beta testing program') and clarifies the ticket domain (bugs, ideas, questions, chat). It also distinguishes itself from the thread-reading siblings getTicketDetails and getTicketMessagesBatch by naming them explicitly.

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

Usage Guidelines4/5

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

Gives explicit routing: use this to list/filter tickets, and 'Read the thread itself with getTicketDetails or getTicketMessagesBatch' for message content. It also warns to use awaitingManagerReply rather than lastMessageFrom when finding tickets awaiting a manager. It lacks guidance on when not to use it (e.g., single known ticket vs. getTicketDetails), but the alternative routing is clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources