Skip to main content
Glama

THE INFXL ANGLE

Get brief

get_brief
Read-onlyIdempotent

Get the status of a brief started with request_brief and, once it is ready, the brief. While it is queued or generating, wait poll_after_seconds and call again. Call at most once every 15 seconds per brief. format: markdown (default, ready to relay in chat), json, or html (the full email render). structuredContent always holds the brief as JSON. Relay the markdown to the user unchanged, from the notice line to the footer: it is the whole brief, and it has no web page, so never link to the website as the brief. The brief states the date range its news is from; every item date falls inside it. The Focal Point names the most important development; the Wide Angle says what the news means together; each item's angle says what it means for the company and how to respond; Significance rates its urgency (CRITICAL, HIGH, MODERATE, LOW) and Signal type names the kind of move. empty means no news in the window and failed means it could not be generated; neither is charged.

Input Schema

NameRequiredDescriptionDefault
formatNoWhat the text block carries once the brief is ready: markdown (default, for chat), json, or html (the full email render, tens of KB). structuredContent always carries the JSON.
brief_idYesThe brief_id returned by request_brief or list_briefs.

Output Schema

NameRequiredDescriptionDefault
briefNoPresent only when the status is ready.
domainYes
reasonYesSet only when the status is failed.
statusYes
chargedYesTrue only when the brief is ready with at least one item and a credit was spent.
brief_idYes
created_atYes
poll_after_secondsYesSeconds to wait before calling get_brief again. Set only while queued or generating.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already establish that this is a safe, idempotent, non-destructive read, so the safety burden is covered. The description adds genuinely new behavior: the polling contract, the 15-second throttling rule, the empty/failed terminal states with the billing note that neither is charged, and the warning that the brief has no web page. It stops short of describing pagination or error/pending status codes, which keeps it off a 5.

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 the action and the polling contract in the first two sentences, which is the right order. The back half walks through brief fields (Focal Point, Wide Angle, Significance, Signal type) that an output schema already covers, so it is longer than strictly necessary, though the relay instruction still 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 a 2-parameter polling tool with annotations and an output schema, the description covers everything an agent needs: how often to poll, what the terminal states mean, which format to choose, and how to present the result. No operational gap remains.

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% and the schema already documents format's enum and default, so much of the description's format sentence is duplicative. It does add value by clarifying that structuredContent always carries JSON regardless of the text-block format and by sizing the html render ('tens of KB'), which is relevant to an agent deciding whether to request it.

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 and resource ('Get the status of a brief') and ties it back to the originating request_brief tool, making clear this is the polling/retrieval counterpart to request_brief and list_briefs. It also names the dual nature of the response (status while pending, the brief once ready), which no sibling 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?

Explicitly prescribes the call loop ('While it is queued or generating, wait poll_after_seconds and call again') and enforces a concrete rate limit ('at most once every 15 seconds per brief'). It also tells the agent what to do with the result (relay the markdown unchanged), leaving no inference about the intended workflow.

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