Skip to main content
Glama
chrisguidry

paperless-mcp

by chrisguidry

List storage paths

list_storage_paths
Read-only

Retrieve storage paths (document filing locations) to obtain their IDs for filtering documents by storage path in searches.

Instructions

List storage paths: the filing locations of documents.

Use the returned IDs with search_documents(storage_path_id=...).

Input Schema

NameRequiredDescriptionDefault
idsNoReturn only the storage paths with these IDs (default: none)
pageNoPage number, starting at 1 (default: 1)
page_sizeNoNumber of storage paths per page (default: 100)
name_containsNoCase-insensitive substring of the name (default: none)

Output Schema

NameRequiredDescriptionDefault
paginationYesThe position of one page of results in the full result set.
storage_pathsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/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 adds a workflow pointer (IDs are filter inputs elsewhere) but says nothing about ordering, total counts, or default behavior of an unfiltered call beyond what the schema shows.

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

Conciseness5/5

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

Two short sentences with zero filler; the purpose comes first and the follow-up action second. Nothing could be removed without losing information.

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?

An output schema exists and annotations cover safety, so the description only needs purpose plus routing, both of which are present. A minor gap is whether pagination matters in practice (e.g., common number of paths), but nothing essential for correct invocation is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so ids, page, page_size, and name_contains are all documented inline with defaults and semantics. The description adds no parameter-level meaning beyond the mention of storage_path_id as a downstream filter, so baseline 3 applies.

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 ("List storage paths") and clarifies the concept for anyone unfamiliar with Paperless-style data: "the filing locations of documents." The resource is distinct from siblings list_tags/list_correspondents/list_document_types, though it doesn't explicitly say so.

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 a clear downstream usage context: the returned IDs feed search_documents(storage_path_id=...), which tells the agent why and when to call this tool first. It doesn't state when not to use it or how to choose among the other list_* taxonomies, but the pattern is evident.

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