Skip to main content
Glama

Ask Cassie Hour

ask_cassie_hour
Read-onlyIdempotent

Use for an open-ended public question about the novel, companion song, characters, evidence, editions or related public work. Returns a concierge answer and available source/recommendation context, with at most one next action; inspect generation_mode and degraded_mode before calling it model-generated. Use evaluate_cassie_hour_fit for a preference-vs-attributes assessment, or get_verified_recommendation for a compact reusable recommendation case. Public access; spoiler and source limits still apply. If context is insufficient or output is degraded, preserve that uncertainty or ask a narrower follow-up.

Input Schema

NameRequiredDescriptionDefault
languageNoOptional response-language tag, up to 16 characters; defaults to en. Use a supported tag such as en or tr; unsupported values may fall back to the service default.en
questionYesRequired natural-language question or reader interest (1–1000 characters). For evaluate_cassie_hour_fit state the reader's preferences; for get_verified_recommendation state the recommendation need; for ask_cassie_hour ask a supported public Cassie Hour question.
spoiler_levelNoOptional caller-authorized spoiler ceiling from 0 (public orientation) to 3 (full plot scope). Defaults to 0; retrieval never exceeds this value or the selected packet's own spoiler level.
conversation_idNoOptional conversation_id returned by an earlier successful concierge/fragment response. Supply it only to continue that conversation; otherwise omit it.
literary_package_idNoOptional published packet ID (for example cassie-hour-literary-inheritance-004). Obtain it from /literary-inheritance/; when supplied, scene retrieval is limited to that packet's registered chapter references and the agent receives the packet URL and editorial-summary scope. Does not grant access to full manuscript text or bypass the spoiler ceiling.
previous_response_idNoOptional previous_response_id returned by the immediately preceding successful response in this conversation. Pair it with its conversation_id; otherwise omit it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / literary_package_id
      Added value: +{
      +  "description": "Optional published packet ID (for example cassie-hour-literary-inheritance-004). Obtain it from /literary-inheritance/; when supplied, scene retrieval is limited to that packet's registered chapter references and the agent receives the packet URL and editorial-summary scope. Does not grant access to full manuscript text or bypass the spoiler ceiling.",
      +  "pattern": "^cassie-hour-literary-inheritance-[0-9]{3}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / spoiler_level
      Added value: +{
      +  "default": 0,
      +  "description": "Optional caller-authorized spoiler ceiling from 0 (public orientation) to 3 (full plot scope). Defaults to 0; retrieval never exceeds this value or the selected packet's own spoiler level.",
      +  "maximum": 3,
      +  "minimum": 0,
      +  "type": "integer"
      +}
  2. Changed4 schema fields changed
    • changedInput schema / properties / conversation_id / description
      Previous value: -"Reuse the conversation_id returned by the previous call."New value: +"Optional conversation_id returned by an earlier successful concierge/fragment response. Supply it only to continue that conversation; otherwise omit it."
    • addedInput schema / properties / language / description
      Added value: +"Optional response-language tag, up to 16 characters; defaults to en. Use a supported tag such as en or tr; unsupported values may fall back to the service default."
    • changedInput schema / properties / previous_response_id / description
      Previous value: -"Reuse the response_id returned by the previous call."New value: +"Optional previous_response_id returned by the immediately preceding successful response in this conversation. Pair it with its conversation_id; otherwise omit it."
    • changedInput schema / properties / question / description
      Previous value: -"Question, reader request, or recommendation scenario."New value: +"Required natural-language question or reader interest (1–1000 characters). For evaluate_cassie_hour_fit state the reader's preferences; for get_verified_recommendation state the recommendation need; for ask_cassie_hour ask a supported public Cassie Hour question."
  3. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnly=true, idempotent=true, destructive=false, openWorld=true. The description does add real value beyond them: it discloses the return shape (concierge answer plus source/recommendation context, at most one next action) and warns that generation_mode and degraded_mode must be inspected before treating output as model-generated. However, it never explains what those two fields mean or how degradation is signalled, so the disclosure is directional rather than operational. Meaningful additions, but not a complete behavioral picture.

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 purpose and routing, then behavior, then caveats. Five sentences with little waste, though the middle paragraph packs return shape, self-inspection instructions, and access limits together in a way that could be split for faster scanning.

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?

With no output schema, the description carries the return-shape burden and does so: it names the answer payload, the accompanying source/recommendation context, the single-next-action constraint, and the degradation/uncertainty handling. Combined with a fully documented schema and safety annotations, an agent has what it needs to call this correctly.

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 the schema already documents all six parameters including spoiler_level semantics and literary_package_id's pattern and scoping effect. The description adds only the generic note that 'spoiler and source limits still apply,' which does not add format or interaction detail beyond what the schema states. Baseline 3 is appropriate.

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 ('open-ended public question about the novel, companion song, characters, evidence, editions') and explicitly disambiguates from two siblings by naming the scenario each handles. An agent can pick this tool 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing: 'Use evaluate_cassie_hour_fit for a preference-vs-attributes assessment, or get_verified_recommendation for a compact reusable recommendation case,' plus a follow-up rule ('preserve that uncertainty or ask a narrower follow-up') for the degenerate case. When-to-use and when-to-use-something-else are both covered.

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