Skip to main content
Glama

List Portfolio Snapshot Notes

list_portfolio_snapshot_notes
Read-onlyIdempotent

Read the decision and comment thread recorded against one of your portfolio snapshots, oldest first. Each note carries the snapshot content hash it was written against plus binding_intact comparing that hash to the snapshot's hash now, so a note can be read as evidence of what was actually on the screen when it was written. Counts are over the notes actually returned, so a truncated page never reports a total it did not show. Continue with next_after_id as after_note_id when has_more is true. New notes can arrive between pages; restart to refresh the thread. This reads the thread; it does not approve, reject or block anything. Requires authentication and the tickets:read scope.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHow many notes to return. Defaults to 100.
snapshot_idYesThe snapshot's id, from list_portfolio_snapshots.
after_note_idNoContinue after this note in the same owned snapshot, using next_after_id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / after_note_id
      Added value: +{
      +  "description": "Continue after this note in the same owned snapshot, using next_after_id.",
      +  "format": "uuid",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "text": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "text"
      -  ],
      -  "type": "object"
      -}New value: +null
  3. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already establish read-only, idempotent, non-destructive, closed-world, so the bar is lower, yet the description adds real context: it requires auth and the tickets:read scope, pagination cursors can go stale as new notes arrive, and counts are computed only over notes actually returned so a truncated page never overstates totals. It also explains the content-hash / binding_intact semantics that let a note be read as evidence of what was on screen.

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?

Purpose is front-loaded and most sentences carry distinct payload (ordering, evidence semantics, pagination, auth). It is on the dense/long side; the counts-over-returned-notes sentence is valuable but niche, keeping it just short of maximally tight.

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 burden of explaining returns and does so: note contents (content hash, binding_intact), ordering, next_after_id and has_more. Combined with the read-only annotations, an agent has everything needed to call and interpret this correctly.

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%, so the baseline is 3, but the description goes beyond the schema by tying the three parameters into a workflow: next_after_id from a previous page becomes after_note_id, and a truncated page explains what limit produced. This cross-field guidance is not in the schema itself.

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 names a specific verb and resource: reading the decision and comment thread recorded against a portfolio snapshot, oldest first. That granularity ('thread' attached to 'one of your portfolio snapshots') is enough to separate it from list_portfolio_snapshots, get_portfolio_snapshot and create_portfolio_snapshot_note without opening any 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?

It gives clear operational context: continue with next_after_id as after_note_id while has_more is true, and restart to refresh because notes can arrive between pages. It also scopes out approval behavior ('does not approve, reject or block anything'). It stops short of naming sibling alternatives such as the note-creation tool for when the agent wants to write instead of read.

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