Skip to main content
Glama

Create session summary mnemons

create_session_summary_mnemons

Create SessionSummary mnemons (the memory of one played session): the story as the Markdown body, plus a short recap shown as "Previously on". Players may not call this — GM/co-GM only.

Input Schema

NameRequiredDescriptionDefault
itemsYes
campaignIdYes

Output Schema

NameRequiredDescriptionDefault
resultsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changed
    • removedInput schema / properties / items / items / properties / combats
      Removed value: -{
      -  "description": "Combat encounters that took place this session.",
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "description": {
      -        "description": "Who fought whom and where, in one sentence.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "outcome": {
      -        "description": "How it resolved, e.g. \"party victorious, no casualties\".",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "description"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / items / items / properties / date / description
      Added value: +"When the session was played: ISO date (2024-02-10) or date-time. Set it for a past chapter brought into Argo. Leave it out for a summary linked to a calendar session: it then takes the session's date. Linking never clears it. An empty string clears it."
    • removedInput schema / properties / items / items / properties / detailedSummary
      Removed value: -{
      -  "description": "Full narrative summary, 3-5 paragraphs.",
      -  "type": "string"
      -}
    • removedInput schema / properties / items / items / properties / loot
      Removed value: -{
      -  "description": "Items, treasure, or rewards acquired.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / items / items / properties / majorEvents
      Removed value: -{
      -  "description": "Significant story beats, in chronological order.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • changedInput schema / properties / items / items / properties / markdown / description
      Previous value: -"Body content as Markdown. Mentions: @[label](mnemon:<entryId>). Images: ![caption](asset:<assetId>@<campaignId>) — upload the asset first."New value: +"The session's story as Markdown, with headed sections such as What happened, Decisions, Loot, Open threads, Combats and Where we left off. Mentions: @[label](mnemon:<entryId>)."
    • removedInput schema / properties / items / items / properties / npcsMentioned
      Removed value: -{
      -  "description": "NPCs that appeared or were referenced. This is descriptive only — to link one to an existing NPC mnemon, call create_mnemon_relationship with SESSION_ATTENDEE_NPC.",
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "name": {
      -        "description": "Name as referenced in the session, e.g. \"Captain Mira\".",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "role": {
      -        "description": "Role played this session, e.g. \"quest-giver\", \"rescued captive\".",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "name"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / items / items / properties / oneSentenceSummary
      Removed value: -{
      -  "description": "Single-sentence TL;DR of what happened.",
      -  "type": "string"
      -}
    • removedInput schema / properties / items / items / properties / openThreads
      Removed value: -{
      -  "description": "Unresolved threads and cliffhangers as of session end.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / items / items / properties / partyDecisions
      Removed value: -{
      -  "description": "Meaningful choices that will shape future sessions.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / items / items / properties / partyEndState
      Removed value: -{
      -  "additionalProperties": {
      -    "type": "string"
      -  },
      -  "description": "Character display name -> short end-of-session status line.",
      -  "type": "object"
      -}
    • removedInput schema / properties / items / items / properties / previouslyOn
      Removed value: -{
      -  "description": "Where each player ended — read aloud at the top of the next session.",
      -  "type": "string"
      -}
    • addedInput schema / properties / items / items / properties / recap
      Added value: +{
      +  "description": "Short recap, 1-3 sentences, ending on where the party stands. Shown as \"Previously on\" on the next session and the campaign Dashboard. The full story goes in the Markdown body.",
      +  "type": "string"
      +}
    • addedInput schema / properties / items / items / properties / sessionNumber / description
      Added value: +"The session's number in the party's history, a positive whole number, kept as written. Leave it out to let Argo number the summary by its place in the history (after the highest number before it). Linking never clears it. 0 clears it."
    • removedInput schema / properties / items / items / properties / suggestedTitle
      Removed value: -{
      -  "description": "Short evocative title for the session, like a TV episode title.",
      -  "type": "string"
      -}
  2. Changed15 schema fields changed
    • removedInput schema / properties / items / items / properties / attendeeCharacterIds
      Removed value: -{
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / items / items / properties / attendeeNpcEntryIds
      Removed value: -{
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / items / items / properties / combats
      Added value: +{
      +  "description": "Combat encounters that took place this session.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "description": {
      +        "description": "Who fought whom and where, in one sentence.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "outcome": {
      +        "description": "How it resolved, e.g. \"party victorious, no casualties\".",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "description"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / items / items / properties / detailedSummary
      Added value: +{
      +  "description": "Full narrative summary, 3-5 paragraphs.",
      +  "type": "string"
      +}
    • removedInput schema / properties / items / items / properties / linkedLocationEntryIds
      Removed value: -{
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / items / items / properties / linkedQuestEntryIds
      Removed value: -{
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / items / items / properties / loot
      Added value: +{
      +  "description": "Items, treasure, or rewards acquired.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / items / items / properties / majorEvents
      Added value: +{
      +  "description": "Significant story beats, in chronological order.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / items / items / properties / npcsMentioned
      Added value: +{
      +  "description": "NPCs that appeared or were referenced. This is descriptive only — to link one to an existing NPC mnemon, call create_mnemon_relationship with SESSION_ATTENDEE_NPC.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "name": {
      +        "description": "Name as referenced in the session, e.g. \"Captain Mira\".",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "role": {
      +        "description": "Role played this session, e.g. \"quest-giver\", \"rescued captive\".",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "name"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / items / items / properties / oneSentenceSummary
      Added value: +{
      +  "description": "Single-sentence TL;DR of what happened.",
      +  "type": "string"
      +}
    • addedInput schema / properties / items / items / properties / openThreads
      Added value: +{
      +  "description": "Unresolved threads and cliffhangers as of session end.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / items / items / properties / partyDecisions
      Added value: +{
      +  "description": "Meaningful choices that will shape future sessions.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / items / items / properties / partyEndState
      Added value: +{
      +  "additionalProperties": {
      +    "type": "string"
      +  },
      +  "description": "Character display name -> short end-of-session status line.",
      +  "type": "object"
      +}
    • addedInput schema / properties / items / items / properties / previouslyOn
      Added value: +{
      +  "description": "Where each player ended — read aloud at the top of the next session.",
      +  "type": "string"
      +}
    • addedInput schema / properties / items / items / properties / suggestedTitle
      Added value: +{
      +  "description": "Short evocative title for the session, like a TV episode title.",
      +  "type": "string"
      +}
  3. Changed3 schema fields changed
    • removedInput schema / properties / items / items / properties / blocks
      Removed value: -{
      -  "description": "Initial content blocks (at least one).",
      -  "items": {
      -    "additionalProperties": false,
      -    "description": "A single content block. Image blocks need assetId OR (data + mimeType).",
      -    "properties": {
      -      "assetId": {
      -        "description": "Image block: pre-uploaded campaign asset id.",
      -        "type": "string"
      -      },
      -      "caption": {
      -        "description": "Image block caption.",
      -        "type": "string"
      -      },
      -      "checked": {
      -        "description": "Todo-block checked state.",
      -        "type": "boolean"
      -      },
      -      "content": {
      -        "description": "HTML text content for text-type blocks. Use <b>/<i>/<u>/<a>/<br>/<img> — NOT Markdown.",
      -        "type": "string"
      -      },
      -      "data": {
      -        "description": "Image block: inline base64 data (decoded server-side, max 5MB).",
      -        "type": "string"
      -      },
      -      "filename": {
      -        "description": "Image block filename hint.",
      -        "type": "string"
      -      },
      -      "language": {
      -        "description": "Code-block language hint.",
      -        "type": "string"
      -      },
      -      "mimeType": {
      -        "description": "Image block mime type — required when 'data' is set.",
      -        "type": "string"
      -      },
      -      "type": {
      -        "description": "Block type.",
      -        "enum": [
      -          "paragraph",
      -          "heading1",
      -          "heading2",
      -          "bullet_list",
      -          "numbered_list",
      -          "todo",
      -          "quote",
      -          "code",
      -          "callout",
      -          "divider",
      -          "image"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  "minItems": 1,
      -  "type": "array"
      -}
    • addedInput schema / properties / items / items / properties / markdown
      Added value: +{
      +  "description": "Body content as Markdown. Mentions: @[label](mnemon:<entryId>). Images: ![caption](asset:<assetId>@<campaignId>) — upload the asset first.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / properties / items / items / required
      Previous value: -[
      -  "title",
      -  "blocks"
      -]New value: +[
      +  "title",
      +  "markdown"
      +]
  4. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare a non-read-only, non-destructive, closed-world write, and the description adds a behavioral fact those annotations cannot express: the GM/co-GM authorization requirement. It also clarifies the two-part content model (Markdown story body + recap). It does not cover failure modes (e.g. duplicate sessionNumber) or whether the write is idempotent.

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?

Two short sentences, front-loaded with the verb and resource, then the content model, then the permission gate. Minor waste in restating 'SessionSummary mnemons' from the title, but the parenthetical earns it back by defining the concept.

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?

An output schema exists, so return values need no explanation, and the permission gate plus content model are covered. Still, nothing explains that 'items' accepts a batch of up to 50 summaries or what happens when a summary is linked to a calendar session, both of which affect how an agent builds the call.

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?

Top-level schema coverage is 0%, but the nested item properties are individually documented in the schema itself, so the description's job is narrow. It adds meaning for two fields — 'markdown' is the full story and 'recap' is the short 'Previously on' line — but says nothing about campaignId, the items array, or the 50-item batch limit.

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?

Specific verb (Create) plus a named resource type (SessionSummary mnemons), with a parenthetical that defines the concept as 'the memory of one played session'. This distinguishes it well from generic mnemon creators like create_lore_mnemons or create_journal_mnemons, though it never explicitly names the sibling to use for other mnemon types.

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?

It states a hard eligibility rule ('Players may not call this — GM/co-GM only'), which is real usage guidance. But there is no routing advice versus update_session_summary_mnemons or the other create_*_mnemons tools, so the when-to-use-this-vs-alternatives question is only partly answered.

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.