Skip to main content
Glama

Read transcript turns

get_transcript_turns
Read-onlyIdempotent

One AI session's turns from its redacted trajectory, as text: who spoke (system, user or agent), the model, the text and reasoning, tool calls with their arguments, tool results, and each billed turn's priced cost (null while build metrics are withheld from the caller: metrics_withheld). Secrets were redacted at ingest. Only the entry's owner and admins read an entry's turns, at any time: they are not published, at the deadline or for a winner, and everyone else gets 403. An admin's API key reads a rival's only from its deadline (before it, 403: a signed-in session is needed). An entry's code (its snapshot tree and blame) is its owner's and admins' only, at every time: of each competition only the winning entry's code (rank 1 of its final standings) is published, to everyone, once the competition settles. Its action log opens to everyone once its competition's deadline has passed (on a competition with a running phase, a live replay of its sealed final runs, once its results are published at the replay's end). Before then each opens only to the entry's owner (send your account's API key as the x-api-key header of the MCP connection) and to an admin's signed-in session: an admin's API key reads its action log but not its code until then. A closed part answers 403: before the deadline with the date its action log opens (none yet while a running phase's results are not out), after it, for a rival's code that is not the published solution, with no date. Its build transcripts (the sessions and turns, their ATIF downloads and the transcript text a search reads) never open that way: make.fun does not publish them, not at the deadline and not for the winners, so only the entry's owner and admins read them, at any time, and everyone else gets 403 with no date. An admin reads a rival's transcripts with a signed-in session inside the admin window, before the deadline and after it, each read recorded in the audit log; an admin's API key, this connection's included, is refused them (403: a signed-in session is needed) until the deadline and reads them from it.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "submission_id": "<submission_id>",
      "session_id": "<session_id>"
    },
    "name": "get_transcript_turns"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoPage size, 1 to 200 (default 50)
cursorNoThe previous page's next_cursor, for the next page (keep the other arguments the same)
session_idYesThe session's id: an item id from list_transcripts (or a blame line's origin.session_id)
submission_idYesThe entry (submission) id: a UUID, as get_competition, get_leaderboard and search list them

Output Schema

NameRequiredDescriptionDefault
itemsYes
sessionYes
next_cursorYes
submission_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered; the description adds genuinely non-obvious behavior: secrets are redacted at ingest, cost is null while metrics_withheld applies, and transcripts are never published to anyone but owner and admins, with admin API keys refused until the deadline and reads audit-logged. That is real context beyond the annotations, though it comes wrapped in a large amount of rules that belong to several sibling tools equally.

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

Conciseness2/5

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

The first sentence is well front-loaded, but it is followed by several hundred words on publication deadlines, code and action-log visibility, 403 semantics and admin sessions that mostly restate platform-wide access policy rather than this tool's contract. Much of that text is duplicated boilerplate an agent would encounter on other tools, which dilutes the one thing it needs: how to page through a session's turns.

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

Completeness3/5

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

With an output schema present, the return shape need not be explained, and the access model is covered exhaustively. What is missing is the operational picture: how turns are ordered, how pagination terminates, and when an agent should prefer this over the neighboring transcript and action-log tools. The definition is complete on permissions and thin on usage.

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%, so limit, cursor, session_id and submission_id are already documented, including the cursor's dependence on next_cursor and the origin.session_id source. The description adds nothing parameter-specific beyond the general claim that billed turns carry a priced cost, so the baseline 3 applies.

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?

The opening clause states a specific verb and resource: read one AI session's turns from a redacted trajectory, and it enumerates the payload (speaker roles, model, text, reasoning, tool calls and arguments, tool results, priced cost). It never names a sibling such as list_transcripts or get_action_log, so differentiation is left to the schema's session_id description rather than the prose.

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?

The description is dominated by who-may-read-what rules, which is useful gating context, but it gives almost no positive guidance on when to call this versus list_transcripts or get_action_log. The only implicit cues are the session_id hint in the schema, which points at list_transcripts, and the fact that transcripts are never published.

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.