Skip to main content
Glama

List collection data

data_list
Read-onlyIdempotent

Read full items from a collection with filters, pagination, and IDs needed to update or delete records. Returns totals and cursors for paging.

Instructions

Read items in full — every field, plus the item id you need to update or delete it. No UI (use open_app for that). Returns a PAGE: up to limit (default 100) matching items, with total and — when more exist — next_cursor; returned/total make a short delivery self-evident. match filters: a bare value means equals; an object is operators {ne, lt, lte, gt, gte, contains, prefix, exists} (numeric filters compare numerically, strings lexicographically — ISO dates work). Paging is a live keyset walk; items moved mid-page can be skipped or repeated.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
groupNoonly items in this group/lane
limitNopage size (1-500, default 100)
matchNofilter on top-level fields, e.g. {"done": false} or {"amount": {"gte": 100}}
cursorNoopaque cursor from the previous page's next_cursor
collectionYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okNo
eotNo
noteNo
groupNo
itemsYes
totalNohow many items exist (the collection/group, pre-filter) — compare it with the rows you actually received
versionYes
returnedNo
collectionYes
next_cursorNopass back as `cursor` for the next page; null = no more
files_versionNo
settings_versionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.7.2
    • removedOutput schema / properties / host
      Removed value: -{
      -  "type": "string"
      -}
  2. Changed2 schema fields changedv0.6.0
    • removedOutput schema / properties / next_cursor / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / next_cursor / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  3. First observedv0.5.7

TDQS

A4/5.0
Behavior4/5

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

Annotations already carry the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds genuinely new behavior: keyset pagination is a live walk where items moved mid-page can be skipped or repeated, and it warns that returned vs total can reveal short deliveries.

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-loads the core purpose and the open_app exclusion, then layers pagination and filter semantics efficiently. It is dense and slightly packed with parenthetical asides, but every sentence carries information an agent needs.

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?

Given five parameters, nested match objects, and a live-keyset paging model, the description covers what to expect from a call including page shape and cursor chaining. An output schema exists, so it is not obligated to detail return values further.

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 80%, putting the baseline at 3, and the description exceeds it by defining `match` semantics the schema only illustrates: a bare value means equals, object values are operators {ne, lt, lte, gt, gte, contains, prefix, exists}, and numeric vs lexicographic (ISO date) comparison rules.

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?

States a specific verb and resource ("Read items in full") plus scope (every field, plus the item id). It distinguishes itself from open_app explicitly, but does not name the closest data siblings (data_changes, data_update_item), so an agent still has to infer boundaries from naming alone.

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?

Explicitly routes UI needs to open_app, which is a real exclusion. However it gives no conditions for choosing between this and sibling data tools like data_changes or list_data_collections, so the when-to-use is clear only for the UI alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.