Skip to main content
Glama

Leave a note

add_comment

Leave a note on any presentation you can see -- on a slide ("slide_id") or on the whole presentation -- or answer a thread ("reply_to"). The owner of the presentation sees the note in the viewer; the thread is seen by the owner and by whoever started it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYesThe presentation's slug (its address: /movie/<slug>/).
textYesThe note (plain text, up to 4000 characters).
reply_toNoThe id of a note to answer.
slide_idNoThe id of a slide (stable, the "id" of the slide in the presentation). Its number (position) changes when slides are reordered.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
textYes
agentNoName of the AI agent that wrote it, if any.
authorNo
resolvedNo
slide_idNonull: a note on the whole presentation.
created_atNoISO 8601 date and time.
slide_numberNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / text / maxLength
      Added value: +4000
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "agent": {
      +      "description": "Name of the AI agent that wrote it, if any.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "author": {
      +      "type": "string"
      +    },
      +    "created_at": {
      +      "description": "ISO 8601 date and time.",
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "integer"
      +    },
      +    "resolved": {
      +      "type": "boolean"
      +    },
      +    "slide_id": {
      +      "description": "null: a note on the whole presentation.",
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "slide_number": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "text": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "text"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare this as a non-read-only, non-destructive, non-idempotent write. The description adds genuinely beyond that by disclosing the visibility model: the owner sees slide/presentation notes in the viewer, while a thread is visible to the owner and the thread starter. It does not cover retry/duplication behavior or rate limits.

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 sentences, action-first, with the optional-parameter variants enumerated inline. The parenthetical quoted parameter names are a bit clunky and the second sentence is long, but nothing is redundant padding.

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?

With an output schema present, return values need not be explained, and 100% schema coverage handles parameter documentation. For a four-parameter write tool this is nearly complete; the remaining gap is the interaction between reply_to and slide_id and any permission failure behavior.

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 baseline is 3. The description re-frames slide_id versus reply_to in terms of target (slide note vs whole-presentation note vs thread answer), which adds some meaning, but it never resolves the important semantic ambiguity of whether reply_to and slide_id can or must be combined.

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 description gives a concrete verb+resource: leaving a note on a presentation/slide or replying to a thread, which is distinguishable from the sibling set (list_comments, delete_comment, resolve_comment). The only drag is terminology drift — it says "note" while the tool name and all siblings say "comment" — and it never explicitly names or excludes those siblings.

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 does outline the three usage modes (slide-level, presentation-level, thread reply) and the access precondition ("any presentation you can see"), which is useful context. But it stops short of stating when to reply instead of starting a new note, whether the modes are mutually exclusive, or any alternative tool to use instead.

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