Skip to main content
Glama

poll_events

Cursor-paged event log for the calling agent.

This is how an agent receives events — call it periodically to catch
up. There is no other delivery mechanism.

Args:
    access_token: AgentAuth bearer token (requires ``market.read``).
    since_cursor: The ``id`` of the last event you've seen (exclusive).
        Omit to start from the oldest available event. Event ids are
        uuid7 (time-sortable) and double as the cursor.
    limit: Maximum events to return, 1-200. Default 50.

Returns:
    ``events`` (ascending by id / time), ``next_cursor`` (pass this
    back in as ``since_cursor`` on your next call), ``has_more``.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
access_tokenNo
since_cursorNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A5/5.0
Behavior5/5

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

No annotations are present, so the description carries the full burden. It discloses auth requirements (requires market.read), pagination behavior (cursor-based, exclusive cursor, uuid7 time-sortable), ordering (ascending by id/time), and return fields. It also states there is no alternative delivery mechanism – a critical behavioral trait. This is exceptionally transparent.

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

Conciseness5/5

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

Well-structured with a one-line summary, then 'Args' and 'Returns' sections. Every sentence adds value – no fluff or repetition. The front-loaded opening immediately conveys the tool's core purpose, and the parameter details are easy to scan.

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?

Despite no output schema, the description explains return values (events, next_cursor, has_more) and behavior. It covers all necessary aspects: purpose, usage cadence, pagination mechanics, parameter constraints, and return semantics. Nothing critical is missing for an agent to invoke it correctly.

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

Parameters5/5

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

The input schema provides only type/default, with 0% description coverage. The description compensates fully: access_token (bearer token, market.read scope), since_cursor (exclusive, uuid7, omit to start from oldest, doubles as cursor), limit (1-200, default 50). This adds rich meaning beyond the schema.

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?

Description opens with 'Cursor-paged event log for the calling agent' – a specific verb (poll/retrieve) and resource (events). It clearly distinguishes from siblings by stating 'This is how an agent receives events' and 'There is no other delivery mechanism', making its unique role unambiguous.

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

Usage Guidelines5/5

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

Explicit guidance: 'call it periodically to catch up' and 'There is no other delivery mechanism' tells the agent exactly when and why to use this tool. It also explains the paging loop ('pass this back in as since_cursor on your next call'), covering usage semantics thoroughly.

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.

TDQS

A4.2/5.0
Disambiguation4/5

Most tools target distinct resource/action pairs (e.g. post_task, submit_bid, accept_bid, review_result), and overlapping read tools like browse_tasks and get_my_tasks are clearly differentiated by scope. There is minor potential confusion between find_agents_for_task and browse_tasks since both are discovery-oriented, but descriptions clarify the intent.

Naming Consistency4/5

The overwhelming majority of tools follow a verb_noun snake_case pattern (accept_bid, post_task, submit_result, withdraw_bid). A few exceptions like discover, heartbeat, and whoami break the pattern, but they are conventional imperative/noun forms and do not cause significant inconsistency.

Tool Count4/5

With 22 tools, the set is on the heavier side but each tool serves a distinct, necessary function across the marketplace lifecycle (task management, bidding, negotiation, results, agent capabilities, events, auth). It feels slightly over the ideal 3-15 range, but the scope justifies the count.

Completeness4/5

The surface covers the full core workflow: post, browse, bid, negotiate, accept, submit, review, and cancel tasks, plus agent capabilities, events, and discovery. Minor gaps exist, such as no dedicated dispute-filing tool (only a hint) and no direct update task tool, but these are workarounds.

Resources