Skip to main content
Glama

Read scene dialogue and roles

get_practice_scene
Read-only

Use this to read the exact dialogue, partner cues and roles of a published scene selected from list_practice_scenes. Return open_url for rehearsal in blablabla or web_url for reading. The actor chooses their role and mode in the app. Do not use for private scripts or claim the link saves a rehearsal, preselects settings or starts a live reader inside this chat. In the blablabla app, the other part is read aloud.

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": {
      "slug": "<slug>"
    },
    "name": "get_practice_scene"
  }
}

Input Schema

NameRequiredDescriptionDefault
slugYesExact scene slug returned by list_practice_scenes, for example the-spare-key. Do not derive it from an uploaded file or a private title.
localeNoScript language, for example en or da. Pass the explicitly requested script language, otherwise the conversation language. Carry the same locale through listing, reading and setup. English is a legacy default only when omitted. Unpublished versions return an error, never a translation.en

Output Schema

NameRequiredDescriptionDefault
slugYes
titleYes
turnsYes
authorYes
localeYes
licenseYes
web_urlYes
open_urlYes
charactersYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / author
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "locale",
      -  "slug",
      -  "title",
      -  "characters",
      -  "turns",
      -  "license",
      -  "open_url",
      -  "web_url"
      -]New value: +[
      +  "locale",
      +  "slug",
      +  "title",
      +  "author",
      +  "characters",
      +  "turns",
      +  "license",
      +  "open_url",
      +  "web_url"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / locale / description
      Previous value: -"Script language, for example en or da. Defaults to English; unsupported publication returns an explicit error, never an automatic translation."New value: +"Script language, for example en or da. Pass the explicitly requested script language, otherwise the conversation language. Carry the same locale through listing, reading and setup. English is a legacy default only when omitted. Unpublished versions return an error, never a translation."
  3. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description still adds real behavioral context beyond that: it returns open_url versus web_url, the actor picks role and mode inside the app, and the counterpart is read aloud there – all things annotations cannot convey.

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 with the core action and the sourcing constraint, then the return values, then the disclaimers. The negative sentence is long and stacks four separate caveats, but each one prevents a plausible misuse, so nothing is clearly 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?

An output schema exists, so the description needn't explain return shapes. For a two-parameter read tool it covers sourcing, disallowed uses, and the in-app division of labor; only a note on error behavior (an unpublished version erroring) is left to the schema instead of the prose.

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 description coverage is 100% and both parameters (slug pattern, locale enum with default) are thoroughly documented in-schema, so the baseline would be 3. The description adds a little external context about how locale and scene selection flow through 'in the app,' which modestly exceeds the schema.

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: 'read the exact dialogue, partner cues and roles of a published scene.' It also anchors the tool to a sibling by requiring the scene be 'selected from list_practice_scenes,' so an agent can distinguish this read tool from the listing tool without opening either 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 a clear prerequisite (scene must come from list_practice_scenes) and several explicit exclusions: not for private scripts, and not for claiming the link saves a rehearsal, preselects settings, or starts a live reader in-chat. It does not name a monologue-specific alternative, but the when-not guidance is unusually strong.

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