Skip to main content
Glama
huiseo

Outline Wiki MCP Server

by huiseo

Outline Wiki MCP Server

npm version License: MIT

English | 한국어 | 日本語 | 中文

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_wiki

Ask questions in natural language, get answers based on your wiki content (RAG)

find_related

Find semantically similar documents, not just keyword matches

summarize_document

Generate summaries of long documents

suggest_tags

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 language

Related MCP server: mcp-outline

Supported Clients

Client

Tools

Resources

Prompts

Claude Desktop

Claude Code

VS Code GitHub Copilot

Cursor

-

Windsurf

-

-

ChatGPT Desktop

-

-

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

  1. Log in to your Outline instance

  2. Go to SettingsAPI

  3. Click Create API Key

  4. Copy the generated token (starts with ol_api_)

Installation

Add to your Claude Desktop configuration:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.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-mcp

Or 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.json file is ignored for MCP servers. Use ~/.claude.json or .mcp.json instead.

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 SettingsMCP Servers with:

  • Command: npx

  • Arguments: -y outline-smart-mcp

  • Environment variables as shown above

Configuration

Environment Variables

Variable

Description

Required

Default

OUTLINE_URL

Your Outline instance URL

Yes

https://app.getoutline.com

OUTLINE_API_TOKEN

Your Outline API token

Yes

-

READ_ONLY

Enable read-only mode

No

false

DISABLE_DELETE

Disable delete operations

No

false

MAX_RETRIES

API retry attempts

No

3

RETRY_DELAY_MS

Retry delay (ms)

No

1000

ENABLE_SMART_FEATURES

Enable AI features

No

false

OPENAI_API_KEY

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

Search documents by keyword with pagination

get_document_id_from_title

Find document ID by title

list_collections

Get all collections

get_collection_structure

Get document hierarchy in a collection

list_recent_documents

Get recently modified documents

Document Operations

Tool

Description

get_document

Get full document content by ID

export_document

Export document in Markdown

create_document

Create a new document

update_document

Update document (supports append)

move_document

Move document to another location

Document Lifecycle

Tool

Description

archive_document

Archive a document

unarchive_document

Restore archived document

delete_document

Delete document (soft/permanent)

restore_document

Restore from trash

list_archived_documents

List archived documents

list_trash

List trashed documents

Comments & Collaboration

Tool

Description

add_comment

Add comment (supports replies)

list_document_comments

Get document comments

get_comment

Get specific comment

get_document_backlinks

Find linking documents

Collection Management

Tool

Description

create_collection

Create collection

update_collection

Update collection

delete_collection

Delete collection

export_collection

Export collection

export_all_collections

Export all collections

Batch Operations

Tool

Description

batch_create_documents

Create multiple documents

batch_update_documents

Update multiple documents

batch_move_documents

Move multiple documents

batch_archive_documents

Archive multiple documents

batch_delete_documents

Delete multiple documents

Smart Features (AI-Powered)

Requires ENABLE_SMART_FEATURES=true and OPENAI_API_KEY.

Tool

Description

smart_status

Check status and indexed count

sync_knowledge

Sync docs to vector database

ask_wiki

RAG-based Q&A on wiki content

summarize_document

Generate AI summary

suggest_tags

AI-suggested tags

find_related

Find semantically related docs

generate_diagram

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=true

Restricts to read operations only: search, get, export, list operations, and all smart features.

Disable Delete

DISABLE_DELETE=true

Blocks: 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 typecheck

License

MIT License - see LICENSE for details.

Available Tools

37 tools
add_commentC

Add a comment to a document. Supports replies.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdYes
textYes
parentCommentIdNo

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdYes

TDQS

D1.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden 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.

Conciseness5/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose2/5

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.

Usage Guidelines1/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdsYes

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentsYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. '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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. 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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdsYes
permanentNo

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate 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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdsYes
collectionIdNo
parentDocumentIdNo

TDQS

C2.6/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate 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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
updatesYes

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate 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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionNo
colorNo

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
textNo
collectionIdYes
parentDocumentIdNo
publishNo

TDQS

D1.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose2/5

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.

Usage Guidelines1/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionIdYes

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdYes
permanentNo

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNooutline-markdown

TDQS

C2.7/5.0
Behavior1/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionIdYes
formatNooutline-markdown

TDQS

C2.4/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate 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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdYes

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionIdYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentIdYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdYes

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. 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.

Purpose4/5

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.

Usage Guidelines2/5

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_id_from_titleC

Find document ID by title.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
collectionIdNo

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdYes
limitNo
offsetNo

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate 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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdYes
collectionIdNo
parentDocumentIdNo

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate 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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdYes

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
collectionIdNo
limitNo
offsetNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdYes
languageNo

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate 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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionIdNo

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdYes

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionIdYes
nameNo
descriptionNo
colorNo

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdYes
titleNo
textNo
appendNo

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 37 tool updates
    • First observedadd_comment
    • First observedarchive_document
    • First observedask_wiki
    • First observedbatch_archive_documents
    • First observedbatch_create_documents
    • First observedbatch_delete_documents
    • First observedbatch_move_documents
    • First observedbatch_update_documents
    • First observedcreate_collection
    • First observedcreate_document
    • First observeddelete_collection
    • First observeddelete_document
    • First observedexport_all_collections
    • First observedexport_collection
    • First observedexport_document
    • First observedfind_related
    • First observedgenerate_diagram
    • First observedget_collection_structure
    • First observedget_comment
    • First observedget_document
    • First observedget_document_backlinks
    • First observedget_document_id_from_title
    • First observedlist_archived_documents
    • First observedlist_collections
    • First observedlist_document_comments
    • First observedlist_recent_documents
    • First observedlist_trash
    • First observedmove_document
    • First observedrestore_document
    • First observedsearch_documents
    • First observedsmart_status
    • First observedsuggest_tags
    • First observedsummarize_document
    • First observedsync_knowledge
    • First observedunarchive_document
    • First observedupdate_collection
    • First observedupdate_document

TDQS

B3.2/5.0

Scored across 37 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness5/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers