Skip to main content
Glama

List Content

list_content
Read-only

Lists LightCMS content items with optional filters, returning titles, paths, publish status, and timestamps. Use include_data or include_fields to retrieve field data in bulk and avoid per-item calls.

Instructions

List all content items with optional filters. Returns content metadata including title, path, publish status, and timestamps.

Add include_data: true to get full field data for all items in one call, or include_fields: ["field1", "field2"] to fetch only specific fields — both avoid per-item get_content calls for bulk workflows.

Up to 20 concurrent update_content calls are safe. For larger batches, prefer bulk_update_content (up to 100 items per call).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of items to return (1-500). When set, returns paginated response with {items, total, limit, offset, has_more}
offsetNoNumber of items to skip (for pagination). Requires limit to be set
categoryNoFilter by content category
folder_idNoFilter by folder ID (MongoDB ObjectID)
include_dataNoIf true, include all template field data in results (avoids per-item get_content calls)
include_forksNoAlso list fork copies (working copies inside fork workspaces). Off by default; use get_fork to see one fork's pages
include_fieldsNoInclude only these specific field names from the data object (more efficient than include_data for large content)
include_deletedNoInclude soft-deleted content in results

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv7.3.4
    • addedInput schema / properties / include_forks
      Added value: +{
      +  "description": "Also list fork copies (working copies inside fork workspaces). Off by default; use get_fork to see one fork's pages",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / limit
      Added value: +{
      +  "description": "Maximum number of items to return (1-500). When set, returns paginated response with {items, total, limit, offset, has_more}",
      +  "type": "integer"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "description": "Number of items to skip (for pagination). Requires limit to be set",
      +  "type": "integer"
      +}
  2. First observedv4.2.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description usefully adds the return shape (metadata fields) and the efficiency implications of include_data/include_fields versus per-item get_content calls. It stops short of pagination/limits behavior, but that is largely in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose and return values well, but the final paragraph about 20 concurrent update_content calls and bulk_update_content is off-topic for a list tool and dilutes focus. A sentence or two is spent on behavior that does not belong to this operation.

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 a fully documented 8-parameter schema, read-only annotations, and no output schema, the description supplies what structured fields cannot: the return fields and the bulk-read strategy. Nothing essential for invoking list_content correctly is missing, though the misplaced update-concurrency note adds noise rather than completeness.

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 100%, so baseline is 3. The description goes beyond the schema by explaining the trade-off behind include_data and include_fields (both avoid per-item get_content calls for bulk workflows), giving an agent a reason to set them rather than just their type.

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 ('List all') plus resource ('content items') and notes optional filters, and it lists the returned metadata fields (title, path, publish status, timestamps). It does not explicitly differentiate itself from siblings like search_content, but the purpose is unambiguous.

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 gives real usage strategy for bulk reading (include_data / include_fields avoid per-item get_content calls) and names bulk_update_content as the alternative for large batches. However, it offers no guidance on when to prefer this over search_content, and the closing paragraph about concurrent update_content calls concerns a different tool.

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

Deploy Server

Other Tools