Skip to main content
Glama
Scottcjn

RustChain + BoTTube MCP Server

by Scottcjn

Rustchain Events

rustchain_events

Read a bounded batch of RustChain health, epoch, and miner events. Pass the returned cursor to continue fetching newer events, with optional long-polling via wait_seconds.

Instructions

Read a bounded batch of RustChain health, epoch, and miner events.

This is a cursor-based batch/long-poll MCP tool, not native MCP tool streaming. One call does not emit partial miner results. For progressive consumption, pass the returned next_cursor into another call. A positive wait_seconds waits for a newer event, bounded by RUSTCHAIN_EVENT_LONG_POLL_MAX (30 seconds by default).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum events to return (default 50, clamped to configured max).
after_cursorNoReturn events newer than this generation-qualified cursor.0
wait_secondsNoSeconds to wait when no newer event exists (default 0).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, and it delivers: bounded batches, long-poll semantics, no partial miner results, cursor-based continuation, and the wait_seconds timeout bound. These are non-obvious behaviors beyond the schema and are stated directly, making the tool's runtime behavior 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?

The description is compact and front-loaded: the first sentence states the purpose, and each subsequent sentence adds a distinct behavioral or usage fact. There is no fluff, repetition, or irrelevant detail. Every sentence earns its place.

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?

Given the tool's moderate complexity and the presence of an output schema, the description covers all essential operational knowledge: batch semantics, cursor progression, long-poll boundaries, and slot expectations. An agent can call it correctly and reason about progressive consumption without additional inference.

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, but the description adds meaningful context: defining wait_seconds as a long-poll wait bounded by RUSTCHAIN_EVENT_LONG_POLL_MAX, explaining that after_cursor is generation-qualified, and instructing the next_cursor loop. This goes beyond simply restating parameter types and defaults.

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?

The description opens with a specific verb-resource pairing: 'Read a bounded batch of RustChain health, epoch, and miner events.' This clearly distinguishes the aggregate event tool from sibling single-topic tools like rustchain_health, rustchain_epoch, and rustchain_miners. It also immediately signals the batch/long-poll nature, leaving no ambiguity about what this tool does.

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?

The description explicitly tells the agent when and how to use the tool: it is cursor-based batch/long-poll, not native MCP streaming; one call does not emit partial results; progressive consumption requires passing next_cursor into subsequent calls; and wait_seconds behavior is bounded. This gives explicit when/when-not guidance and a clear invocation pattern.

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