list_documents
List documents in a knowledge base.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| knowledgebase_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes |
List documents in a knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| knowledgebase_id | Yes |
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description's minimalism is acceptable. However, it adds no additional behavioral details like pagination or ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence of 5 words, highly concise. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple operation, the description provides the core purpose but lacks details on output format or any constraints. With an output schema, return values are documented, so completeness is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description only implicitly refers to the parameter as 'in a knowledge base'. It does not explicitly state that knowledgebase_id is the ID of the knowledge base, nor describe its format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'list documents' and the scope 'in a knowledge base', distinguishing it from siblings like get_document (single) and list_knowledgebases. However, it could be more explicit about what 'list' returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; for example, it does not mention that for a single document, get_document should be used, or that knowledge bases must exist first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools target distinct resources and actions clearly (e.g., create_assistant vs create_campaign). However, there is some overlap like get_outbound_assistants vs get_assistants and list_all_phone_numbers vs get_phone_numbers, causing minor ambiguity.
Tools follow a consistent verb_noun pattern with underscores (e.g., create_document, delete_label, get_voices). Only minor deviations exist, such as generate_ai_reply and list_all_phone_numbers, but overall the pattern is maintained.
With 75 tools, the server is excessively large. Although the domain is broad (assistants, calls, messaging, etc.), the number of tools makes it difficult for agents to navigate and select the correct one, reducing coherence.
The tool set covers CRUD operations for most resources, plus webhooks, AI replies, and reference data fetching. Minor gaps exist (e.g., no delete_conversation, no attach phone number to assistant), but the surface is largely comprehensive for the platform's purpose.