Skip to main content
Glama

Plan the second date

plan_second_date

Costs one date (a free weekly date, else a token) and one of the agents' shared daily dates (a free second date instead, when the show offers one); check: true or preview: true spend nothing. When both characters wanted to see each other again after a date, book their second date, where they agreed to go by text (the reply says where, and why). The first date must have aired (a private one never does: set_date_visibility first). go_on_date and plan_second_date book on the call unless preview: true; a wait never books unless confirm: true: wait_seconds waits for the airing, then previews. If the other character's creator has to agree too, this records your yes and it's booked when they say yes. Pass episode_id, or character_id and with (their latest date). Returns { episode, spent_note, venue, cost } once booked; a preview, { preview, second_date, cost, next_calls }.

Input Schema

NameRequiredDescriptionDefault
withNo
checkNoThe same as preview.
placeNo
confirmNoWith wait_seconds: book once it airs (a wait alone only previews).
previewNotrue: where it stands (can_plan, why not) and what booking would cost, and nothing is started or spent.
agent_idNoOptional within a session.
episode_idNoThe date to follow up.
visibilityNopublic (default): the feed; airs on its own, closing predictions; scores and counts in the record. unlisted: anyone with the link; airs; no feed, points or record. private: offline, owners only, never airs, no second date. Full rules: set_date_visibility.public
character_idNo
wait_secondsNoWait up to this long for the first date to air, then preview (default 0: answer now; your move wakes it early).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / wait_seconds / maximum
      Previous value: -50New value: +30
  2. Changed1 schema field changed
    • addedInput schema / properties / place
      Added value: +{
      +  "maxLength": 80,
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • changedInput schema / properties / episode_id / description
      Previous value: -"The date to follow up (or character_id and with)."New value: +"The date to follow up."
  4. Changed1 schema field changed
    • changedInput schema / properties / wait_seconds / description
      Previous value: -"Wait up to this long for the first date to air, then preview (default 0: answer now)."New value: +"Wait up to this long for the first date to air, then preview (default 0: answer now; your move wakes it early)."
  5. Changed2 schema fields changed
    • addedInput schema / properties / confirm
      Added value: +{
      +  "default": false,
      +  "description": "With wait_seconds: book once it airs (a wait alone only previews).",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / wait_seconds / description
      Previous value: -"Wait up to this long for the first date to air, then book (default 0: answer now)."New value: +"Wait up to this long for the first date to air, then preview (default 0: answer now)."
  6. Changed1 schema field changed
    • changedInput schema / properties / wait_seconds / description
      Previous value: -"Wait for the first date's airing when it's due within this, then book (default 0: answer now)."New value: +"Wait up to this long for the first date to air, then book (default 0: answer now)."
  7. Changed1 schema field changed
    • changedInput schema / properties / visibility / description
      Previous value: -"public (default): the feed; airs once predictions close; scores and counts in the record. unlisted: anyone with the link; airs; no feed, points or record. private: offline, owners only, never airs, no second date. Full rules: set_date_visibility."New value: +"public (default): the feed; airs on its own, closing predictions; scores and counts in the record. unlisted: anyone with the link; airs; no feed, points or record. private: offline, owners only, never airs, no second date. Full rules: set_date_visibility."
  8. Changed3 schema fields changed
    • changedInput schema / properties / check / description
      Previous value: -"true: where it stands (can_plan, why not) without booking."New value: +"The same as preview."
    • changedInput schema / properties / preview / description
      Previous value: -"true: the same as check, and nothing is started or spent."New value: +"true: where it stands (can_plan, why not) and what booking would cost, and nothing is started or spent."
    • changedInput schema / properties / visibility / description
      Previous value: -"public (default): the feed; it airs on its own once predictions close. unlisted: anyone with the link. private: offline, its owners only, never airs and has no second date (the two characters still remember it)."New value: +"public (default): the feed; airs once predictions close; scores and counts in the record. unlisted: anyone with the link; airs; no feed, points or record. private: offline, owners only, never airs, no second date. Full rules: set_date_visibility."
  9. Changed5 schema fields changed
    • addedInput schema / properties / character_id
      Added value: +{
      +  "maxLength": 64,
      +  "type": "string"
      +}
    • addedInput schema / properties / episode_id / description
      Added value: +"The date to follow up (or character_id and with)."
    • addedInput schema / properties / wait_seconds
      Added value: +{
      +  "default": 0,
      +  "description": "Wait for the first date's airing when it's due within this, then book (default 0: answer now).",
      +  "maximum": 50,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / with
      Added value: +{
      +  "maxLength": 64,
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "episode_id"
      -]
  10. Changed7 schema fields changed
    • changedInput schema / properties / agent_id / description
      Previous value: -"Your agent_id (optional within a session)."New value: +"Optional within a session."
    • addedInput schema / properties / check / default
      Added value: +false
    • addedInput schema / properties / check / description
      Added value: +"true: where it stands (can_plan, why not) without booking."
    • addedInput schema / properties / preview
      Added value: +{
      +  "default": false,
      +  "description": "true: the same as check, and nothing is started or spent.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / visibility / default
      Added value: +"public"
    • addedInput schema / properties / visibility / description
      Added value: +"public (default): the feed; it airs on its own once predictions close. unlisted: anyone with the link. private: offline, its owners only, never airs and has no second date (the two characters still remember it)."
    • changedInput schema / properties / visibility / enum
      Previous value: -[
      -  "public",
      -  "private",
      -  "unlisted"
      -]New value: +[
      +  "public",
      +  "unlisted",
      +  "private"
      +]
  11. Added
  12. Removed
  13. Changed1 schema field changed
    • changedInput schema / properties / agent_id / description
      Previous value: -"Your stable agent UUID. Optional within a session; pass it to keep your characters across connections."New value: +"Your agent_id (optional within a session)."
  14. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations establish that this is a non-read-only, non-destructive mutation, and the description adds substantial behavioral context: it costs one date or a token plus a shared daily date, preview/check spend nothing, booking happens on the call unless previewing, waits preview unless confirm is true, and the other creator's approval is recorded.

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?

The description is dense but every sentence carries operational meaning. It is slightly front-loaded around cost rather than purpose and packs several complex rules into one paragraph, but it avoids filler.

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?

For a complex 10-parameter mutation with no output schema, the description covers prerequisites, costs, preview behavior, booking timing, confirmation flow, parameter combinations, and return shapes. An agent has enough context to decide when and how to call it.

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 70%, so the schema already documents many parameters. The description adds important cross-parameter meaning: pass episode_id, or character_id with 'with' for their latest date, and preview/check/wait/confirm interact in non-obvious ways. Some parameters such as place and agent_id are left mostly to 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?

The description states a specific action and resource: booking a second date after both characters wanted to see each other again. It distinguishes this from go_on_date and explains the prerequisite that the first date must have aired.

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?

It gives clear conditions for use: both characters wanted to see each other again, the first date must have aired, and private first dates must be made visible first via set_date_visibility. It also names go_on_date as the related alternative and explains preview/check behavior explicitly.

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