Skip to main content
Glama
BlueMonkey262

subagent-mcp

Get agent events

get_agent_events

Retrieve buffered, normalized events for an agent during background polling, resume from a sequence, cap returned results, and check whether more events remain.

Instructions

Buffered normalized event log for an agent, for background polling. Reliable floor for progress. The response identifies the agent by both name and agent_id; prefer the name in conversation. The response always includes currentSequence (the true latest sequence for this agent, even when events is empty) so you can seek straight to "now" instead of bisecting since. Pass limit to cap how many events come back in one call; hasMore says whether more remain past nextSequence.

Input Schema

NameRequiredDescriptionDefault
agentYes
limitNoCaps events returned in this call
sinceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations at all, the description carries the full burden and does disclose genuinely non-obvious behavior: currentSequence is always returned even when events is empty, hasMore/nextSequence define pagination, and the agent is identified by both name and agent_id. It still never states that reading is non-consuming/idempotent (i.e., that polling does not advance a cursor) or what happens for an unknown agent, which is the main risk for a 'buffered log'.

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?

Front-loads what the tool is and its polling role, then layers pagination and naming guidance. Dense but nearly every clause carries information; the quoted "now" phrasing is slightly chatty but not wasteful.

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

Completeness4/5

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

There is no output schema, so the description correctly takes on the return-shape explanation (currentSequence, events, hasMore, nextSequence), which is the right call for a polling tool. Gaps remain around read side effects, event ordering guarantees, and failure behavior when the agent does not exist.

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 only 33% (only limit is documented there), but the description compensates: it explains limit as a per-call cap plus the hasMore/nextSequence relationship, reframes since as a sequence seek point, and clarifies that agent may be given as name or agent_id. That is real added meaning beyond the bare string/integer schema.

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 resource (a buffered, normalized event log for one agent) and a concrete mode of use (background polling), which separates it from the blocking wait_for_agents and from get_agent_result. It never names a sibling explicitly, so sibling differentiation is implied rather than stated.

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?

"For background polling" and "reliable floor for progress" imply when to reach for it, and the currentSequence note tells the agent how to jump to now rather than bisect. There is no explicit guidance on when NOT to use it versus wait_for_agents, get_agent_result, or list_agents, so the agent must infer the boundary.

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