Skip to main content
Glama

list_documents

List ingested RAG content grouped by source (documents, web pages, tables), with optional project sub-store filtering to inspect what is in the global or project knowledge base.

Instructions

列出已入库的 RAG 内容(按 source 聚合,kind=doc/web/table), project 指定项目子库(空=全局库);client 仅用于审计归类。 返回 [{"source", "chunks", "chars", "last_imported", "kind"}]。 English: List ingested RAG content grouped by source (kind=doc/web/table); project selects the sub-store (empty = global); client is audit-only. Returns [{"source", "chunks", "chars", "last_imported", "kind"}].

Input Schema

NameRequiredDescriptionDefault
clientNo
projectNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.4.4

TDQS

A3.7/5.0
Behavior4/5

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

No annotations are supplied, so the description carries the full burden, and it does disclose genuinely non-obvious behavior: results are pre-aggregated per source with chunk and character counts, 'client' does not filter but is audit-only, and an empty project means the global store. What is missing is any statement about ordering, result limits, or behavior on an empty store — relevant for a listing call that can return many sources.

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?

Each language block is well front-loaded (purpose first, then parameters, then return shape), but the entire content is duplicated in Chinese and English, effectively doubling length with no added information. It also restates the return fields even though an output schema already exists.

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?

For a 0-required-parameter read-only listing tool with only two optional parameters and an output schema, the description covers purpose, both parameters, and aggregation semantics. The residual gap is operational detail (ordering, limits) that an agent might want when the store is large.

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 description coverage is 0%, so the description must compensate, and it does: it explains that project selects the sub-store with empty meaning global, and that client is audit-only rather than a filter — meaning an agent could not derive from the schema alone. It stops short of stating accepted value formats or whether unknown project names error or return empty.

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?

The description states a specific verb and resource ('List ingested RAG content') plus the aggregation semantics ('grouped by source') and the kind values allowed (doc/web/table). It is clearly an inventory/listing tool, distinguishable in intent from siblings like ask_kb or search_memory, though it never names an alternative explicitly.

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?

Usage is only implied: the reader can infer this is the browse/inventory step rather than the retrieval step, and the note that project empty = global is a scoping rule. There is no explicit when-to-use/when-not guidance and no mention of ask_kb or search_memory as the alternative for content lookup.

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