Skip to main content
Glama

list_custom_fields

Retrieve all custom fields from Paperless-NGX to cache and search locally, reducing redundant API calls and handling ambiguity efficiently.

Instructions

List all custom fields. IMPORTANT: When a user query may refer to a custom field, you should fetch all custom fields up front (with a large enough page_size), cache them for the session, and search locally for matches by name before making further API calls. This reduces redundant requests and handles ambiguity efficiently.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
orderingNo
page_sizeNo
name__iexactNo
name__icontainsNo
name__iendswithNo
name__istartswithNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.2.1

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses genuine behavioral traits (caching strategy, page_size guidance, request-reduction intent), but omits return format, read-only confirmation, and permission/auth needs for a list operation.

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-loaded with the core purpose, then a clearly flagged IMPORTANT workflow note. Efficient overall, though the caching instruction is somewhat verbose for a single-line purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations means the description should carry more, yet it is heavily weighted toward workflow advice while leaving most parameter semantics and the return shape unexplained. Adequate for a list tool but with clear gaps for 7 undocumented params.

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

Parameters2/5

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

Schema coverage is 0% across 7 parameters, and the description only adds meaning to one of them (page_size, described as needing to be 'large enough'). page, ordering, and the four name filtering operators (name__iexact/icontains/iendswith/istartswith) are left entirely undocumented in both schema and description, leaving the compensation gap unfilled.

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?

States a specific verb and resource ('List all custom fields') that an agent can immediately disambiguate from get_custom_field, create/update/delete_custom_field, and bulk_edit_custom_fields in the sibling set. The scope ('all') is clear, though slightly at odds with the exposed name-filter params.

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?

Gives explicit operational guidance: fetch up front with a large page_size, cache for the session, and search locally before further API calls. This is strong 'when to use' context, but it never names the sibling alternatives (e.g., get_custom_field for a single record) so the routing is implied rather than stated.

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