Skip to main content
Glama

Read the live state of a stream

livereacting_get_stream_status
Read-onlyIdempotent

Read what a project's stream is doing right now: the overall status (LIVE, PREPARING, SCHEDULED or OFFLINE), the active live id, how long it has been running, and per destination the status, viewer count, peak viewers, start and stop times, duration and any error.

When a destination is failing, read its error field first. error: "AUTH_ERROR" means the customer's connection to that platform is expired or invalid, and nobody can fix it through this API: tell them to reconnect that destination in the LiveReacting Studio. The response also sets destinationsNeedingReconnect and a notice when this happens.

tokenExpired appears only when a platform positively reports an expired session, which in practice only Instagram does. Its absence means we have no signal, NOT that the connection is healthy. Custom RTMP, HLS and SRT destinations have no login at all, so they never report it; when one of those fails the cause is usually a wrong server URL or stream key, or the receiving end rejecting the connection.

Poll no more often than every 5 seconds. A stream needs tens of seconds to reach LIVE, and the account is limited to 150 requests per minute across all tools, so tight polling rate-limits the customer's other work.

This reports only what the platform has recorded. It is not an encoder health check, and a status of LIVE is not by itself proof that video is reaching viewers.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectIdYesProject id from livereacting_list_projects.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Despite readOnly/idempotent annotations, the description adds substantial behavior the structured fields cannot: the 150 req/min account-wide rate limit, the 5-second polling floor, the diagnostic precedence for error fields, the precise meaning and limits of tokenExpired (only Instagram reports it; absence is not health), the no-login reality of Custom RTMP/HLS/SRT, and the caveat that LIVE is not proof of delivery. This is unusually rich behavioral disclosure.

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-loaded correctly: what it reads, then error semantics, then polling, then a closing caveat. It is dense and long for a one-parameter read tool, but every paragraph carries non-redundant operational value, so little is wasted.

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?

There is no output schema, so the description carries the return-value burden and does so fully, naming the status enum, per-destination fields, and derived signals like destinationsNeedingReconnect and notice. Nothing an agent needs to call or interpret it is missing.

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

Parameters3/5

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

Schema description coverage is 100% and the single projectId param already documents its format and points to livereacting_list_projects. The prose adds nothing further about the parameter, so the baseline 3 applies.

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?

States a specific verb+resource ('Read what a project's stream is doing right now') and enumerates the exact payload (overall status enum, live id, runtime, per-destination status/viewers/peak/times/duration/error). The 'right now' live-state framing implicitly separates it from the sibling analytics tool. An agent can select it without opening the schema.

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 actionable when-guidance for diagnosing failures ('When a destination is failing, read its error field first') and polling cadence ('no more often than every 5 seconds'). It stops short of explicitly routing to or excluding siblings such as get_stream_analytics or validate_destinations, so it is clear context rather than full alternative routing.

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.