Outline Wiki MCP Server
Enables document management, search, collections, comments, and collaboration features within Outline wiki instances. Includes optional AI-powered capabilities like RAG-based Q&A, semantic search, document summarization, tag suggestions, and diagram generation.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Outline Wiki MCP Serversummarize the Q4 planning document for me"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Outline Wiki MCP Server
A Model Context Protocol (MCP) server that enables LLMs to interact with Outline wiki through structured API calls. This server provides document management, search, collections, comments, and AI-powered smart features including RAG-based Q&A.
Why This Server?
Most Outline MCP servers provide basic API wrappers. This one adds optional Smart Features:
Feature | What it does |
| Ask questions in natural language, get answers based on your wiki content (RAG) |
| Find semantically similar documents, not just keyword matches |
| Generate summaries of long documents |
| Get tag suggestions based on content analysis |
When you might need this:
Your team's wiki has grown large and search isn't enough
You want to query your documentation conversationally
You need semantic search across your knowledge base
When basic MCP is sufficient:
You only need CRUD operations on documents
You don't want to set up OpenAI API
Your wiki is small and well-organized
Smart features require ENABLE_SMART_FEATURES=true and an OpenAI API key. Without these, the server works as a standard Outline MCP.
Example Usage
User: "What's our policy on remote work?"
→ ask_wiki searches your wiki and returns an answer with source links
User: "Find documents related to the onboarding guide"
→ find_related returns semantically similar docs (not just keyword matches)
User: "Summarize the Q4 planning document"
→ summarize_document generates a concise summary in your preferred languageRelated MCP server: mcp-outline
Supported Clients
Client | Tools | Resources | Prompts |
✅ | ✅ | ✅ | |
✅ | ✅ | ✅ | |
✅ | ✅ | ✅ | |
✅ | - | ✅ | |
✅ | - | - | |
✅ | - | - |
Getting Started
Requirements
Node.js 18.0.0 or higher
Outline instance with API access
(Optional) OpenAI API key for smart features
Getting Your Outline API Token
Log in to your Outline instance
Go to Settings → API
Click Create API Key
Copy the generated token (starts with
ol_api_)
Installation
Add to your Claude Desktop configuration:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"outline": {
"command": "npx",
"args": ["-y", "outline-smart-mcp"],
"env": {
"OUTLINE_URL": "https://your-outline-instance.com",
"OUTLINE_API_TOKEN": "ol_api_xxxxxxxxxxxxx"
}
}
}
}Run the following command:
claude mcp add outline -e OUTLINE_URL=https://your-outline-instance.com -e OUTLINE_API_TOKEN=ol_api_xxxxxxxxxxxxx -- npx -y outline-smart-mcpOr add to ~/.claude.json (global) or .mcp.json (project-local):
{
"mcpServers": {
"outline": {
"command": "npx",
"args": ["-y", "outline-smart-mcp"],
"env": {
"OUTLINE_URL": "https://your-outline-instance.com",
"OUTLINE_API_TOKEN": "ol_api_xxxxxxxxxxxxx"
}
}
}
}Note: The
~/.claude/settings.jsonfile is ignored for MCP servers. Use~/.claude.jsonor.mcp.jsoninstead.
Add to your VS Code settings (.vscode/mcp.json):
{
"servers": {
"outline": {
"command": "npx",
"args": ["-y", "outline-smart-mcp"],
"env": {
"OUTLINE_URL": "https://your-outline-instance.com",
"OUTLINE_API_TOKEN": "ol_api_xxxxxxxxxxxxx"
}
}
}
}Add to Cursor MCP settings (~/.cursor/mcp.json):
{
"mcpServers": {
"outline": {
"command": "npx",
"args": ["-y", "outline-smart-mcp"],
"env": {
"OUTLINE_URL": "https://your-outline-instance.com",
"OUTLINE_API_TOKEN": "ol_api_xxxxxxxxxxxxx"
}
}
}
}Add to Windsurf MCP settings (~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"outline": {
"command": "npx",
"args": ["-y", "outline-smart-mcp"],
"env": {
"OUTLINE_URL": "https://your-outline-instance.com",
"OUTLINE_API_TOKEN": "ol_api_xxxxxxxxxxxxx"
}
}
}
}ChatGPT supports MCP through its desktop app. Add the server in Settings → MCP Servers with:
Command:
npxArguments:
-y outline-smart-mcpEnvironment variables as shown above
Configuration
Environment Variables
Variable | Description | Required | Default |
| Your Outline instance URL | Yes |
|
| Your Outline API token | Yes | - |
| Enable read-only mode | No |
|
| Disable delete operations | No |
|
| API retry attempts | No |
|
| Retry delay (ms) | No |
|
| Enable AI features | No |
|
| OpenAI API key | No* | - |
* Required when ENABLE_SMART_FEATURES=true
Smart Features Configuration
To enable AI-powered features (RAG Q&A, summarization, etc.), add these to your config:
{
"mcpServers": {
"outline": {
"command": "npx",
"args": ["-y", "outline-smart-mcp"],
"env": {
"OUTLINE_URL": "https://your-outline-instance.com",
"OUTLINE_API_TOKEN": "ol_api_xxxxxxxxxxxxx",
"ENABLE_SMART_FEATURES": "true",
"OPENAI_API_KEY": "sk-xxxxxxxxxxxxx"
}
}
}
}Tools
Search & Discovery
Tool | Description |
| Search documents by keyword with pagination |
| Find document ID by title |
| Get all collections |
| Get document hierarchy in a collection |
| Get recently modified documents |
Document Operations
Tool | Description |
| Get full document content by ID |
| Export document in Markdown |
| Create a new document |
| Update document (supports append) |
| Move document to another location |
Document Lifecycle
Tool | Description |
| Archive a document |
| Restore archived document |
| Delete document (soft/permanent) |
| Restore from trash |
| List archived documents |
| List trashed documents |
Comments & Collaboration
Tool | Description |
| Add comment (supports replies) |
| Get document comments |
| Get specific comment |
| Find linking documents |
Collection Management
Tool | Description |
| Create collection |
| Update collection |
| Delete collection |
| Export collection |
| Export all collections |
Batch Operations
Tool | Description |
| Create multiple documents |
| Update multiple documents |
| Move multiple documents |
| Archive multiple documents |
| Delete multiple documents |
Smart Features (AI-Powered)
Requires ENABLE_SMART_FEATURES=true and OPENAI_API_KEY.
Tool | Description |
| Check status and indexed count |
| Sync docs to vector database |
| RAG-based Q&A on wiki content |
| Generate AI summary |
| AI-suggested tags |
| Find semantically related docs |
| Generate Mermaid diagrams |
Smart Features Usage
# 1. First, sync your wiki documents
sync_knowledge
# 2. Ask questions about your wiki
ask_wiki: "What is our deployment process?"
# 3. Summarize long documents
summarize_document: { documentId: "doc-id", language: "Korean" }
# 4. Find related content
find_related: { documentId: "doc-id", limit: 5 }Technology Stack
Component | Technology |
Vector Database | LanceDB (embedded) |
Embeddings | OpenAI text-embedding-3-small |
LLM | GPT-4o-mini |
Text Chunking | LangChain |
Safety Features
Read-Only Mode
READ_ONLY=trueRestricts to read operations only: search, get, export, list operations, and all smart features.
Disable Delete
DISABLE_DELETE=trueBlocks: delete_document, delete_collection, batch_delete_documents
Development
# Clone repository
git clone https://github.com/huiseo/outline-wiki-mcp.git
cd outline-wiki-mcp
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Type check
npm run typecheckLicense
MIT License - see LICENSE for details.
Links
Available Tools
37 toolsadd_commentC
Add a comment to a document. Supports replies.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes | ||
| text | Yes | ||
| parentCommentId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool adds comments and supports replies, but fails to mention whether this is a write operation requiring permissions, if comments are editable/deletable, rate limits, or what the response looks like. For a mutation tool with zero annotation coverage, this is inadequate.
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 extremely concise with two sentences that directly convey core functionality without waste. It's front-loaded with the primary purpose and efficiently adds the reply feature in a second sentence.
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?
For a mutation tool with 3 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks details on permissions, error conditions, return values, and parameter usage, making it insufficient for reliable agent invocation.
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?
The description implies parameters for document identification and comment text, but with 0% schema description coverage, it doesn't explain the purpose of 'parentCommentId' for replies or provide format details. It adds minimal value beyond the schema's property names, resulting in a baseline score due to the coverage gap.
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 ('Add a comment') and target resource ('to a document'), with the additional feature 'Supports replies' distinguishing it from basic comment tools. However, it doesn't explicitly differentiate from sibling tools like 'list_document_comments' or 'get_comment', which would require a 5.
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 is provided on when to use this tool versus alternatives like 'list_document_comments' for reading comments or 'update_document' for editing document content. The description lacks context about prerequisites, such as needing an existing document, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_documentD
Archive a document.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Archive a document' implies a mutation operation but doesn't specify whether archiving is reversible, what permissions are required, whether it affects document visibility or access, or what the response looks like. This is inadequate for a mutation tool with zero annotation coverage.
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 extremely concise with a single sentence that states the core action. There's no wasted text, and it's front-loaded with the essential information, though this brevity comes at the cost of completeness.
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 tool's mutation nature, lack of annotations, no output schema, and incomplete parameter documentation, the description is severely inadequate. It doesn't address key contextual aspects like what archiving entails, how it differs from deletion or moving, or what happens after invocation.
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?
The description adds no meaning beyond what the input schema provides. With 0% schema description coverage and 1 undocumented parameter ('documentId'), the description doesn't explain what a documentId is, how to obtain it, or its format. This fails to compensate for the schema's lack of documentation.
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 'Archive a document' is a tautology that restates the tool name with minimal elaboration. It specifies the verb ('archive') and resource ('document'), but doesn't distinguish this tool from sibling tools like 'batch_archive_documents' or clarify what archiving means in this context versus deletion or moving.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, when archiving is appropriate versus deletion or moving, or how it relates to sibling tools like 'unarchive_document', 'list_archived_documents', or 'batch_archive_documents'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ask_wikiC
Ask a question and get an answer based on wiki content using RAG.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'using RAG' which hints at retrieval-augmented generation, but doesn't explain what this entails—such as whether it's read-only, how it handles ambiguous questions, potential rate limits, or authentication needs. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
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 extremely concise and front-loaded: 'Ask a question and get an answer based on wiki content using RAG.' It wastes no words and directly communicates the core functionality in a single, clear sentence. Every part of the description earns its place by specifying the action, resource, and method.
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 complexity of a RAG-based tool with no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't explain what the output looks like (e.g., answer format, confidence scores), how errors are handled, or prerequisites for use. For a tool that likely involves AI processing, more context is needed to ensure proper agent invocation.
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?
The input schema has 1 parameter with 0% description coverage, and the description doesn't add any details about the 'question' parameter beyond implying it's a string. Since schema coverage is low, the description should compensate but doesn't—it doesn't explain question format, length limits, or examples. However, with only one simple parameter, the baseline is moderate, but more guidance would improve usability.
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 tool's purpose: 'Ask a question and get an answer based on wiki content using RAG.' It specifies the verb ('ask'), resource ('wiki content'), and method ('using RAG'), making it easy to understand what the tool does. However, it doesn't explicitly distinguish itself from sibling tools like 'search_documents' or 'find_related', which might also retrieve wiki information.
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?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'search_documents', 'find_related', and 'get_document', there's no indication of when this RAG-based question-answering approach is preferred over direct search or retrieval methods. The description lacks context about use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_archive_documentsC
Archive multiple documents at once.
| Name | Required | Description | Default |
|---|---|---|---|
| documentIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but provides minimal behavioral insight. It mentions 'archive' but doesn't clarify if this is reversible (see 'unarchive_document' sibling), requires permissions, has rate limits, or affects document accessibility. The agent must infer behavior from sibling names alone.
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 a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.
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?
For a mutation tool with no annotations, no output schema, and 0% schema coverage, the description is inadequate. It lacks details on archival behavior, error handling, return values, and differentiation from siblings, leaving the agent with significant gaps.
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%, and the description adds no parameter details beyond the name 'documentIds'. It doesn't explain what document IDs are (e.g., format, source), constraints beyond schema minItems, or how the array is processed (e.g., order, error handling).
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 ('archive') and resource ('multiple documents'), distinguishing it from the single-document 'archive_document' sibling. However, it doesn't specify what 'archive' means operationally (e.g., moving to an archive state vs. permanent deletion).
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 is provided on when to use this tool versus alternatives like 'archive_document' (single) or 'batch_delete_documents'. The description implies bulk operation but lacks explicit context or prerequisites for batch processing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_create_documentsC
Create multiple documents at once.
| Name | Required | Description | Default |
|---|---|---|---|
| documents | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Create' implies a write operation, but it does not disclose behavioral traits such as permissions required, whether it's idempotent, rate limits, error handling for partial failures, or what happens on success (e.g., returns IDs). This is a significant gap for a mutation tool.
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 a single, efficient sentence with zero waste. It is front-loaded and appropriately sized for the tool's complexity, though this conciseness comes at the cost of detail in other dimensions.
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 complexity (batch creation with nested objects), lack of annotations, no output schema, and 0% schema description coverage, the description is incomplete. It fails to address key aspects like return values, error handling, or system context, making it inadequate for safe and effective use by an agent.
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%, so the description must compensate. It mentions 'multiple documents' but adds no meaning beyond what the schema's 'documents' array implies. It does not explain the semantics of nested fields (e.g., 'title', 'collectionId'), default behaviors (e.g., 'publish' defaults to true), or constraints, leaving parameters largely undocumented.
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 'Create multiple documents at once' clearly states the verb ('create') and resource ('documents'), and the 'multiple...at once' distinguishes it from the sibling 'create_document'. However, it lacks specificity about what documents are (e.g., wiki pages, notes) or the system context, making it somewhat vague.
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?
The description provides no guidance on when to use this tool versus alternatives like 'create_document' (for single documents) or 'batch_update_documents' (for updates). It mentions 'multiple documents at once' but does not specify scenarios, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_delete_documentsC
Delete multiple documents at once.
| Name | Required | Description | Default |
|---|---|---|---|
| documentIds | Yes | ||
| permanent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the action ('Delete') without behavioral details. It doesn't disclose whether deletions are reversible, require specific permissions, have rate limits, or confirm success/failure outcomes, which is critical for a destructive batch operation.
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 a single, efficient sentence with zero wasted words, making it easy to parse. It's appropriately sized for the tool's complexity and front-loads the core action, though this brevity contributes to gaps in other dimensions.
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?
For a destructive batch tool with no annotations, 0% schema coverage, and no output schema, the description is incomplete. It lacks details on behavior, parameters, error handling, and comparisons to siblings, failing to provide adequate context for safe and effective use by an agent.
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%, so the description must compensate but adds no parameter semantics. It doesn't explain what 'documentIds' represents (e.g., format, source) or the implications of the 'permanent' flag (e.g., trash vs. irreversible deletion), leaving parameters poorly understood beyond the schema's structure.
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 verb ('Delete') and resource ('multiple documents at once'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'delete_document' (singular) or 'batch_archive_documents', which would require explicit comparison to achieve a perfect score.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'delete_document' for single deletions, 'batch_archive_documents' for non-destructive removal, or 'list_trash' for checking deletable items, leaving the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_move_documentsC
Move multiple documents at once.
| Name | Required | Description | Default |
|---|---|---|---|
| documentIds | Yes | ||
| collectionId | No | ||
| parentDocumentId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('move multiple documents') without details on permissions, side effects, rate limits, or response format. For a mutation tool with zero annotation coverage, this is inadequate and leaves critical behavioral traits unspecified.
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 a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse. Every word contributes to the purpose, achieving optimal conciseness for such a brief statement.
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 complexity of a batch mutation tool with 3 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks details on behavior, parameters, and outcomes, making it insufficient for an agent to use the tool effectively without additional context or trial-and-error.
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%, so the description must compensate for undocumented parameters. It mentions 'multiple documents' which hints at 'documentIds', but doesn't explain 'collectionId' or 'parentDocumentId' or their roles in the move operation. The description adds minimal value beyond the schema, failing to clarify parameter meanings or usage.
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 ('move') and resource ('multiple documents'), specifying it's a batch operation ('at once'). It distinguishes from the sibling 'move_document' by emphasizing multiple documents, though it doesn't explicitly name the sibling. The purpose is specific but could be more detailed about what 'move' entails.
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 is provided on when to use this tool versus alternatives like 'move_document' or 'batch_update_documents'. The description implies usage for moving multiple documents, but lacks explicit context, prerequisites, or exclusions. It's a basic statement without operational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_update_documentsC
Update multiple documents at once.
| Name | Required | Description | Default |
|---|---|---|---|
| updates | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic operation. It doesn't disclose permissions needed, whether updates are atomic/partial, error handling for failed updates, rate limits, or what happens to documents not in the updates array. 'Update' implies mutation but lacks behavioral details.
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?
Extremely concise with a single sentence that directly states the tool's purpose. No wasted words or unnecessary elaboration, though this conciseness comes at the cost of detail.
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?
For a batch mutation tool with 1 parameter (complex array), 0% schema coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain the updates parameter structure, return values, error conditions, or how it differs from sibling batch tools, leaving significant gaps for agent understanding.
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%, so the description must compensate but only mentions 'multiple documents' without explaining the updates array structure or parameters like documentId, title, text, append. It adds minimal value beyond the schema's property names, failing to clarify parameter meanings or usage.
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 ('update') and resource ('multiple documents'), with 'at once' implying batch processing. It distinguishes from single-document updates but doesn't explicitly differentiate from other batch operations like batch_archive_documents or batch_delete_documents.
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 like update_document for single updates or other batch operations. The description implies batch context but provides no explicit when/when-not criteria or prerequisite conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_collectionC
Create a new collection.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| description | No | ||
| color | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Create a new collection' implies a write operation, but it doesn't disclose any behavioral traits: no information about permissions needed, whether the operation is idempotent, what happens on failure, rate limits, or what the response contains. This leaves significant gaps for a mutation tool.
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 perfectly concise at four words with zero wasted language. It's front-loaded with the core action and resource, making it immediately scannable and efficient. Every word earns its place.
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?
For a mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It covers the basic purpose but lacks crucial context about behavior, parameters, and results. The agent would need to guess about many aspects of tool invocation and response handling.
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?
The description provides no parameter information beyond what's implied by 'collection.' With 0% schema description coverage and 3 parameters (name, description, color), the description doesn't compensate for the schema's lack of descriptions. However, the parameters are relatively self-explanatory (name, description, color for a collection), so this meets the baseline for adequate but minimal.
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 'Create a new collection' clearly states the verb ('create') and resource ('collection'), making the purpose immediately understandable. It doesn't differentiate from sibling tools like 'create_document' or 'batch_create_documents', but the resource specificity ('collection') provides adequate clarity for basic understanding.
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?
The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, when to choose this over sibling tools like 'batch_create_documents' or 'update_collection', or any contextual constraints. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_documentD
Create a new document.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| text | No | ||
| collectionId | Yes | ||
| parentDocumentId | No | ||
| publish | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but only states the action ('Create') without any behavioral context. It doesn't mention whether this requires authentication, what permissions are needed, whether it's idempotent, what happens on failure, or what the response contains. For a creation tool with 5 parameters and no annotations, this is a significant transparency gap.
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 maximally concise with a single sentence that directly states the action. There's no wasted words or unnecessary elaboration. While under-specified, it's efficiently structured for what it does convey.
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?
For a document creation tool with 5 parameters, no annotations, no output schema, and multiple sibling tools, the description is completely inadequate. It doesn't explain what gets created, how parameters interact, what the tool returns, or when to use it versus alternatives. The minimal description fails to provide the context needed for effective tool selection and invocation.
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?
The description provides zero information about any of the 5 parameters. With 0% schema description coverage and no parameter guidance in the description, the agent has no semantic understanding of what 'title', 'text', 'collectionId', 'parentDocumentId', or 'publish' mean or how they affect document creation. This is inadequate for a tool with multiple parameters.
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 'Create a new document' is a tautology that restates the tool name without adding specificity. It doesn't clarify what type of document is being created (e.g., text document, wiki page, knowledge base entry) or distinguish it from sibling tools like 'batch_create_documents' or 'create_collection'. The purpose is stated but lacks meaningful differentiation.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a collectionId), when to use 'batch_create_documents' for multiple documents, or how this differs from 'update_document' for modifying existing documents. There's complete absence of contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_collectionB
Delete a collection. All documents in the collection will also be deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| collectionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It helpfully reveals the destructive cascading effect ('All documents in the collection will also be deleted'), which is critical context. However, it doesn't mention permissions required, whether deletion is reversible, rate limits, or what happens to the response.
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 extremely concise (two sentences) with zero wasted words. The first sentence states the core action, and the second sentence provides critical behavioral context. Every sentence earns its place.
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?
For a destructive operation with no annotations and no output schema, the description does the minimum viable job by stating the action and its cascading effect. However, it lacks important context about permissions, reversibility, error conditions, and what the response contains, leaving significant gaps for an AI agent.
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?
The schema has 0% description coverage for its single parameter, but the description doesn't provide any parameter-specific information. However, with only one parameter (collectionId), the tool's purpose is straightforward enough that the description's clarity about what gets deleted provides adequate context for understanding the parameter's role.
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 ('Delete') and resource ('a collection'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'delete_document' or 'batch_delete_documents' beyond mentioning that documents in the collection will also be deleted.
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?
The description provides no guidance on when to use this tool versus alternatives like 'delete_document' or 'batch_delete_documents'. It mentions the cascading effect on documents, but doesn't specify prerequisites, exclusions, or appropriate contexts for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_documentB
Delete a document. If permanent=true, permanently delete; otherwise move to trash.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes | ||
| permanent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that deletion can be permanent or move to trash, which is useful behavioral context. However, it doesn't mention permissions required, whether deletion is reversible, rate limits, or what happens to linked data (e.g., comments, backlinks). For a destructive operation with zero annotation coverage, this leaves significant gaps.
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 extremely concise with two sentences that efficiently convey core functionality. The first sentence states the purpose, and the second explains the key parameter's effect. There's no wasted language, and information is front-loaded appropriately.
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?
For a destructive tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description provides basic operational context but is incomplete. It covers the deletion modes but lacks details on permissions, reversibility, error conditions, or return values. Given the complexity and safety implications, more comprehensive guidance would be beneficial.
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?
The description adds meaningful context for the 'permanent' parameter by explaining its effect (permanently delete vs move to trash), which goes beyond the schema's basic boolean type. However, it doesn't explain the 'documentId' parameter's format or sourcing. With 0% schema description coverage, the description partially compensates but doesn't fully address both parameters.
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 verb 'Delete' and resource 'document', making the purpose unambiguous. It distinguishes from siblings like 'archive_document', 'move_document', and 'restore_document' by specifying deletion behavior. However, it doesn't explicitly contrast with 'batch_delete_documents' or 'list_trash', leaving some sibling differentiation incomplete.
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?
The description implies usage through the conditional 'If permanent=true...' but doesn't explicitly state when to use this tool versus alternatives like 'archive_document' for temporary removal or 'batch_delete_documents' for multiple documents. It provides some context (trash vs permanent deletion) but lacks clear guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_all_collectionsC
Export all collections.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | outline-markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden but fails to disclose behavioral traits. It doesn't mention whether this is a read-only or destructive operation, what permissions are needed, how output is handled (e.g., file generation, download), or any rate limits. This leaves critical usage risks unaddressed.
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 extremely concise with just three words, front-loading the core action and target without any wasted text. It's appropriately sized for a simple tool, though this brevity contributes to gaps in other dimensions.
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 lack of annotations and output schema, the description is incomplete. It doesn't explain what 'export' entails (e.g., file output, data format), how results are returned, or any side effects, making it inadequate for safe and effective tool invocation in a complex environment with many sibling tools.
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?
With 0% schema description coverage and only one parameter, the description doesn't add parameter details, but the low parameter count reduces the need for extensive compensation. The schema itself defines the 'format' parameter with enum values, so the baseline is high despite the description's lack of parameter information.
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 'Export all collections' clearly states the action (export) and target (all collections), which is better than a tautology. However, it doesn't differentiate from sibling tools like 'export_collection' or 'export_document', leaving ambiguity about scope and specificity.
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 is provided on when to use this tool versus alternatives like 'export_collection' for single collections or other export-related tools. The description implies a bulk operation but doesn't specify contexts or prerequisites for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_collectionC
Export a collection.
| Name | Required | Description | Default |
|---|---|---|---|
| collectionId | Yes | ||
| format | No | outline-markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Export a collection' implies a read-only operation that generates output, but it doesn't specify permissions needed, rate limits, side effects (e.g., file creation), or what the export produces (e.g., a downloadable file). This is inadequate for a tool with potential behavioral complexity.
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 extremely concise with a single sentence 'Export a collection.', which is front-loaded and wastes no words. While under-specified, it's structurally efficient with no redundant information.
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 no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't address what the export does (e.g., returns a file, triggers a process), behavioral traits, or parameter meanings, making it insufficient for an agent to use the tool effectively without additional context.
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%, so the description must compensate for undocumented parameters. It mentions 'collection' but doesn't explain 'collectionId' or 'format' parameters. The description adds minimal value beyond the schema, failing to clarify what a 'collection' is or how the export works, leaving key semantics unclear.
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 'Export a collection' clearly states the action (export) and target (collection), but it's vague about what 'export' entails (e.g., file generation, data transfer) and doesn't differentiate from sibling tools like 'export_all_collections' or 'export_document'. It avoids tautology by not restating the name, but lacks specificity.
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 is provided on when to use this tool versus alternatives like 'export_all_collections' or 'export_document'. The description doesn't mention prerequisites, exclusions, or context for choosing this tool over others, leaving the agent to infer usage based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_documentC
Export document in Markdown format.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It implies a read-only operation (exporting) but doesn't disclose permissions needed, rate limits, whether it's destructive to the document, output handling (e.g., file download vs. text return), or error conditions. This leaves significant gaps for a tool with potential side effects.
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 extremely concise—a single sentence with zero wasted words. It's front-loaded with the core action and format, making it easy to parse quickly. Every word earns its place by specifying the export format.
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 no annotations, 0% schema coverage, no output schema, and a single parameter, the description is incomplete. It lacks details on behavior, output format beyond 'Markdown', error handling, and integration context. For a tool that likely produces content, more guidance is needed to ensure correct usage.
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%, and the description adds no parameter information beyond what's inferred from the tool name. It doesn't explain what 'documentId' represents (e.g., format, source), validation rules, or examples. For a single required parameter with no schema documentation, this is inadequate compensation.
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 ('Export') and resource ('document') with specific output format ('Markdown format'), which distinguishes it from siblings like 'get_document' or 'summarize_document'. However, it doesn't explicitly differentiate from 'export_collection' or 'export_all_collections' which handle different scopes.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., document must exist), contrast with 'get_document' (which retrieves metadata/content without export), or specify scenarios where export is preferred over other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_diagramC
Generate a Mermaid diagram from a text description.
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates a diagram but doesn't mention any behavioral traits such as output format (e.g., image, text), error handling, rate limits, authentication needs, or side effects. This leaves significant gaps for an agent to understand how to invoke it effectively.
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 a single, efficient sentence: 'Generate a Mermaid diagram from a text description.' It is front-loaded with the core action and resource, with no wasted words or redundant information. This makes it easy for an agent to parse quickly.
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 tool's complexity (a generative operation with one parameter), lack of annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't explain what the output is (e.g., a diagram code, an image URL), how errors are handled, or any dependencies, leaving the agent with insufficient context for reliable use.
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?
The input schema has one parameter ('description') with 0% schema description coverage, meaning the schema provides no semantic details. The description adds minimal value by implying the parameter is a 'text description' for generating the diagram, but it doesn't elaborate on format, length, or content expectations. This partially compensates for the low coverage but remains vague.
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 tool's purpose: 'Generate a Mermaid diagram from a text description.' It specifies the verb ('Generate') and resource ('Mermaid diagram'), and the transformation from input to output is explicit. However, it doesn't distinguish this tool from potential siblings that might also generate diagrams in different formats or contexts, which prevents a perfect score.
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?
The description provides no guidance on when to use this tool versus alternatives. Given the sibling tools list includes various document and collection operations, there's no indication of whether this is for documentation, visualization, or other contexts, nor any prerequisites or exclusions mentioned. Usage is implied only by the tool's name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_collection_structureC
Get document hierarchy within a collection.
| Name | Required | Description | Default |
|---|---|---|---|
| collectionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Get document hierarchy', implying a read-only operation, but doesn't specify whether this includes metadata, permissions, recursion depth, or error handling. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior and limitations.
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 a single, clear sentence with zero waste—it directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple tool and front-loaded with the essential action, making it efficient for an agent to parse.
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 tool's complexity (retrieving hierarchical data), lack of annotations, no output schema, and low schema description coverage, the description is incomplete. It doesn't address what the hierarchy includes (e.g., folders, documents, metadata), potential limitations, or return format, making it inadequate for the agent to fully understand the tool's context and usage.
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?
The input schema has 1 parameter with 0% description coverage, so the schema provides no semantic context. The description mentions 'within a collection', which implicitly relates to the 'collectionId' parameter, adding some meaning. However, it doesn't explain what a collectionId is, its format (UUID), or how to obtain it, leaving the parameter only partially clarified.
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 verb 'Get' and the resource 'document hierarchy within a collection', which is specific and actionable. However, it doesn't distinguish this tool from potential siblings like 'list_collections' or 'get_document', which might also retrieve hierarchical or collection-related data, leaving room for ambiguity.
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?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'list_collections' (which might list top-level collections) and 'get_document' (which retrieves individual documents), there's no indication of context, prerequisites, or exclusions, leaving the agent to infer usage based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_commentC
Get details of a specific comment.
| Name | Required | Description | Default |
|---|---|---|---|
| commentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get details' suggests a read-only operation, but it doesn't specify authentication needs, rate limits, error handling, or what the return format looks like (e.g., structured data or raw text). For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
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 a single, efficient sentence: 'Get details of a specific comment.' It's front-loaded with the core action and resource, with zero wasted words. Every part earns its place, making it highly concise and well-structured for quick comprehension.
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 tool's simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It doesn't cover what 'details' include, how to obtain the commentId, or potential errors. For a read operation with no structured output, more context on return values or usage scenarios would enhance completeness, leaving gaps in agent understanding.
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?
The input schema has 1 parameter ('commentId') with 0% description coverage, meaning the schema provides no semantic context. The description adds minimal value by implying the parameter identifies a 'specific comment', but doesn't explain format (e.g., UUID), sourcing, or validation. Since schema coverage is low, the description partially compensates but remains inadequate for full understanding.
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 'Get details of a specific comment' clearly states the verb ('Get') and resource ('comment'), making the purpose understandable. However, it's vague about what 'details' entail and doesn't distinguish this tool from potential siblings like 'list_document_comments' or 'get_document', which might also retrieve comment-related information. It avoids tautology but lacks specificity.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a comment ID), exclusions, or how it differs from sibling tools like 'list_document_comments' (which might list multiple comments) or 'get_document' (which could include comments). Without such context, usage is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_documentC
Get full document content by document ID.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits such as permissions needed, rate limits, response format (e.g., text, HTML), or error handling. This is inadequate for a tool with potential complexity in document retrieval.
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 a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse quickly.
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 no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't cover return values (e.g., document structure, metadata), error cases, or usage nuances, leaving significant gaps for a tool that interacts with document content.
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%, so the description must compensate. It adds meaning by explaining that 'documentId' is used to get content, but doesn't specify format (e.g., UUID, numeric) or constraints beyond the schema's minLength. This provides some context but leaves gaps.
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 verb ('Get') and resource ('full document content'), specifying retrieval by document ID. It distinguishes from siblings like 'get_document_backlinks' or 'get_document_id_from_title' by focusing on content, but doesn't explicitly contrast with 'export_document' or 'summarize_document'.
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 is provided on when to use this tool versus alternatives like 'export_document' (which might output files) or 'summarize_document' (which provides summaries). The description implies usage for retrieving content, but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_document_backlinksC
Find other documents linking to this document.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't describe how it behaves: no information about permissions needed, rate limits, pagination, error conditions, or what the output looks like. For a tool with zero annotation coverage, this leaves significant gaps in understanding its operational characteristics.
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 a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple lookup tool and front-loads the core functionality immediately.
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 no annotations, no output schema, and 0% schema description coverage, the description is insufficiently complete. It explains what the tool does at a high level but doesn't provide enough context about behavior, parameters, or results for an agent to use it effectively without additional trial-and-error.
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?
The description implies a 'documentId' parameter through 'this document', but doesn't explain what format it expects or where to get it. With 0% schema description coverage and 1 parameter, the description adds minimal semantic context beyond what's inferable from the schema. This meets the baseline for a single parameter tool but doesn't compensate for the lack of schema documentation.
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 verb 'find' and resource 'other documents linking to this document', making the purpose immediately understandable. It doesn't explicitly distinguish from siblings like 'find_related' or 'get_document', but the specific focus on backlinks is reasonably distinct. The description avoids tautology by not just restating the tool name.
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?
The description provides no guidance on when to use this tool versus alternatives like 'find_related' or 'get_document'. It doesn't mention prerequisites, context, or exclusions. While the purpose is clear, there's no help for an agent deciding between this and other document-related tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_document_id_from_titleC
Find document ID by title.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| collectionId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. 'Find document ID by title' implies a read-only lookup operation, but it doesn't specify whether this requires authentication, how it handles errors (e.g., no matches), rate limits, or what the return format looks like. The description is minimal and lacks essential behavioral context.
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 extremely concise at just 5 words with zero waste. It's front-loaded and gets straight to the point without unnecessary elaboration. For such a simple stated purpose, this level of brevity is appropriate.
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 2 parameters with 0% schema coverage, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain parameter usage, return values, error conditions, or how this tool differs from similar siblings. For a lookup tool that likely returns structured data, more context is needed.
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?
With 0% schema description coverage and 2 parameters (query, collectionId), the description doesn't explain what these parameters mean. 'Find document ID by title' only hints at the 'query' parameter but doesn't clarify if it's the exact title, a search term, or case-sensitive. The 'collectionId' parameter isn't mentioned at all, leaving it completely undocumented.
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 'Find document ID by title' clearly states the tool's purpose with a specific verb ('Find') and resource ('document ID'), but it's vague about scope and doesn't differentiate from siblings like 'search_documents' or 'get_document'. It doesn't specify if this is an exact match, partial match, or how it handles duplicates.
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?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'search_documents' and 'get_document' available, there's no indication of whether this tool is for exact title lookups, faster queries, or specific use cases. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_archived_documentsC
Get list of archived documents.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states it 'gets' a list, implying a read operation, but doesn't disclose behavioral traits like pagination, sorting, permissions needed, rate limits, or what 'archived' entails. This is inadequate for a tool with no annotation coverage.
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 a single, efficient sentence with no wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.
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 no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't cover return values, error cases, or how archived documents are defined, leaving significant gaps for an agent to use the tool effectively.
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?
The schema has 1 parameter with 0% description coverage, and the tool description doesn't mention any parameters. Since there's only 1 parameter, the baseline is 4, but the description adds no value beyond the schema, so it's scored lower. It fails to explain what 'limit' controls or its impact.
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 verb ('Get') and resource ('list of archived documents'), making the purpose understandable. However, it doesn't differentiate from siblings like 'list_recent_documents' or 'list_trash', which also list documents with different filters, so it misses full sibling distinction.
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?
The description provides no guidance on when to use this tool versus alternatives such as 'list_recent_documents' or 'search_documents'. It lacks context on prerequisites, exclusions, or specific scenarios for archived versus other document states.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_collectionsC
Get list of all collections.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get list' implies a read-only operation, but it doesn't specify details like pagination, sorting, or what fields are returned. For a tool with zero annotation coverage, this leaves the agent guessing about key behavioral aspects.
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 a single, clear sentence: 'Get list of all collections.' It's front-loaded with the core action, has zero wasted words, and efficiently communicates the tool's purpose without redundancy or fluff.
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 complexity of listing operations in a system with many sibling tools, the description is incomplete. It lacks output details (no output schema), doesn't specify behavioral traits like filtering or ordering, and fails to differentiate from related tools. For a read operation in a rich environment, more context is needed.
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?
The tool has 0 parameters, and the input schema has 100% description coverage (though empty). The description doesn't need to add parameter details, as there are none to explain. It appropriately focuses on the action, earning a high score for not introducing unnecessary complexity.
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 'Get list of all collections' clearly states the verb ('Get') and resource ('collections'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_collection_structure' or 'export_all_collections', which also involve collections. The description is functional but lacks specificity about scope or format.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, such as whether it lists only active collections or includes archived ones. With many sibling tools like 'list_archived_documents' and 'list_trash', the lack of comparative guidance is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_document_commentsC
Get list of comments on a document.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes | ||
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but reveals minimal behavioral information. It implies a read operation ('Get list') but doesn't disclose pagination behavior (limit/offset), rate limits, authentication requirements, error conditions, or what happens with invalid document IDs. The description is functionally accurate but lacks operational context.
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 a single, focused sentence with zero wasted words. It's front-loaded with the core purpose and uses straightforward language. Every word earns its place, making it immediately scannable and understandable.
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?
For a tool with 3 parameters, 0% schema coverage, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain the pagination system (limit/offset), return format, error handling, or relationship to other comment/document operations. The agent would need to guess about important operational aspects.
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%, so the description must compensate but adds no parameter information. It mentions 'document' which maps to 'documentId', but doesn't explain what format this ID should be, where to find it, or that limit/offset parameters exist for pagination control. The description fails to provide meaningful semantic context beyond what's inferable from the tool name.
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 ('Get list') and resource ('comments on a document'), making the purpose immediately understandable. It distinguishes from siblings like 'get_comment' (singular) and 'add_comment', but doesn't explicitly differentiate from other list tools like 'list_collections' or 'list_recent_documents' beyond the resource type.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over 'get_comment' for a single comment, or how it relates to document viewing workflows. There's no context about prerequisites, permissions, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recent_documentsC
Get list of recently modified documents.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a read operation ('Get list'), but doesn't mention permissions, rate limits, pagination, or what 'recently modified' means (e.g., time frame, sorting). This leaves significant gaps for a tool with potential behavioral nuances.
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 a single, efficient sentence with zero wasted words. It's front-loaded and appropriately sized for a simple list operation, earning full marks for conciseness.
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 tool's moderate complexity (listing with a filter concept), no annotations, no output schema, and incomplete behavioral context, the description is inadequate. It should explain more about the 'recently modified' scope, return format, or limitations to be complete for agent use.
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?
The description adds no parameter information beyond what the input schema provides (schema description coverage is 0%, but the schema itself documents 'limit' with type, range, and default). Since the schema covers the single parameter adequately, the baseline is 3, as the description doesn't compensate but doesn't need to heavily with good schema coverage.
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 verb ('Get list') and resource ('recently modified documents'), making the purpose evident. However, it doesn't differentiate from sibling tools like 'list_archived_documents' or 'search_documents' beyond the 'recently modified' qualifier, which is why it doesn't reach a 5.
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?
The description provides no guidance on when to use this tool versus alternatives like 'list_archived_documents' or 'search_documents'. It lacks explicit when/when-not instructions or named alternatives, leaving usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_trashC
Get list of documents in trash.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states it 'gets' a list, implying a read-only operation, but doesn't disclose critical traits like whether it requires authentication, returns paginated results, includes metadata (e.g., deletion dates), or has rate limits. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
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 a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part ('Get list of documents in trash') directly contributes to understanding, making it appropriately sized for a simple tool with one parameter.
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 tool's low complexity (one optional parameter) but lack of annotations and output schema, the description is incomplete. It doesn't explain what the output contains (e.g., document IDs, titles, timestamps), how results are ordered, or error conditions. For a list tool with no structured output documentation, more context is needed to be fully usable.
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?
The description adds no parameter information beyond what the schema provides (a 'limit' parameter with default 25 and range 1-100). With 0% schema description coverage, the schema alone documents the parameter fully. The description doesn't compensate by explaining how 'limit' affects results (e.g., pagination), so it meets the baseline but doesn't add value.
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 verb 'Get' and resource 'list of documents in trash', making the purpose immediately understandable. It distinguishes itself from siblings like 'list_archived_documents' or 'list_recent_documents' by specifying the trash location. However, it doesn't explicitly contrast with all possible list operations, keeping it from a perfect score.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing trash access), exclusions (e.g., not for active documents), or compare to siblings like 'list_archived_documents' for different document states. Usage is implied by the name but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_documentC
Move document to another collection or under a parent document.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes | ||
| collectionId | No | ||
| parentDocumentId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions the move action but doesn't disclose permissions needed, whether it's destructive (e.g., affects document links), rate limits, or what happens to the original location. For a mutation tool with zero annotation coverage, this is inadequate.
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 a single, efficient sentence with zero waste—front-loaded with the core action and destination options. Every word earns its place, making it easy to parse quickly without unnecessary elaboration.
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 a mutation tool with 3 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits, parameter meanings, return values, and usage context, leaving significant gaps for the agent to operate effectively.
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%, so the description must compensate but fails to do so. It mentions 'collection' and 'parent document' as destinations, hinting at parameters like 'collectionId' and 'parentDocumentId', but doesn't explain their semantics, relationships, or that 'documentId' is required. This leaves key parameters undocumented.
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 ('Move') and resource ('document'), specifying the destination options ('to another collection or under a parent document'). It distinguishes from siblings like 'batch_move_documents' by implying single-document operation, though not explicitly. However, it doesn't fully differentiate from 'update_document' which might also handle location changes, keeping it at 4 rather than 5.
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 explicit guidance on when to use this tool versus alternatives like 'batch_move_documents' or 'update_document'. The description implies usage for moving documents but lacks context on prerequisites, constraints, or comparisons with sibling tools. This leaves the agent without clear decision-making criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restore_documentC
Restore a document from trash.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It implies a mutation operation ('restore') but doesn't disclose behavioral traits like required permissions, whether the action is reversible, side effects (e.g., moving document out of trash), or error conditions. This is inadequate for a mutation tool with zero annotation coverage.
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 a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, directly stating the tool's purpose without unnecessary elaboration.
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 this is a mutation tool with no annotations, no output schema, and minimal parameter documentation, the description is incomplete. It lacks details on behavior, outcomes, or context needed for safe and effective use, making it inadequate for the tool's complexity.
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?
The description doesn't add any parameter information beyond the input schema, which has 0% description coverage for the single parameter 'documentId'. However, with only one parameter and a straightforward tool, the baseline is 3 as the schema minimally defines the requirement, though the description doesn't compensate for the coverage gap.
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 ('restore') and target resource ('a document from trash'), which is specific and unambiguous. However, it doesn't differentiate from sibling tools like 'unarchive_document' or 'move_document' that might also involve document state changes, so it doesn't reach the highest score.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., document must be in trash), exclusions, or compare to related tools like 'unarchive_document' or 'move_document' for different scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_documentsC
Search documents by keyword. Supports pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| collectionId | No | ||
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Supports pagination,' which adds some context about handling large datasets, but fails to cover critical aspects like whether this is a read-only operation, authentication requirements, rate limits, error handling, or what the search results look like. For a search tool with zero annotation coverage, this is inadequate.
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 extremely concise with two short sentences: 'Search documents by keyword. Supports pagination.' It's front-loaded with the core purpose and wastes no words, making it easy to parse quickly.
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 tool's complexity (4 parameters, 0% schema coverage, no annotations, no output schema), the description is insufficient. It lacks details on parameter meanings, behavioral traits, output format, and usage context. For a search operation that likely returns structured data, this leaves significant gaps for an AI agent to operate effectively.
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%, meaning none of the parameters (query, collectionId, limit, offset) are documented in the schema. The description only mentions 'keyword' (implied for 'query') and 'pagination' (implied for 'limit' and 'offset'), but doesn't explain the purpose of 'collectionId' or provide details on parameter usage. It adds minimal value beyond the bare schema.
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 tool's purpose: 'Search documents by keyword.' It specifies the verb ('search') and resource ('documents'), making it easy to understand what the tool does. However, it doesn't differentiate from sibling tools like 'find_related' or 'get_document_id_from_title', which might also involve searching, so it's not fully distinguished.
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?
The description provides no guidance on when to use this tool versus alternatives. It mentions 'Supports pagination,' which hints at usage for large result sets, but doesn't specify contexts, exclusions, or compare to siblings like 'find_related' or 'list_recent_documents.' This leaves the agent with minimal direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
smart_statusB
Check if smart features are enabled and get index statistics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions what the tool does but lacks critical details: whether this is a read-only operation, if it requires specific permissions, what 'index statistics' include, or potential side effects. For a tool with zero annotation coverage, this is a significant gap in transparency.
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 a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part of the sentence ('check if smart features are enabled' and 'get index statistics') directly contributes to understanding the tool's function, making it maximally concise.
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 complexity of checking system features and statistics, the description is incomplete. With no annotations and no output schema, it fails to explain what 'smart features' or 'index statistics' entail, the format of the response, or any error conditions. This leaves the agent with insufficient context for reliable use.
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?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description doesn't need to add parameter semantics, and it appropriately avoids discussing nonexistent parameters, earning a baseline score of 4 for this context.
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 tool's purpose with specific verbs ('check' and 'get') and resources ('smart features' and 'index statistics'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_document' or 'search_documents', which might also provide status information in different contexts.
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?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for document operations, there's no indication if this is for system-level checks, document-specific status, or other contexts, leaving the agent to guess based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_tagsC
Get AI-suggested tags for a document based on its content.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes |
TDQS
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 states the tool 'Get AI-suggested tags' but doesn't disclose behavioral traits such as whether it's read-only (likely, but not confirmed), if it requires specific permissions, rate limits, or what the output format is (e.g., list of tags). The description is minimal and lacks crucial operational details for an agent.
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 a single, efficient sentence with no wasted words. It's front-loaded with the core action ('Get AI-suggested tags') and includes essential context ('for a document based on its content'). Every part earns its place, making it highly concise and well-structured.
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 tool's moderate complexity (AI-based suggestion), no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't cover output values, error conditions, or behavioral nuances. For a tool that likely involves AI processing, more context on limitations, accuracy, or response format is needed to be complete.
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?
The input schema has 1 parameter with 0% description coverage, so the description must compensate. It mentions 'for a document based on its content', which implies 'documentId' identifies the document, but doesn't explain the parameter's format, constraints, or how it relates to content. No additional meaning is provided beyond the basic implication, failing to address the coverage gap adequately.
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 verb 'Get' and resource 'AI-suggested tags for a document', specifying it's based on content. It distinguishes from siblings like 'get_document' (retrieves content) or 'summarize_document' (creates summary), but doesn't explicitly contrast with similar tools like 'find_related' (which might suggest related documents). The purpose is specific but could be more differentiated.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., document must exist), exclusions (e.g., not for empty documents), or comparisons to siblings like 'find_related' or 'smart_status'. Usage is implied (when tags are needed for a document), but no explicit context or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_documentC
Generate an AI-powered summary of a document.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes | ||
| language | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'AI-powered' but doesn't explain what that entails—such as model used, summary length, tone, or potential inaccuracies. It also omits critical details like whether it's a read-only operation, if it modifies the document, rate limits, or error conditions, leaving significant gaps for an AI agent.
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 a single, efficient sentence that gets straight to the point with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every part of the sentence contributes essential information without redundancy.
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 complexity (AI-powered operation with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the summary output looks like (e.g., text length, format), error handling, or behavioral constraints. For a tool that involves AI processing, more context is needed to ensure proper usage by an agent.
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%, so the description must compensate for undocumented parameters. It mentions 'document' but doesn't clarify what 'documentId' refers to (e.g., file path, database ID) or the purpose of the optional 'language' parameter (e.g., output language, document language). This adds minimal value beyond the bare schema, failing to address the coverage gap adequately.
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 ('Generate an AI-powered summary') and resource ('of a document'), making the purpose immediately understandable. It distinguishes itself from siblings like 'get_document' (which retrieves content) or 'export_document' (which exports). However, it doesn't specify the scope or format of the summary, which prevents a perfect score.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over 'get_document' for full content, 'smart_status' for status insights, or 'find_related' for context. There's also no information about prerequisites, such as document accessibility or permissions required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sync_knowledgeB
Sync documents to vector store for AI-powered search. Run this before using ask_wiki.
| Name | Required | Description | Default |
|---|---|---|---|
| collectionId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. While it mentions syncing for AI search, it lacks details on behavioral traits like whether this is a read-only or mutating operation, potential side effects (e.g., overwriting existing data), performance characteristics, or error conditions. The description is minimal and doesn't compensate for the absence of annotations.
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 extremely concise with two short sentences that are front-loaded with essential information. Every word earns its place: the first sentence defines the purpose, and the second provides critical usage guidance. There is no wasted verbiage or redundancy.
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 complexity (a sync operation likely involving data processing), no annotations, no output schema, and poor parameter documentation, the description is incomplete. It doesn't explain what 'sync' entails (e.g., incremental vs. full, time taken), what happens on success/failure, or the return values. The usage hint is helpful but insufficient for full understanding.
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?
The input schema has 1 parameter with 0% description coverage, and the tool description provides no information about parameters. It doesn't explain what 'collectionId' represents, its format (UUID), or how it affects the sync operation. The description fails to add any semantic meaning beyond the bare schema.
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 tool's purpose: 'Sync documents to vector store for AI-powered search.' It specifies the action (sync), target (documents), destination (vector store), and purpose (AI-powered search). However, it doesn't explicitly differentiate from siblings like 'batch_create_documents' or 'update_document' which might also involve document operations.
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?
The description provides explicit usage guidance: 'Run this before using ask_wiki.' This clearly indicates when to use this tool (as a prerequisite for 'ask_wiki') and distinguishes it from alternatives by naming a specific sibling tool. It establishes a clear workflow dependency.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unarchive_documentB
Restore an archived document.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('restore') but doesn't mention permissions required, whether the operation is reversible, what happens to the document's state, or any rate limits. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
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 a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place by conveying essential information.
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 tool's moderate complexity (a mutation with one parameter), no annotations, and no output schema, the description is minimally adequate. It states what the tool does but lacks details on behavior, output, or error conditions. It meets the bare minimum for understanding the action but leaves gaps in practical usage.
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?
The description doesn't explicitly mention parameters, but with only one parameter (documentId) and 0% schema description coverage, the tool's purpose inherently clarifies that 'documentId' refers to the archived document to restore. This compensates adequately for the lack of schema descriptions, though it doesn't provide format or validation details.
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 'Restore an archived document' clearly states the verb ('restore') and resource ('archived document'), making the purpose immediately understandable. It distinguishes from sibling 'archive_document' by indicating the opposite action, though it doesn't explicitly differentiate from 'restore_document' which might handle different types of restoration.
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?
The description provides no guidance on when to use this tool versus alternatives like 'restore_document' or 'list_archived_documents'. It doesn't mention prerequisites (e.g., document must be archived) or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_collectionC
Update collection information.
| Name | Required | Description | Default |
|---|---|---|---|
| collectionId | Yes | ||
| name | No | ||
| description | No | ||
| color | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Update' implies a mutation operation, but the description doesn't specify required permissions, whether changes are reversible, rate limits, or what happens to unspecified fields. It lacks critical context for a mutation tool with zero annotation coverage.
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 extremely concise with just three words, making it front-loaded and efficient. There's no wasted language, though this brevity contributes to the lack of detail in other dimensions.
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?
For a mutation tool with 4 parameters, 0% schema coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns, how parameters interact, or behavioral aspects like error conditions. The minimal description leaves too many gaps for effective agent use.
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%, so parameters are undocumented in the schema. The description doesn't mention any parameters or their meanings, failing to compensate for the schema gap. It doesn't explain what 'collectionId', 'name', 'description', or 'color' represent or how they affect the update operation.
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 'Update collection information' clearly states the verb ('Update') and resource ('collection information'), making the purpose understandable. However, it's vague about what specific information can be updated and doesn't distinguish from sibling tools like 'update_document' or 'batch_update_documents' that also perform updates on different resources.
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?
The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites (e.g., needing an existing collection), exclusions (e.g., not for batch operations), or comparison to siblings like 'create_collection' for initial creation or 'batch_update_documents' for multiple document updates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_documentC
Update an existing document. Can append content with append mode.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes | ||
| title | No | ||
| text | No | ||
| append | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'append mode' which adds some context about how updates work, but fails to address critical aspects: whether this requires specific permissions, if updates are reversible, what happens to unspecified fields, or what the response contains. For a mutation tool with zero annotation coverage, this is insufficient.
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 extremely concise - just two short sentences that get straight to the point. Every word earns its place, with no redundant information or unnecessary elaboration. It's front-loaded with the core purpose followed by a key behavioral detail.
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?
For a mutation tool with 4 parameters, 0% schema description coverage, no annotations, and no output schema, the description is inadequate. It should explain parameter relationships, update behavior, permissions needed, and expected outcomes. The mention of 'append mode' is helpful but insufficient for the tool's complexity.
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?
With 0% schema description coverage and 4 parameters, the description must compensate but only partially does so. It mentions 'append mode' which relates to the 'append' parameter, but doesn't explain the purpose of 'documentId', 'title', or 'text' parameters, nor their relationships. The description adds minimal value beyond the bare schema.
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 ('Update') and resource ('an existing document'), making the purpose immediately understandable. It distinguishes from sibling tools like 'create_document' by specifying it works on existing documents, though it doesn't explicitly differentiate from 'batch_update_documents' or other update-related tools.
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?
The description provides minimal guidance - it mentions 'append mode' but doesn't explain when to use append vs. replace, nor when to choose this tool over alternatives like 'batch_update_documents' or 'move_document'. No prerequisites, exclusions, or comparison with sibling tools are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
37 tool updates
- First observed
add_comment - First observed
archive_document - First observed
ask_wiki - First observed
batch_archive_documents - First observed
batch_create_documents - First observed
batch_delete_documents - First observed
batch_move_documents - First observed
batch_update_documents - First observed
create_collection - First observed
create_document - First observed
delete_collection - First observed
delete_document - First observed
export_all_collections - First observed
export_collection - First observed
export_document - First observed
find_related - First observed
generate_diagram - First observed
get_collection_structure - First observed
get_comment - First observed
get_document - First observed
get_document_backlinks - First observed
get_document_id_from_title - First observed
list_archived_documents - First observed
list_collections - First observed
list_document_comments - First observed
list_recent_documents - First observed
list_trash - First observed
move_document - First observed
restore_document - First observed
search_documents - First observed
smart_status - First observed
suggest_tags - First observed
summarize_document - First observed
sync_knowledge - First observed
unarchive_document - First observed
update_collection - First observed
update_document
TDQS
Scored across 37 tools
Most tools have distinct purposes, but some overlap exists. For example, 'search_documents' and 'find_related' both involve document discovery, though 'find_related' is semantic. 'archive_document' and 'delete_document' (with permanent=false) both involve removal, but descriptions clarify differences. Overall, descriptions help, but a few tools could be confused without careful reading.
Tool names follow a highly consistent verb_noun pattern throughout, such as 'create_document', 'list_collections', 'update_document', and 'delete_collection'. All tools use snake_case, and verbs are predictable (e.g., add, archive, ask, batch, create, delete, export, get, list, move, restore, search, sync, unarchive, update). No deviations or mixed conventions are present.
With 37 tools, the count is borderline high for a wiki server, feeling heavy compared to typical well-scoped sets of 3-15 tools. While the tools cover extensive operations, it may overwhelm agents. However, given the domain's complexity, it's not extreme, but leans toward too many for optimal coherence.
The tool set provides complete CRUD/lifecycle coverage for documents and collections, including creation, reading, updating, deletion, archiving, restoration, and export. It also includes advanced features like AI-powered search, summarization, diagram generation, and batch operations. No obvious gaps exist; agents can handle all core wiki workflows without dead ends.
Maintenance
Related MCP Connectors
Ingest, manage, and retrieve documents for RAG-powered AI applications
- KumbukaOAuthai.kumbuka
Governed, auditable knowledge your team curates for its AI assistants, self-hostable
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Personal wiki and memory layer for AI assistants. Persistent, structured memory across sessions.
Related MCP Servers
- FlicenseCqualityNot gradedmaintenanceEnables LLMs to interact with Outline wiki for document management, search, collections, and comments, with optional AI-powered features including RAG-based Q\&A and content summarization.37455 npm-
- FlicenseBqualityDmaintenanceEnables Claude Code to search and retrieve documents from an Outline knowledge base.2-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to manage documents and collections in Outline wiki through natural language commands.1-
- AlicenseNot gradedqualityDmaintenanceConnects MCP clients to Outline workspaces, enabling agents to safely read, update, and manage documentation through structured tools.7 npm2MIT