Skip to main content
Glama

list_elements

Read-only

Enumerate document elements—tables, images, fields, bookmarks, and more—in one call. Returns type, count, and item IDs to use with set_, delete_, and manage_ tools.

Instructions

Enumerate any collection in one call. type: tables | images | charts | equations | bookmarks | sources | sections | section_blocks | footnotes | endnotes | fields | reference_fields | form_fields | content_controls | template_placeholders | index_entries | lists | toc. Returns {type, count, items}; the ids or indices returned are the handles the matching set_/delete_/manage_ tools take (list then act). Highlights per type: tables reports dimensions and the table_index other table tools take; images reports display size and the media target; charts reports series; equations reads math content; bookmarks excludes internal TOC bookmarks; fields covers complex and simple fields with cached results; reference_fields inventories Zotero, EndNote, and Mendeley fields and flags broken pairs; form_fields and content_controls cover legacy fields and SDTs; template_placeholders lists {{name}} and MERGEFIELD keys for fill_template and mail_merge (assembly pack); lists groups list paragraphs by numbering instance; toc returns TOC-family fields with cached entries (refresh via com_refresh_fields, com-live pack, then re-read). filter={"range": {start, end}, "name": "substring"} applies where meaningful; inapplicable filters refuse loudly. Read-only, file mode; close documents open in Word first. Tools for these elements live in packs; enable_tools lists them. To locate a string, find_text.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeYes
filterNo
file_pathYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.0

TDQS

A4.7/5.0
Behavior5/5

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

Even with readOnlyHint=true already provided, the description adds substantial behavior: it declares read-only file mode, warns to close Word documents first, specifies the {type, count, items} return shape, explains that returned handles feed mutating tools, and documents per-type nuances such as cached results and loud rejection of inapplicable filters. This exceeds what annotations alone convey.

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 long but structured and information-dense: core purpose, return contract, then per-type highlights, then filters and preconditions. It earns its length because no enum or parameter descriptions exist in the schema, though a slightly tighter organization would improve scannability.

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 high-variety enumeration tool with an output schema and readOnly annotation, the description is complete: it covers input selection, return semantics, downstream tool usage, refresh behavior for cached TOC fields, filter behavior, prerequisites, and routing to sibling tools. No critical calling information is left to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description fully compensates: it lists all legal type values, defines the filter shape as {range: {start, end}, name: substring}, notes that filters apply only where meaningful and otherwise fail loudly, and implies file_path through the file-mode context. This gives an agent enough to construct correct invocations without schema descriptions.

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 opens with a specific verb–resource pair ('Enumerate any collection') and immediately enumerates the 19 supported element types, making scope precise. It also differentiates from close siblings by stating that the returned ids/indices are the handles consumed by set_/delete_/manage_ tools and by pointing string search to find_text.

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 actionable usage context: list then act, use enable_tools to discover element packs, and use find_text when locating a string rather than enumerating collections. It does not explicitly enumerate exclusions versus get_text/get_outline, but the type list and 'enumerate any collection' make the intended use clear enough.

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