Skip to main content
Glama

Server Details

AI-first file sharing and collaboration. 251 tools give agents a full workspace: file storage, branded shares, comments, workflows, and built-in RAG. 50GB free, no credit card.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsB

Average 3.7/5 across 25 of 25 tools scored. Lowest: 2.1/5.

Server CoherenceA
Disambiguation2/5

Significant overlap exists between app-* tools (e.g., app-comments, app-file-picker) and their core counterparts (comment, storage, upload, approval). An agent could struggle to decide whether to use the widget or the direct action tool. Additionally, the 'ai' tool is broad and could be confused with other intelligence-related features.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern (e.g., app-comments, app-file-picker). Even single-word names like 'ai' and 'auth' fit the pattern well, and there is no mixing of conventions like camelCase or PascalCase.

Tool Count4/5

25 tools is a high count but appropriate given the extensive scope of the platform covering authentication, organizations, workspaces, shares, storage, comments, approvals, tasks, todos, uploads, and more. Each tool has a defined purpose, though some could be consolidated.

Completeness4/5

The tool set covers most major operations for a collaboration and file management platform, including CRUD for core resources, file operations, comments, workflows, and activity logs. Minor gaps exist, such as absence of direct messaging or advanced notification controls, but these are not critical for the stated domain.

Available Tools

25 tools
aiA
Destructive
Inspect

AI RAG chat, document analysis, shareable summaries on workspaces and shares. Call action='describe' for the full action/param reference. Destructive: chat-delete. Side effects: chat-create/message-send consume credits; chat-cancel terminates an in-progress message (partial tokens billed; idempotent). Verbosity (detail param): chat-list/message-list default to terse (compact rows). chat-details/message-details default to full (drill-down). Pass an explicit detail='standard'|'full' to override.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew chat name (max 100 chars).
typeNo'chat' for general or 'chat_with_files' for file-grounded.
filesNoFile opaque IDs (max 25, share share-generate).
limitNoResults per page (1-500, default 100).
actionYesOperation. Use 'describe' for full action reference.
detailNoPer-entity verbosity for chat-list/chat-details/message-list/message-details. Defaults: terse for list-style (chat-list, message-list), full for details (chat-details, message-details). See action='describe' for per-level field lists.
offsetNoPagination offset (default 0).
chat_idNoAI chat ID.
contextNoOptional user hint to guide AI generation.
privacyNoChat privacy (default: public).
node_idsNoFile node IDs (max 25, workspace share-generate).
context_idNoAlias for profile_id (either name works)
message_idNoAI message ID.
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit workspace or share ID.
query_textNoQuestion or prompt (max 12,768 chars).
files_scopeNoScope RAG to file versions. See describe for full constraints.
personalityNo"concise" or "detailed" (default).
context_typeNoAlias for profile_type (either name works)
files_attachNoAttach files for direct AI analysis. See describe for limits.
profile_typeNoProfile type: "workspace" or "share".
folders_scopeNoScope RAG to folders via BFS. See describe for full constraints.
include_deletedNoIf true, list deleted chats (share only).
Behavior4/5

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

The description adds behavioral context beyond annotations by specifying credit consumption, idempotent cancellation, and per-action destructiveness. Annotations only indicate possible destructive behavior; description clarifies which action is destructive.

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

Conciseness4/5

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

The description is dense but well-structured, front-loading purpose and key guidance. It efficiently covers scope, instructions, destructive actions, side effects, and verbosity. Some details could be delegated to 'describe' reference, but overall it earns its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (22 parameters, 15 actions, no output schema), the description provides high-level guidance and points to 'describe' for details. It covers side effects and defaults but does not explain output formats. It is reasonably complete for the context.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds value by recommending 'describe' for action and explaining verbosity defaults based on action type, providing context not in schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's domain: 'AI RAG chat, document analysis, shareable summaries on workspaces and shares.' It distinguishes itself from sibling tools (e.g., app-comments, app-file-picker) by focusing on AI operations. The use of 'action' parameter for sub-tasks is highlighted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises calling action='describe' for full reference and explains side effects for credit-consuming actions and idempotency for chat-cancel. It also notes verbosity defaults. However, it does not explicitly state when to use this tool over alternatives.

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

app-commentsCommentsC
Read-onlyIdempotent
Inspect

Launch the Comments MCP App widget. Threaded comment panel — view, add, and delete comments with reply threading, emoji reactions (add/remove), comment anchors for image/video/audio/PDF, and chronological activity feed. Supports workspace and share contexts.

Params: profile_type (workspace or share), profile_id (19-digit ID), node_id (optional): Storage node opaque ID to show file-level comments (omit for workspace/share-level), file_name (optional): File name for display in the header

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idNoStorage node opaque ID to show file-level comments (omit for workspace/share-level)
file_nameNoFile name for display in the header
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID.
context_typeNoAlias for profile_type (either name works)
profile_typeNoProfile type.
Behavior1/5

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

The description states the tool can 'add and delete comments', implying mutations, while annotations set readOnlyHint to true. This is a direct contradiction. No additional behavioral details beyond the annotated hints are provided to resolve this inconsistency.

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

Conciseness4/5

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

The description is structurally clear, with a feature list and separate parameter section. While somewhat verbose, it efficiently conveys the tool's capabilities and key details without significant 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?

The description lacks information about the tool's return value or output behavior (no output schema defined). Combined with the readOnlyHint contradiction, the description is incomplete for understanding the tool's full behavior, especially for a widget-launching tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the description adds minimal value beyond the schema. It repeats parameter descriptions already present, such as for node_id and file_name. No further semantic enrichment is provided.

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 launches a Comments MCP App widget and lists its capabilities (view, add, delete, threading, reactions, etc.). However, it does not explicitly distinguish itself from the sibling 'comment' tool, which could indicate a simpler comment operation.

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 mentions supported contexts (workspace, share) and optional parameters, but lacks explicit guidance on when to use this tool over alternatives like 'comment'. The usage context is implied but not contrasted.

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

app-file-pickerFile PickerB
Read-onlyIdempotent
Inspect

Launch the File Picker MCP App widget. Browse and pick files to attach to your conversation — navigate folders, search files, preview content, and select files to share with the agent. Also supports file management: upload/download, move/copy/delete, rename. Works with both workspace and share contexts, grid and list views, multi-select, and responsive layout.

Params: profile_type (workspace or share), profile_id (19-digit ID)

ParametersJSON Schema
NameRequiredDescriptionDefault
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID.
context_typeNoAlias for profile_type (either name works)
profile_typeNoProfile type.
Behavior1/5

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

The description claims the tool supports write operations (upload, delete, rename) while the annotations have readOnlyHint=true, creating a contradiction. Additionally, it lacks disclosure of behavioral traits beyond the contradictory annotations.

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

Conciseness4/5

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

The description front-loads the main purpose in the first sentence, but the second sentence is lengthy and covers many features, slightly reducing 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?

The tool is complex with many operations and no output schema, yet the description does not explain what the tool returns (e.g., selected file identifiers). It also conflates multiple file management actions without clarifying their boundaries.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains the parameters. The description only restates profile_type and profile_id without adding new semantic meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool launches a File Picker widget for browsing, picking, and managing files, distinguishing it from siblings like app-file-viewer (view only) and app-uploader (upload only).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies when to use the tool (to browse, pick, and manage files) but does not explicitly state when not to use it or list alternatives among siblings, though the context is clear.

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

app-file-viewerFile ViewerA
Read-onlyIdempotent
Inspect

Launch the File Viewer MCP App widget. Unified file preview and information — multi-format preview (image zoom/pan, PDF viewer, HLS video, audio waveform, spreadsheets, code, documents) with slide-out info panel showing file details, version history with restore, AI summary, and linked metadata. Always dark mode preview with keyboard navigation.

Params: profile_type (workspace or share), profile_id (19-digit ID), node_id: Storage node opaque ID of the file to view, file_name (optional): File name for display, mime_type (optional): MIME type for renderer selection

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYesStorage node opaque ID of the file to view
file_nameNoFile name for display
mime_typeNoMIME type for renderer selection
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID.
context_typeNoAlias for profile_type (either name works)
profile_typeNoProfile type.
Behavior4/5

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

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds valuable behavioral context: always dark mode, keyboard navigation, slide-out info panel with version history and AI summary. This supplements the annotations without contradiction.

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

Conciseness4/5

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

The description is concise (4-5 lines) and front-loaded with the core purpose. It efficiently lists features and parameters without unnecessary elaboration. Minor improvement: could use bullet points for better scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multi-format preview, version history, AI summary) and lack of output schema, the description covers key features adequately. However, it omits error behavior (e.g., what happens on invalid node_id) and return value specifics (e.g., does it return a URL or embed the viewer?).

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 coverage is 100%, so the description adds marginal value beyond the schema. It lists parameters in a readable format and clarifies some details (e.g., '19-digit ID' for profile_id, 'Storage node opaque ID' for node_id). However, this information is already present in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/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: 'Launch the File Viewer MCP App widget' and details its multi-format preview capabilities. It distinctly positions itself as a unified file preview tool, differentiating from siblings like app-file-picker (selection) and download (raw retrieval).

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 implicitly conveys usage for previewing files, but lacks explicit guidance on when to use this tool versus alternatives (e.g., when to use app-file-viewer vs. download or app-comments). No when-not-to-use or prerequisites are mentioned.

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

approvalA
Destructive
Inspect

Approval workflow: list, create, resolve (approve/reject), update, delete on workspaces/shares. Call action='describe' for the full action/param reference. Destructive: delete, bulk-delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoItems to return (1-200, default 50).
actionYesOperation. Use 'describe' for full action reference.
filterNoFilter type for filtered-list.
formatNoResponse format: "json" (default) or "md".
offsetNoPagination offset (default 0).
statusNoFilter by status.
commentNoComment for resolution (max 5000 chars).
node_idNoStorage tree node opaque ID. Both files and folders are nodes — use this name regardless of which. Artifact reference node ID.
deadlineNoDeadline in `YYYY-MM-DD HH:MM:SS` format (NOT ISO-8601 with T/Z).
entity_idNoOpaque ID of a specific object (file, comment, worklog entry, etc.). Pair with entity_type to disambiguate. Entity opaque ID, or share profile ID when entity_type is share.
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID (workspace or share).
propertiesNoFree-form metadata properties. Accepts either a native JSON object or a pre-stringified JSON string; published as `type: string` for strict-schema clients (ChatGPT Apps SDK / Gemini API).
approval_idNoApproval opaque ID.
approver_idNoProfile ID of designated approver. Omit so any admin can resolve.
descriptionNoApproval request description (1-65535 chars).
entity_typeNoEntity type for the approval.
context_typeNoAlias for profile_type (either name works)
profile_typeNoProfile type: "workspace" or "share".
display_limitNoHow many items to return. Default 10, max 200. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list.
resolve_actionNoResolution: "approve" or "reject".
Behavior4/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false. Description adds specifics: 'Destructive: delete, bulk-delete' and directs to the 'describe' action for full parameter reference, providing additional behavioral context beyond annotations.

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

Conciseness4/5

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

Two concise sentences covering purpose, actions, scope, and destructive behavior. Efficient and front-loaded, though the instruction to call 'describe' could be integrated more naturally.

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?

Despite high parameter count (21) and complexity, description only provides high-level actions and delegates to the 'describe' action. Without calling that first, the description is insufficient for full tool usage. No explanation of action semantics or prerequisites.

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 coverage is 100%, so baseline is 3. Description does not add meaning to individual parameters beyond what schema provides. The meta-instruction to use 'describe' action is helpful but not parameter-level semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it's an 'Approval workflow' with a list of actions (list, create, resolve, update, delete) and scope (workspaces/shares). Differentiates from sibling tools like task or comment by focusing on approval-specific operations.

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 or when not to use it. Mentions calling action='describe' for reference, but does not provide context or exclusions for different use cases.

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

appsA
Read-onlyIdempotent
Inspect

MCP Apps — list/launch interactive UI widgets (file browser, workspace dashboards, uploads). Call action='describe' for the full action/param reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesOperation. Use 'describe' for full action reference.
app_idNoApp identifier.
tool_nameNoMCP tool name to find apps for.
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID.
context_typeNoAlias for profile_type (either name works)
extra_paramsNoAdditional launch parameters as a JSON object. Accepts either a native object or a JSON string; published as `type: string` for strict-schema clients (ChatGPT Apps SDK / Gemini API).
profile_typeNoProfile type.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds that it handles UI widgets and suggests 'describe' for details, no contradiction. Slight value beyond 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?

Two sentences, immediately clear and efficient. Every sentence adds value: defines purpose and provides actionable guidance.

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?

With 8 parameters and 5 actions, the description is too minimal. It lacks explanation of which action to use when, parameter roles (like app_id, tool_name, context_id), and return behavior. The 'describe' suggestion helps but insufficient for a complex tool.

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 coverage is 100%, so baseline 3. Description does not add parameter-specific meaning; it only references the 'describe' action for full reference. No extra value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists and launches interactive UI widgets (file browser, etc.), distinguishing it from sibling tools that are more app-specific. It also instructs to use action='describe' for full reference.

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 use for launching UI widgets but does not explicitly contrast with sibling tools like app-comments, app-file-picker, etc. No when-not or alternative guidance.

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

app-uploaderUpload FilesC
Read-onlyIdempotent
Inspect

Launch the Upload Files MCP App widget. Upload files to a workspace or share with drag-and-drop support and progress tracking. Supports chunked uploads and web URL imports with real-time progress indicators.

Params: profile_type (workspace or share), profile_id (19-digit ID)

ParametersJSON Schema
NameRequiredDescriptionDefault
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID.
context_typeNoAlias for profile_type (either name works)
profile_typeNoProfile type.
Behavior1/5

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

The description claims the tool performs file uploads (mutation), but annotations indicate readOnlyHint: true and destructiveHint: false, implying no side effects. This is a clear contradiction, scoring 1 per rubric.

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

Conciseness3/5

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

The description is relatively concise but the opening phrase 'Launch the Upload Files MCP App widget' is unclear and wastes the front-load. The content is brief but lacks clarity, reducing effectiveness.

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?

The description does not explain the outcome of calling the tool (e.g., UI widget launched, files uploaded, return value). It mentions features like chunked uploads and progress tracking but lacks completeness given the contradictory annotations and absence of output schema.

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 coverage is 100%, so baseline is 3. The description restates two parameters (profile_type, profile_id) but does not clarify the alias parameters (context_id, context_type) or when to use them, adding minimal value beyond the schema.

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 is ambiguous: it says 'Launch the Upload Files MCP App widget' which suggests opening a UI, but then says 'Upload files to a workspace or share' which implies actual file transfer. It does not clearly state the tool's primary action, especially when compared to siblings like 'upload' or 'app-file-picker'.

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 instead of siblings like 'upload' or 'app-file-picker'. The description lists parameters but does not provide context for selection or exclusion criteria.

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

app-workflowWorkflow ManagerB
Read-onlyIdempotent
Inspect

Launch the Workflow Manager MCP App widget. Unified workflow management interface — Kanban task board with drag-and-drop status changes, task detail editing with inline fields, approvals panel with create/resolve actions, todo checklist with inline add and bulk toggle, and worklog timeline with interjection highlighting and acknowledge buttons. Supports both workspace and share contexts with responsive layout.

Params: profile_type (workspace or share), profile_id (19-digit ID)

ParametersJSON Schema
NameRequiredDescriptionDefault
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID.
context_typeNoAlias for profile_type (either name works)
profile_typeNoProfile type.
Behavior2/5

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

Annotations declare readOnlyHint=true, yet the description mentions 'create/resolve actions' and 'inline add and bulk toggle' which imply writes, creating a contradiction. Beyond annotations, the description does not clarify behavior (e.g., opens UI widget, no side effects). No explicit statement about safety or idempotency.

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

Conciseness4/5

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

The description is moderately sized, front-loaded with purpose, and each sentence adds information. It could be slightly more concise but avoids verbosity.

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 complexity (multiple features) and lack of output schema, the description adequately enumerates widget capabilities. However, it fails to explain what the tool returns or any side effects, and behavioral concerns are unaddressed. Annotations compensate partially but not fully.

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 covers all 4 parameters with descriptions (100% coverage). The description adds aliases (context_id, context_type) and clarifies the 19-digit ID format, providing marginal extra value beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it launches the Workflow Manager MCP App widget and details its unified interface features (Kanban, approvals, todo, worklog). It distinguishes from sibling tools by specifying a comprehensive workflow management scope, which no sibling explicitly covers.

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 mentions support for workspace and share contexts via profile_type and profile_id, and provides aliases. However, it lacks explicit guidance on when to use this tool versus alternatives like task, todo, or worklog, nor does it state when not to use it.

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

app-workspace-pickerWorkspace PickerA
Read-onlyIdempotent
Inspect

Launch the Workspace Picker MCP App widget. Workspace and share management — select organizations, workspaces, and shares with search and filtering. Create new workspaces with 4-step wizard (org, name, settings, review) and new shares with 5-step wizard (type, name, settings, branding, review). Supports real-time name availability checks.

Params: profile_type (workspace or share), profile_id (19-digit ID)

ParametersJSON Schema
NameRequiredDescriptionDefault
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID.
context_typeNoAlias for profile_type (either name works)
profile_typeNoProfile type.
Behavior3/5

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

Annotations indicate readOnlyHint=true, but the description mentions creating workspaces and shares via wizards. This could be confusing; however, the tool is just a launcher and the mutations occur within the widget. The description adds context about wizard steps and real-time checks, but doesn't explicitly clarify that the tool itself does not perform mutations.

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

Conciseness4/5

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

The description is concise with two paragraphs and a parameter line. It front-loads the main action and is efficient, though the parameter list could be better integrated.

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?

The description covers the tool's core functionality (launching a picker with search/filter and creation wizards), but does not specify return behavior or what the agent receives upon invocation. Given no output schema, this is a gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description mentions 'profile_type (workspace or share)' and 'profile_id (19-digit ID)', which repeats schema info. It adds no significant new meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool launches a 'Workspace Picker' widget for managing workspaces and shares, with specific functionalities like selection, search, filtering, and creation wizards. It distinguishes itself from sibling tools like 'workspace' and 'share' which are likely CRUD operations, by being a UI launcher.

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 does not provide explicit guidelines on when to use this tool versus alternatives like direct CRUD tools for workspaces or shares. It implies usage for selection and creation via a UI, but lacks when-not or alternative references.

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

assetA
Destructive
Inspect

Brand asset management (logos, banners, profile photos) on org/workspace/share/user. Upload, delete, list, read. Call action='describe' for the full action/param reference. Destructive: delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesOperation. Use 'describe' for full action reference.
contentNoPlain text content (e.g. SVG).
asset_idNoAsset ID or name.
metadataNoAdditional metadata as JSON array string.
entity_idNoOpaque ID of a specific object (file, comment, worklog entry, etc.). Pair with entity_type to disambiguate. Entity ID (optional for user).
file_nameNoOriginal file name.
asset_typeNoAsset type key (e.g. 'logo', 'banner', 'photo').
entity_typeNoEntity type.
file_base64NoBase64-encoded binary content.
content_typeNoMIME type (default application/octet-stream).
Behavior3/5

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

The description mentions that delete is destructive, which aligns with the destructiveHint=true annotation. However, it does not elaborate on other behavioral traits such as authorization requirements, idempotency, or side effects beyond deletion. The annotation already signals destructiveness, so the description adds minimal additional context.

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

Conciseness4/5

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

The description is concise (two sentences) and front-loaded with the core purpose. The mention of 'Destructive: delete' is slightly redundant given the annotation, but does not detract significantly. It could be slightly more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 parameters, no output schema) and the presence of many sibling tools, the description is adequate. It covers the main operations and directs the agent to use 'describe' for full details. However, it lacks information about return values or error scenarios, which may necessitate the agent calling describe first.

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 coverage is 100%, so the baseline is 3. The description adds the suggestion to use action='describe' for a full reference, but does not elaborate on individual parameters beyond what the schema provides. No additional semantic value is given.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool manages brand assets (logos, banners, profile photos) on specific entities, and lists the major operations (upload, delete, list, read). This distinguishes it from sibling tools like generic upload/download or app-uploader, which likely handle non-brand assets.

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?

While the description implies usage for brand assets, it does not provide explicit guidance on when to use this tool versus alternatives like 'upload' or 'download'. No exclusions or alternative tool mentions are given, leaving the agent to infer context.

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

authB
Destructive
Inspect

Auth & sessions: signin, signup, signout, 2FA, PKCE, API keys, OAuth sessions. Call action='describe' for the full action/param reference. Destructive: api-key-delete, oauth-revoke, oauth-revoke-all.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoVerification or authorization code.
nameNoAPI key label.
emailNoEmail address.
tokenNo2FA token or verification token.
actionYesOperation. Use 'describe' for full action reference.
key_idNoAPI key identifier.
scopesNoScope strings, e.g. ['org:123:rw']. Omit for full access.
api_keyNoFast.io API key.
channelNo2FA channel.
expiresNoToken lifetime in seconds.
passwordNoAccount password.
last_nameNoFamily name.
password1NoNew password.
password2NoNew password confirmation.
agent_nameNoAgent name for approval screen and audit logs.
first_nameNoGiven name.
scope_typeNoPKCE scope type. Default 'user' (full access).
session_idNoOAuth session identifier.
email_tokenNoEmail verification code.
key_expiresNoISO 8601 expiration datetime.
exclude_currentNoSkip current session in revoke-all.
current_session_idNoCurrent session ID for exclusion.
Behavior4/5

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

The description explicitly names destructive actions (api-key-delete, oauth-revoke, oauth-revoke-all), adding value beyond the destructiveHint annotation. It also highlights the tool's scope but omits other behavioral traits like rate limits or request/response patterns.

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

Conciseness4/5

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

The description is relatively concise with three sentences covering scope, guidance, and destructive actions. It is front-loaded with key info, though the first sentence could be more streamlined.

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 complexity (22 parameters, many sub-actions) and no output schema, the description leaves gaps—it does not explain return values or common usage patterns. However, it directs to 'describe' for details, which mitigates incompleteness.

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 100% coverage with descriptions for all 22 parameters. The description does not add additional parameter-level meaning beyond what the schema provides, matching the baseline.

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 defines the tool as handling auth and sessions, listing major features like signin, signup, 2FA, etc. However, it is a broad list rather than a concise verb+resource, slightly reducing 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 only usage guidance is to call action='describe' for full reference. There is no explicit advice on when to use this tool over others (though no alternative auth tools exist) and no conditions or prerequisites for actions.

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

commentA
Destructive
Inspect

Comments on files: add/list/delete/react, anchor to image regions, A/V timestamps, PDF pages, or text selections, link to tasks/approvals. Call action='describe' for the full action/param reference. Destructive: delete, bulk-delete. Verbosity (detail param): list/list-all/linked default to terse (compact rows). details defaults to full (drill-down). Pass an explicit detail='standard'|'full' to override.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort: 'created' or '-created' (default newest first).
textNoComment body (max 8192 chars; max 500 display chars with mention tags stripped). Supports @[profile|user|file:...] mentions.
emojiNoSingle emoji character.
limitNoPage size 2-200.
actionYesOperation. Use 'describe' for full action reference.
detailNoPer-comment verbosity for list/list-all/details/linked. Defaults: terse for list/list-all/linked (compact rows), full for details (drill-down). See action='describe' for per-level field lists.
offsetNoOffset for pagination.
node_idNoStorage tree node opaque ID. Both files and folders are nodes — use this name regardless of which.
referenceNoAnchor: image region, A/V timestamp, PDF page, or text selection.
comment_idNoComment opaque ID.
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID.
comment_idsNoArray of comment opaque IDs.
context_typeNoAlias for profile_type (either name works)
profile_typeNoProfile type.
display_limitNoNumber of comments to return to the agent (default 10, max 200). Backend page_size unchanged for cache warmth — applies to list-all (JSON only). Trims post-fetch only.
include_totalNoInclude total count in response.
reference_typeNoFilter by anchor type.
include_deletedNoInclude soft-deleted.
linked_entity_idNoTask or approval opaque ID.
parent_comment_idNoParent comment ID for reply (single-level threading).
linked_entity_typeNoWorkflow entity type.
Behavior5/5

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

The description adds significant behavioral context beyond annotations. It confirms which actions are destructive (delete, bulk-delete), explains verbosity defaults ('list/list-all/linked default to terse, details defaults to full'), mentions character limits and mention syntax, describes anchoring capabilities (image regions, timestamps, PDF pages), and notes single-level threading. No contradiction with annotations (readOnlyHint=false, destructiveHint=true).

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

Conciseness4/5

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

The description is front-loaded with core capabilities and uses multiple short sentences to convey complex information. It is efficiently structured given the tool's complexity (22 parameters, 11 actions). However, it could be slightly more concise by grouping related details, and it's not minimal—but appropriate for the scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's high complexity (many actions, parameters, nested objects), the description covers essential behaviors: destructive actions, verbosity defaults, anchoring, linking, and character limits. It directs users to 'describe' for full reference, compensating for lack of output schema. Some details (e.g., context vs profile IDs) rely on schema, but overall it's very complete.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the 'detail' parameter defaults ('terse for list/list-all/linked, full for details') and noting aliases (context_id for profile_id). It also mentions the 'describe' action for full param reference. While schema descriptions already cover most fields, the description's contextual notes enhance understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/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: 'Comments on files: add/list/delete/react, anchor to image regions, A/V timestamps, PDF pages, or text selections, link to tasks/approvals.' It specifies the verb (comment) and resource (files) and enumerates supported actions, making it highly specific and unambiguous. While not explicitly differentiating from siblings like 'app-comments', the scope is well-defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage guidance: it advises to 'Call action='describe' for the full action/param reference' and explicitly flags destructive operations ('Destructive: delete, bulk-delete'). It also explains verbosity defaults for different detail levels. However, it does not directly compare to sibling tools or specify when not to use this tool, which prevents a perfect score.

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

downloadA
Read-onlyIdempotent
Inspect

Download URLs for files (file-url), folder ZIPs (zip-url), and quickshare links (quickshare-details). Consumes bandwidth credits. Call action='describe' for the full action/param reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesOperation. Use 'describe' for full action reference.
node_idNoStorage tree node opaque ID. Both files and folders are nodes — use this name regardless of which.
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID or custom name.
version_idNoSpecific file version ID.
context_typeNoAlias for profile_type (either name works)
profile_typeNoProfile type.
quickshare_idNoQuickshare opaque identifier.
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds that it consumes bandwidth credits, which is a behavioral trait not captured by annotations. It also clarifies that the tool returns URLs (indirect downloads) rather than file data directly. No contradictions with 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 two sentences: the first explains the three action modes, the second notes bandwidth cost and a discoverability hint. Every sentence is informative and there is no redundancy or fluff. Perfectly front-loaded.

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 8 parameters, no output schema, and annotations present, the description covers core functionality but omits details like URL expiry, authentication requirements, or whether repeated calls are needed. It is adequate but not comprehensive for a complex tool with multiple parameters.

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 coverage is 100% with each parameter having a description. The description does not add meaning beyond the schema; it merely lists action options and mentions the 'describe' action. The baseline for high schema coverage is 3, and the description does not elevate it further.

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 it provides download URLs for three resource types (files, folder ZIPs, quickshare links). The verb 'Download URLs' is specific to the resource. However, it does not differentiate from sibling tools like app-file-viewer or storage that may also handle file retrieval, but the action enum explicitly defines the scope.

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 only guidance is 'Consumes bandwidth credits' implying cost, and a reference to use action='describe' for full reference. There is no explicit statement of when to use this tool vs. alternatives, such as using app-file-viewer for preview instead of download.

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

eventA
Read-onlyIdempotent
Inspect

Event log and activity monitoring for workspaces and shares. Call action='describe' for the full action/param reference. Verbosity (detail param): search/activity-list/activity-poll default to terse (compact rows). summarize defaults to standard (envelope around the AI summary). details defaults to full (drill-down). Pass an explicit detail='terse'|'standard'|'full' to override.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoMax seconds server holds connection (1-95, default 95).
eventNoExact event name. See describe action for catalog.
limitNoMax results (1-250, default 100).
actionYesOperation. Use 'describe' for full action reference.
cursorNoLast activity timestamp for incremental polling.
detailNoPer-record verbosity for search/summarize/details/activity-list/activity-poll. Defaults: terse for search/activity-list/activity-poll (compact rows), standard for summarize, full for details (drill-down). See action='describe' for per-level field lists.
offsetNoPagination offset.
org_idNoFilter by organization profile ID.
user_idNoFilter by user profile ID.
categoryNoEvent category. See describe action for valid values.
event_idNoAlphanumeric event opaque ID.
share_idNoFilter by share profile ID.
entity_idNoOpaque ID of a specific object (file, comment, worklog entry, etc.). Pair with entity_type to disambiguate. 19-digit workspace or share ID to monitor.
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID (workspace or share).
created_maxNoISO 8601 datetime — events on or before.
created_minNoISO 8601 datetime — events on or after.
subcategoryNoEvent subcategory. See describe action for valid values.
context_typeNoAlias for profile_type (either name works)
lastactivityNoTimestamp from prior poll's response. Omit on first call.
profile_typeNoProfile type: "workspace" or "share".
user_contextNoFocus guidance for AI summary, e.g. "Focus on uploads".
workspace_idNoWorkspace opaque ID. Use this when only workspaces are valid (not shares or other contexts). For polymorphic contexts use profile_id. Filter by workspace profile ID.
Behavior4/5

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

Annotations confirm read-only, idempotent, non-destructive. Description adds detailed behavioral context: long-polling via wait parameter, incremental polling via cursor/lastactivity, and action-specific verbosity. No contradiction with annotations.

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

Conciseness4/5

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

Description is moderately long but structured: first sentence states purpose, then explains actions and verbosity. Information is front-loaded and relevant. Could trim some redundancy but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 23 parameters and no output schema, description covers core concepts (actions, verbosity, filtering, polling). Refers to describe action for full details. Lacks output structure but acceptable for monitoring tool.

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 covers 100% parameters with descriptions. Description adds practical context (e.g., 'use describe for catalog', verbosity defaults). Does not explain every parameter beyond schema, but baseline of 3 is appropriate given full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Event log and activity monitoring for workspaces and shares.' It identifies the resource (events/activity) and the nature (monitoring). Differentiates from siblings like 'comment', 'task', etc., which are specific record types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains different actions (describe, search, summarize, etc.) and their use. Provides verbosity defaults per action and recommends calling action='describe' for full reference. Lacks explicit when-not-to-use but gives sufficient context.

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

invitationB
Destructive
Inspect

Workspace/share invitations: list, filter by state, update, revoke. Call action='describe' for the full action/param reference. Destructive: delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoInvitation state filter.
actionYesOperation. Use 'describe' for full action reference.
expiresNoUpdated expiration (ISO 8601 or YYYY-MM-DD HH:MM:SS).
entity_idNoOpaque ID of a specific object (file, comment, worklog entry, etc.). Pair with entity_type to disambiguate. 19-digit ID or custom name.
new_stateNoNew invitation state.
entity_typeNoWorkspace or share.
permissionsNoUpdated permission level.
invitation_idNoInvitation opaque ID or invitee email.
notificationsNoNotification preference (workspace).
notify_optionsNoNotification preference (share).
Behavior3/5

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

Annotations already indicate destructiveHint=true. The description adds 'Destructive: delete,' which aligns with annotations but does not detail further behavioral traits like side effects of updates or revocations. With annotations covering the destructive nature, the description provides minimal additional 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, consisting of two short sentences. It front-loads the core purpose and operations, then adds a pointer to the 'describe' action and a note about destructiveness. No unnecessary words.

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?

Despite high parameter count and multiple actions, the description is minimal. It does not explain how parameters relate to actions, nor does it describe return values. The suggestion to use 'describe' acknowledges incompleteness, making the tool harder to use without extra steps.

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 coverage is 100%, so the input schema already fully documents all parameters. The description does not add any extra meaning or usage guidance for the parameters beyond what the schema provides, resulting in a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool manages 'Workspace/share invitations' and lists the operations: list, filter by state, update, revoke. This is specific about the verb and resource, and distinguishes it from sibling tools like 'share' and 'workspace' which handle different entities.

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 does not provide any guidance on when to use this tool versus alternative tools. It only suggests calling 'describe' for full action reference, but lacks explicit context for choosing between siblings or prerequisites.

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

memberA
Destructive
Inspect

Workspace/share member management: add, remove, update, transfer ownership, join, leave. Call action='describe' for the full action/param reference. Destructive: remove.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoShare permission level.
actionYesOperation. Use 'describe' for full action reference.
expiresNoExpiration: workspace ISO 8601, share YYYY-MM-DD HH:MM:SS.
messageNoInvitation email message (10-255 chars).
user_idNoUser profile ID (share).
entity_idNoOpaque ID of a specific object (file, comment, worklog entry, etc.). Pair with entity_type to disambiguate. 19-digit ID or custom name.
member_idNoMember ID (workspace).
expirationNoAlias for expires (share only).
entity_typeNoWorkspace or share.
permissionsNoWorkspace permission level.
notificationsNoNotification preference (workspace string).
invitation_keyNoInvitation key string.
notify_optionsNoNotification preference (share).
email_or_user_idNoEmail (to invite) or user ID (to add directly).
invitation_actionNoAccept or decline.
force_notificationNoForce notify existing user (workspace-only).
invitation_expiresNoInvitation expiration ISO 8601 (workspace-only).
Behavior3/5

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

Annotations already indicate destructiveHint=true. The description adds 'Destructive: remove', which aligns but does not disclose other behaviors like authentication or rate limits. No contradiction with annotations.

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

Conciseness4/5

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

Two sentences efficiently convey the tool's purpose and a key usage hint. Could benefit from minor structural improvements, but overall no wasted words.

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?

Despite high parameter count (17) and no output schema, the description only hints at using 'describe' for details. It omits return value expectations and error conditions, making it incomplete for a complex tool.

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 does not add meaning beyond the schema, which already covers all 17 parameters with 100% coverage. Baseline 3 is appropriate as the schema carries the full burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Workspace/share member management' and lists specific actions (add, remove, update, etc.), making the verb and resource explicit. It is distinct from sibling tools like 'auth' or 'comment' which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises calling action='describe' for full reference, guiding the agent to discover specific parameters. While it does not explicitly state when not to use this tool, the context of sibling tools (none are member-related) makes usage clear.

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

orgA
Destructive
Inspect

Organization management: CRUD, billing, members, invitations, ownership transfer, assets, discovery, custom domains, AI instructions. Call action='describe' for the full action/param reference. Destructive: close (permanently deletes org and all data). Verbosity (detail param): list/discover-*/members/list-workspaces default to terse (compact rows). details defaults to full (drill-down). Pass an explicit detail='standard'|'full' to override.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoDisplay name (3-100 chars).
roleNoPermission level: admin, member, guest, view (not 'owner').
emailNoEmail address of user to invite.
limitNoPage size.
meterNoMeter type, e.g. storage_bytes, transfer_bytes, ai_tokens.
scopeNoAI instructions scope: "profile" (default, owner/admin) or "me" (per-user).
stateNoInvitation state, e.g. pending, accepted.
tokenNoTransfer token for ownership claim.
actionYesOperation. Use 'describe' for full action reference.
detailNoPer-entity verbosity for list/discover-*/members/list-workspaces/details. Defaults: terse for list/discover-*/members/list-workspaces, full for details. See action='describe' for per-level field lists.
domainNoURL-safe subdomain (2-63 chars, lowercase, unique).
offsetNoPagination offset (0-based).
org_idNoOrganization 19-digit ID or domain string.
confirmNoConfirmation string, must match org domain or ID.
contentNoPlain text content. asset-upload: e.g. SVG body. instructions-set: markdown body (max 65536 bytes UTF-8).
expiresNoUpdated expiration datetime.
messageNoCustom invitation email message (10-255 chars).
user_idNoUser ID.
end_timeNoEnd datetime (default now).
hostnameNoCustom domain FQDN, e.g. files.acme.com.
industryNoIndustry type, e.g. technology, healthcare, financial.
metadataNoAdditional metadata as JSON array string.
share_idNoFilter by share ID.
token_idNoTransfer token ID.
file_nameNoOriginal file name, e.g. logo.png.
member_idNoUser ID or email of member.
perm_joinNoPermission level required to join workspace.
asset_nameNoAsset name, e.g. "logo", "banner".
start_timeNoStart datetime (default 30 days ago).
descriptionNoDescription (10-1000 chars).
domain_nameNoDomain to check for availability.
file_base64NoBase64 file content for binary assets.
folder_nameNoURL-safe workspace folder name (4-80 chars).
join_actionNoInvitation action: accept/decline.
permissionsNoUpdated permission level.
twitter_urlNoTwitter/X profile URL.
youtube_urlNoYouTube channel URL.
accent_colorNoBrand accent color as JSON.
billing_planNoPlan ID, e.g. 'agent', 'free', 'pro'.
content_typeNoMIME type, e.g. image/png. Defaults to application/octet-stream.
facebook_urlNoFacebook page URL.
homepage_urlNoOrganization website URL.
intelligenceNoEnable RAG indexing. COSTS 10 credits/page. Defaults "false". See describe.
workspace_idNoWorkspace opaque ID. Use this when only workspaces are valid (not shares or other contexts). For polymorphic contexts use profile_id. Filter by workspace ID.
billing_emailNoBilling contact email.
display_limitNoNumber of orgs to return to the agent (default 10, max 100). Backend page_size unchanged for cache warmth — applies to list. Trims post-fetch only.
instagram_urlNoInstagram profile URL.
invitation_idNoInvitation ID or invitee email.
owner_definedNoCustom owner-defined properties as JSON.
invitation_keyNoInvitation key from invite link.
use_backgroundNoEnable/disable background, "true"/"false".
background_modeNoBackground display mode, e.g. 'stretched', 'fixed'.
background_colorNoBackground color as JSON.
background_color1NoPrimary background color as JSON.
background_color2NoSecondary background color as JSON.
perm_member_manageNoWho can manage members, e.g. 'Owner only'.
perm_authorized_domainsNoAuthorized email domain for auto-join.
Behavior4/5

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

Annotations indicate destructiveHint=true and readOnlyHint=false. The description adds specific behavioral context: 'Destructive: close (permanently deletes org and all data)' and details on verbosity defaults for list/discover operations. This enriches the annotation data. It does not contradict annotations. However, it omits other behaviors like rate limits, idempotency, or authentication requirements, which would further improve transparency.

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

Conciseness3/5

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

The description is relatively concise but could be better structured. It front-loads the purpose quickly, then adds action reference, destructive note, and verbosity rules. However, the final sentence about verbosity is a bit clunky. The information is present but not organized in an easily scannable way.

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 complexity (57 parameters, 60+ actions), the description provides a reasonable overview and a pointer to 'describe' for full details. It also highlights key behavioral aspects. However, it lacks guidance on which actions are suitable for what scenarios (e.g., when to use 'list' vs 'discover-all'). The absence of output schema or return value description is compensated by the action-reference strategy, but the description still feels incomplete for effective first-time selection.

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 100% description coverage for all parameters, so the description does not need to add much per-parameter meaning. It does add value by explaining the verbosity defaults and highlighting the destructive nature of 'close', but these apply to multiple actions. The description does not elaborate on uncommon parameters, so it meets the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Organization management: CRUD, billing, members, invitations, ownership transfer, assets, discovery, custom domains, AI instructions.' It provides a specific verb (manage) and resource (organization), and the enumeration of sub-areas makes the tool's scope immediately obvious. The mention of 'action=\'describe\' for the full action/param reference' further clarifies how to explore capabilities.

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 gives some usage guidance: it notes that destructive action 'close' deletes org and data, and explains verbosity defaults and how to override. However, it does not explicitly tell the agent when to use this tool versus sibling tools (e.g., workspace, member, asset). It implies that all org-related operations go here, but fails to compare with alternatives like 'workspace' or 'member' which might handle specific sub-areas. The instruction to call 'describe' is helpful but incomplete for selecting the tool.

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

shareA
Destructive
Inspect

Share management: create/update/delete, archive, password auth, members, quickshare, AI instructions. Call action='describe' for the full action/param reference. Destructive: delete (permanent). ⚠️ intelligence on create COSTS CREDITS (10/page) — default false unless user explicitly requests RAG. Verbosity (detail param): list/available/members default to terse (compact rows). public-details defaults to standard. details defaults to full (drill-down). Pass an explicit detail='terse'|'standard'|'full' to override.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoShare title (2-80 chars; maps to API 'title').
typeNoFilter by share type.
limitNoMaximum number of items to return (1-500, default 100)
scopeNoAI instructions scope: 'profile' (share-wide; owner/admin) or 'me' (per-user; registered members only). Independent slots, do NOT merge.
titleNoShare title (2-80 chars). Alias of name.
actionYesOperation. Use 'describe' for full action reference.
detailNoPer-entity verbosity for list/available/members/public-details/details. Defaults: terse for list/available/members, standard for public-details, full for details. See action='describe' for per-level field lists.
expandNoquickshare-create only. Set to 'node' to include the full backend payload as a nested `node` field. Default response is slim: `{id, web_url, expires_at}`.
inviteNoWho can invite others (default: owners).
notifyNoNotification setting (default: never).
offsetNoNumber of items to skip (default 0)
org_idNoFilter shares to this org.
confirmNoMust match share ID or custom_name.
contentNoMarkdown body for AI instructions slot (max 65536 bytes UTF-8). Full replace.
expiresNoExpiration: 'YYYY-MM-DD HH:MM:SS' for create/update; seconds (default 10800, max 604800) for quickshare-create.
node_idNoStorage tree node opaque ID. Both files and folders are nodes — use this name regardless of which. File node opaque ID. Quickshares: single file, max 1 GB, default 3h, max 7 days.
passwordNoPassword (only with 'Anyone with the link').
share_idNoShare profile ID or custom name.
expires_atNoISO 8601 datetime for quickshare expiration.
share_typeNoNew share type.
custom_nameNoCustom share URL name (4-80 chars, alphanumeric).
descriptionNoShare description (10-500 chars).
folder_nameNoName for new folder (default: 'Shared Folder').
accent_colorNoAccent color as JSON string.
display_typeNoDisplay mode (default: grid).
intelligenceNoEnable RAG indexing. ⚠️ COSTS CREDITS (10/page) — default false unless user requests it. Forced false on workspace_folder shares.
storage_modeNoStorage mode (default: independent).
workspace_idNoWorkspace opaque ID. Use this when only workspaces are valid (not shares or other contexts). For polymorphic contexts use profile_id. Parent workspace ID.
create_folderNoCreate a new workspace folder (workspace_folder mode).
display_limitNoHow many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list.
owner_definedNoCustom metadata as JSON string.
access_optionsNoAccess level. 'Anyone with the link' not allowed for receive/exchange.
folder_node_idNoWorkspace folder node ID (workspace_folder mode).
workspace_styleNoUse workspace styling (default: true).
background_imageNoBackground image index (0-128, default 0).
comments_enabledNoEnable comments (default: true).
background_color1NoPrimary background color as JSON string.
background_color2NoSecondary background color as JSON string.
download_securityNoDownload security: off (default), medium (no guest download), high (block all guest downloads).
guest_chat_enabledNoEnable guest chat (default: false).
anonymous_uploads_enabledNoAllow guests to upload anonymously on public Receive/Exchange shares.
Behavior5/5

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

The description adds significant behavioral context beyond annotations: destructive delete is permanent, intelligence costs credits (10/page) and defaults to false, verbosity defaults per action, quickshare default expires are detailed. Annotations already indicate destructiveHint=true, but the description elaborates on specific risks and defaults without contradicting annotations.

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

Conciseness4/5

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

The description is a single paragraph that front-loads key capabilities and important warnings (destructive, cost, verbosity). It is efficient given the tool's complexity, though it could benefit from bullet points for easier scanning. However, every sentence adds value, and the structure is logical.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's 41 parameters and lack of output schema, the description provides essential overarching context: actions list, cost warning, verbosity defaults, and a pointer to 'describe' action for full details. It covers the most critical aspects but could briefly summarize a few key actions (e.g., create vs. quickshare) to reduce reliance on 'describe'.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds extra context that enriches parameter understanding: it warns about intelligence credits, explains verbosity defaults for detail parameter, and highlights quickshare expiration defaults. This goes beyond the schema descriptions, which are present but less contextualized.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Share management' and lists key actions (create/update/delete, archive, password auth, members, quickshare, AI instructions). It distinguishes this tool from sibling tools, which cover entirely different domains (ai, comment, apps, etc.), so there is no ambiguity about purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidelines: 'Call action="describe" for the full action/param reference' and notes about destructive actions ('delete (permanent)') and cost implications of intelligence. However, it does not explicitly contrast with alternative tools, though siblings are largely unrelated, so this is less critical.

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

storageA
Destructive
Inspect

Files & folders on workspaces/shares: list, search, copy, move, delete, rename, trash, transfer, versions, locks, previews. Call action='describe' for the full action/param reference. Destructive: purge (irreversible). delete moves to trash. Verbosity (detail param): list/recent/search/trash-list default to terse (compact rows). details defaults to full (drill-down). Pass an explicit detail='standard'|'full' to override.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoAlias for query.
nameNoName for new folder or file.
sizeNoSize preset: "IconSmall", "IconMedium", "Preview", or custom.
typeNoFilter by node type.
limitNoMax results (1-500, default 100).
queryNoSearch query — keyword, or keyword + semantic when intelligence is on.
widthNoTarget width in pixels.
actionYesOperation. Use 'describe' for full action reference.
cursorNoOpaque cursor from a previous response.
detailNoPer-node verbosity for list/recent/search/trash-list/details. Defaults: terse for list/recent/search/trash-list, full for details. Bump to full when you need ai.attach (files_attach preflight), virus, hashes, file_attributes, lock_info, or long-form summaries. See action='describe' for per-level field lists. Not to be confused with `details` (search-only).
heightNoTarget height in pixels.
offsetNoResults to skip (default 0).
detailsNoSearch-only. Return fully-hydrated node objects per result (default limit drops to 10). Distinct from `detail` — call action='describe' for the contrast.
node_idNoStorage tree node opaque ID. Both files and folders are nodes — use this name regardless of which. Storage node opaque ID, or 'root'.
sort_byNoSort column (default: name).
max_sizeNoMax read-content bytes (default 512000, max 1048576).
new_nameNoNew name for file or folder.
node_idsNoStorage node opaque IDs (details: 1-25 max).
share_idNoShare identifier to link (workspace-only).
sort_dirNoSort direction (default: asc).
upload_idNoOpaque ID of completed upload session.
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit workspace or share ID, or custom name.
version_idNoVersion ID to restore.
files_scopeNoScope semantic search to file versions. See describe for full constraints.
context_typeNoAlias for profile_type (either name works)
preview_typeNoType of preview to generate. See describe for which preview_types apply to which file categories.
profile_typeNoProfile type: "workspace" or "share".
display_limitNoHow many items to return. Default 10, max 500. The MCP trims post-fetch; backend cache stays warm. Used by: list, recent, search. Cursor pagination via `cursor` param for additional pages.
folders_scopeNoScope semantic search to folders via BFS. See describe for full constraints.
output_formatNoOutput format: "png", "jpg", "webp".
transfer_modeNo'copy' (default) or 'move'. 'move' invalid for node_id 'root'.
dest_parent_idNoDestination parent folder opaque ID, or 'root'.
parent_node_idNoParent folder opaque ID, or 'root'.
transform_nameNoTransform name, e.g. "image" for resize/crop/format.
dest_instance_idNoDestination workspace or share profile ID.
target_parent_idNoDestination folder opaque ID, or 'root'.
Behavior4/5

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

Annotations already indicate destructiveHint: true and readOnlyHint: false. The description adds useful nuance: 'Destructive: purge (irreversible). delete moves to trash.' It also explains verbosity defaults and the effect of the 'detail' parameter. This goes beyond the annotations by clarifying behavioral specifics, though it omits details on auth or rate limits.

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

Conciseness4/5

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

The description is front-loaded with the main purpose and then provides specific guidance. It is somewhat lengthy due to the tool's complexity (37 parameters, many actions), but every sentence adds value. Could be slightly more concise, but overall it is well-organized.

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 high complexity, lack of output schema, and annotations that partially cover destructive behavior, the description adequately covers key aspects like destructive operations and parameter defaults. However, it does not describe return values (since there is no output schema), and it could better explain aliases and the full action list without relying on action='describe'. It is adequate but has clear gaps.

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 100% schema coverage, the schema already describes each parameter. The description enhances this by explaining relationships (e.g., 'q is alias for query', 'context_id alias for profile_id') and providing context for the 'detail' parameter's default behavior and override options. This adds significant value beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's broad scope: 'Files & folders on workspaces/shares: list, search, copy, move, delete, rename, trash, transfer, versions, locks, previews.' It enumerates specific actions and resources, and distinguishes from sibling tools like app-file-viewer by covering a comprehensive set of file operations.

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 provides some guidance, such as 'Call action="describe" for the full action/param reference' and notes on destructive vs. non-destructive actions. However, it does not explicitly state when to use this tool over siblings (e.g., for file previews, there are specific tools). Lacks explicit 'when not to use' or alternative tool recommendations.

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

taskA
Destructive
Inspect

Task lists and tasks in workspaces/shares with statuses, priorities, assignees, dependencies, bulk ops. Call action='describe' for the full action/param reference. Destructive: delete-list, delete-task.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoTask list name (1-255 chars).
limitNoItems to return (1-200).
titleNoTask title (1-500 chars).
actionYesOperation. Use 'describe' for full action reference.
filterNo"assigned", "created", or "status" (needs status param).
formatNoResponse format: "json" (default) or "md".
offsetNoPagination offset.
statusNoTask status.
list_idNoTask list ID.
node_idNoStorage tree node opaque ID. Both files and folders are nodes — use this name regardless of which. Node ID to link task to a file/folder/note.
sort_byNoSort field.
task_idNoTask ID.
assigneeNoFilter tasks by assignee profile ID.
list_idsNoTask list IDs for reorder-lists (desired order).
priorityNo0=none, 1=low, 2=medium, 3=high, 4=critical.
sort_dirNoSort direction: "asc" or "desc".
task_idsNoTask IDs (bulk-status max 100; reorder-tasks order).
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID (workspace or share).
sort_orderNoPosition in target list after move (default 0).
assignee_idNoProfile ID of assignee (incl. pending members). null to unassign.
descriptionNoDescription (max 2000 for lists, 5000 for tasks).
context_typeNoAlias for profile_type (either name works)
dependenciesNoTask IDs this task depends on.
profile_typeNoProfile type: "workspace" or "share".
display_limitNoNumber of tasks to return to the agent (default 10, max 200). Backend page_size unchanged for cache warmth — trims post-fetch only.
target_task_list_idNoTarget task list ID for move-task (same profile).
Behavior4/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=true. The description adds specific destructive actions ('delete-list, delete-task'), providing additional context beyond the annotations. However, no details on rate limits or auth requirements are given.

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

Conciseness4/5

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

The description is concise (3 sentences) and front-loaded with a general overview, followed by an instruction and a list of destructive actions. It is efficient, but for a tool with 27 parameters, it could be slightly more structured. Still, every sentence serves a purpose.

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?

Despite the tool's complexity (27 parameters, diverse actions, no output schema), the description is minimal. It does not cover return values, action-specific details, or how to use the many parameters. The rely on the describe action is a workaround, not full completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not elaborate on parameter meanings beyond the schema; it merely points to the describe action for full reference, adding no extra semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool manages task lists and tasks, listing features like statuses, priorities, assignees, dependencies, and bulk ops. It specifies the resource (tasks in workspaces/shares) and distinguishes from siblings by its comprehensive scope.

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 advises calling action='describe' for the full reference, but does not explicitly state when to use this tool versus alternatives or when not to use it. The guidance is indirect, lacking clear exclusions or comparison to siblings.

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

todoA
Destructive
Inspect

Todo checklists scoped to workspaces and shares: list, create, update, toggle, delete, bulk-toggle, filter, summary. Call action='describe' for the full action/param reference. Destructive: delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
doneNoCompletion state.
limitNoPage size 1-200 (default 100).
titleNoTodo title (1-500 chars).
actionYesOperation. Use 'describe' for full action reference.
filterNoFilter category.
formatNoResponse format (default json).
offsetNoOffset for pagination.
sort_byNoSort field (default 'created').
todo_idNoTodo opaque ID.
sort_dirNoSort direction (default 'desc').
todo_idsNoArray of todo IDs (max 100).
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID.
assignee_idNoUser profile ID to assign (including pending members); pass 'null' string to unassign on update.
filter_doneNoFilter by completion state.
context_typeNoAlias for profile_type (either name works)
profile_typeNoProfile type.
display_limitNoNumber of todos to return to the agent (default 10, max 200). Backend page_size unchanged for cache warmth — trims post-fetch only.
Behavior3/5

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

Annotations already declare destructiveHint=true; the description adds 'Destructive: delete' but no additional behavioral context (e.g., permissions, side effects). With annotations present, this is adequate but not enhanced.

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 plus a note, front-loaded with purpose and actionable guidance. No wasted words.

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 tool with 18 parameters and no output schema, the description relies on the 'describe' action for full detail. It covers scope and destructive nature but omits return values, pagination, and operation-specific context.

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 coverage is 100% with thorough descriptions for each parameter; the description lists operations but adds minimal meaning beyond what the schema provides, warranting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it manages todo checklists scoped to workspaces and shares, listing all supported operations (list, create, update, toggle, delete, etc.), and distinguishes it from sibling tools like 'task' by scoping.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises calling action='describe' for full reference, but does not contrast with alternatives like 'task' or specify when not to use this tool.

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

uploadA
Destructive
Inspect

File upload: streaming (one-shot stream-upload — DEFAULT for unknown/generated content), chunked (create-session → POST /blob → chunk → finalize — only when filesize is known exactly), web URL import, and batch (multi-small-file). Call action='describe' for the full action/param reference. Side effects: finalize/stream/stream-upload/web-import/batch create files and consume storage credits. Same-name uploads to a folder OVERWRITE the existing node in place (preserved as a recoverable version). BINARY: content is text-only (writes verbatim UTF-8); for binary use content_base64 (server-decoded) or POST /blob + blob_id. UPLOAD STRATEGY (read top-to-bottom, pick the FIRST that matches): (1) Have a URL? → web-import (single call). (2) Have content but DON'T know exact size, OR generating/transforming content first? → stream-upload (single call, auto-finalizes, NO filesize required, size auto-detected from the bytes). (3) Have a file with KNOWN exact byte count? → create-session + chunk(s) + finalize. filesize must match the bytes you actually upload — mismatch causes finalize to fail with code 10522 and you must cancel the session. (4) Multiple small files (≤4 MB each, ≤200 total) into one folder? → batch. DEFAULT to stream-upload unless you are sure of the exact byte count. Do NOT guess filesize for generated content — use stream-upload instead. max_size is a hard ceiling that aborts mid-transfer — always overestimate or omit (server uses plan limit).

ParametersJSON Schema
NameRequiredDescriptionDefault
orgNoOrg ID for limit resolution.
urlNoSource URL to import from.
hashNoFile hash for verification.
planNoOverride billing plan to check (e.g. free, pro).
waitNoLong-poll duration ms (0 = return immediately).
filesNoBatch manifest (1..200 entries). Each: filename + one of blob_id/content/content_base64.
limitNoMax results (1-100, default 50).
actionYesOperation. Use 'describe' for full action reference.
offsetNoPagination offset.
statusNoFilter by status.
streamNoStream mode — size optional, single POST, auto-finalizes.
blob_idNoBlob ID from POST /blob. Preferred for binary/large files. Single-use.
contentNo**Text only** — stored verbatim UTF-8. Do NOT pass base64 here (use content_base64). One of content/content_base64/blob_id.
creatorNoClient identifier echoed back (alphanumeric + hyphens).
file_idNoFile ID for update context.
blob_refNoAlias for blob_id (deprecated).
chunk_idNoSpecific chunk number (omit for all).
filenameNoFile name. Optional when target_node_id is set (auto-resolved); pass to rename-on-replace.
filesizeNoTotal file size in bytes.
max_sizeNoStream-body byte ceiling — aborts mid-transfer if exceeded. Always overestimate; omit to use plan limit. Stream sessions only.
folder_idNoTarget folder OpaqueId or "root". Omit for instance root.
hash_algoNoHash algorithm (e.g. 'sha256').
upload_idNoUpload session ID or web upload job ID.
chunk_sizeNoChunk size in bytes (server picks default).
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. Target workspace/share ID (alias: context_id).
instance_idNoTarget workspace/share ID.
chunk_numberNo1-indexed chunk number.
context_typeNoAlias for profile_type (either name works)
include_hashNoCompute SHA-256 client-side for entries without a hash (default true when omitted).
profile_typeNoTarget type: workspace or share (alias: context_type).
action_contextNoContext: create or update.
content_base64NoBase64-encoded **binary** — server decodes before writing. Whitespace stripped. Practical cap a few MB; use blob_id for larger.
parent_node_idNoParent folder OpaqueId or "root". On create-session, stream-upload, and web-import, folder_id is accepted as an alias (either name works).
target_node_idNoOverwrite this specific node (preserves node_id; new version). When set, parent_node_id is ignored and filename is optional (auto-resolved). Must be a file node.
Behavior5/5

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

Discloses side effects: file creation, storage credit consumption, overwrite behavior with versioning. Explains binary vs text handling, hard ceilings, and failure modes (code 10522). Adds context beyond annotations (destructiveHint).

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?

Well-organized with clear sections, bullet points, and prioritization. Every sentence adds value (warnings, defaults, alternative methods). No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all upload methods, error codes, parameter interdependencies, and side effects. For a complex tool with 35 parameters and many actions, the description is remarkably thorough, leaving no major gaps.

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

Parameters5/5

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

Despite 100% schema coverage, description adds rich semantics: explains when to use content vs content_base64 vs blob_id, relationship between filesize and chunking, and parameter dependencies (e.g., hash pairing). The 'UPLOAD STRATEGY' section ties parameters to use cases.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it handles file uploads with multiple methods (streaming, chunked, web import, batch), distinguishing from sibling tools like 'download'. The purpose is unequivocal.

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?

Provides explicit decision strategy (UPLOAD STRATEGY) with conditions like 'Have a URL?', 'Have content but don't know exact size?', etc. Warns about common errors (e.g., guessing filesize) and recommends defaults. Directs to action='describe' for full reference.

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

userB
Destructive
Inspect

User profile, contacts, invitations, assets, and personal AI instructions. Call action='describe' for the full action/param reference. Destructive: close.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of items to return (1-500, default 100)
queryNoContact search substring.
actionYesOperation. Use 'describe' for full action reference.
offsetNoNumber of items to skip (default 0)
contentNoPlain text content (asset upload or instructions body, max 65536 bytes UTF-8 for instructions).
user_idNo19-digit user ID or email.
archivedNoTrue for archived shares, false for active.
filenameNoOriginal filename.
last_nameNoFamily name.
asset_nameNoAsset type name (e.g. profile_pic).
first_nameNoGiven name.
confirmationNoEmail or user ID confirmation for account close.
content_typeNoMIME type.
display_limitNoHow many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list-shares.
email_addressNoEmail address.
invitation_idNoInvitation opaque ID or key.
content_base64NoBase64-encoded binary content.
invitation_keyNoInvitation key.
Behavior3/5

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

Annotations indicate destructiveHint=true, and the description explicitly notes 'Destructive: close', which aligns well. No contradictions. It does not disclose other behaviors like authentication needs or side effects beyond the mention of destructive actions.

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

Conciseness3/5

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

The description is very concise (two sentences) and front-loaded with capabilities. However, it is arguably too sparse for a tool with 18 parameters and many actions, sacrificing completeness for brevity.

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 (18 parameters, many actions, no output schema), the description is incomplete. It fails to explain how actions relate to parameters or what to expect in responses, relying heavily on the 'describe' action to fill gaps.

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 coverage is 100%, so the schema documents all parameters. The description does not add meaning beyond pointing to the 'describe' action for details. Baseline of 3 is appropriate.

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 lists key capabilities (profile, contacts, invitations, assets, AI instructions) and mentions the key action 'describe' for full reference. It is clear that this tool handles user-related management, but it does not explicitly differentiate from sibling tools like 'profile' or 'invitation'.

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?

It advises calling action='describe' for full reference, which is helpful. However, it lacks explicit guidance on when to use this tool versus alternative tools like 'asset', 'contact', or 'invitation'.

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

worklogBInspect

Activity log: append-only entries on tasks/profiles plus urgent interjections requiring acknowledgement. Call action='describe' for the full action/param reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by entry type.
limitNoPage size 1-200.
actionYesOperation. Use 'describe' for full action reference.
filterNoFilter category.
formatNoResponse format (default json).
offsetNoOffset for pagination.
contentNoEntry body (1-10000 chars).
entry_idNoWorklog entry ID.
sort_dirNoSort direction (default 'desc').
entity_idNoOpaque ID of a specific object (file, comment, worklog entry, etc.). Pair with entity_type to disambiguate. Task/task_list opaque ID or profile 19-digit ID.
context_idNoAlias for profile_id (either name works)
profile_idNoPolymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID.
descriptionNoAlias for content.
entity_typeNoEntity type.
context_typeNoAlias for profile_type (either name works)
profile_typeNoProfile type.
display_limitNoHow many items to return. Default 10, max 200. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list, profile-list, filtered-list.
Behavior2/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, but the description adds only 'append-only' and 'interjections requiring acknowledgement'. It does not disclose behavioral traits like mutation scope, permission needs, or side effects beyond the basic append nature.

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

Conciseness4/5

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

The description is two sentences, concise and front-loaded with the tool's purpose. No wasted words, but could be slightly expanded for clarity.

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 (17 parameters, many enums, no output schema), the description is insufficient. It does not explain return values or the behavior of different actions, relying on a call to action='describe' as a workaround.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description does not add additional meaning to the parameters beyond what is already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as an activity log, specifying 'append-only entries on tasks/profiles plus urgent interjections requiring acknowledgement'. This distinguishes it from sibling tools like 'comment' or 'event' by highlighting unique capabilities.

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 vs alternatives. It only instructs to call action='describe' for internal reference, but does not indicate appropriate contexts or exclusions.

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

workspaceA
Destructive
Inspect

Workspace management: list/details/update/delete, archive, members, notes, quickshares, share import, metadata (template CRUD + assign + extract + saved views + search), AI instructions, workflow/import toggles. Call action='describe' for the full action/param reference. Destructive: delete (workspace + all files). ⚠️ intelligence COSTS CREDITS (10/page) — only enable on explicit user request; toggle is rate-limited. Verbosity (detail param): list/available/members/list-shares default to terse (compact rows). details defaults to full (drill-down). Pass an explicit detail='standard'|'full' to override.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSearch keyword(s). 1-1024 chars. Multi-token = ALL tokens (AND); case-insensitive; substring for ≤64 chars, else whole-word.
keysNoJSON array of metadata keys to delete (omit for all).
nameNoName. 2-100 chars (update/metadata-template-*); 1-255 (preview-match). Send "null" to clear on update.
limitNoMaximum number of items to return (1-500, default 100)
scopeNoAI instructions scope: 'profile' (workspace-wide; owner/admin) or 'me' (per-user; any member). Independent slots, do NOT merge.
actionYesOperation. Use 'describe' for full action reference.
configNoSaved-view config JSON: `{version:1, columns:[{field,visible?,width?}], sort:{field,dir}, filters:[{field,operator,value_type,value}]}`. Max 5 filters AND-chained; operator in `= != < <= > >=`; value_type in `string|int|float|bool`.
detailNoPer-entity verbosity for list/available/members/list-shares/details. Defaults: terse for list/available/members/list-shares, full for details. See action='describe' for per-level field lists.
fieldsNoJSON array of field defs. At least one field must have autoextract:true (default) or API returns 1605. Each: {name, description, type (string|int|float|bool|json|url|datetime), min?, max?, default?, fixed_list?, can_be_null?, autoextract?}.
offsetNoNumber of items to skip (default 0)
org_idNoFilter workspaces to this org.
blob_idNoBlob ID from POST /blob. Preferred for large note content (UTF-8 decoded). Single-use.
confirmNoMust match folder_name or numeric ID.
contentNoPlain text/markdown. Notes: max 102400 bytes (100 KiB) — use blob_id for larger. Instructions: max 65536 bytes UTF-8.
node_idNoStorage tree node opaque ID. Both files and folders are nodes — use this name regardless of which.
archivedNoFilter by archive status (default "false").
blob_refNoAlias for blob_id (deprecated).
categoryNoMetadata template category.
node_idsNoJSON array of node IDs (1-25, same workspace; deduped server-side). Bulk metadata-get returns {format:'multi', objects, templates, errors}.
order_byNoField key to sort metadata file list by.
share_idNo19-digit numeric ID or custom name of share to import.
note_nameNoNote filename (must end with .md).
parent_idNoParent folder opaque ID or 'root'.
perm_joinNoWho can join the workspace.
key_valuesNoJSON object of key-value pairs matching template fields.
order_descNoSort descending: 'true' or 'false'.
descriptionNoDescription. 10-1000 chars (update/metadata-template-*); 1-2000 (preview-match/suggest-fields). Newlines allowed. Send "null"/"" to clear on update.
folder_nameNoURL-safe workspace folder name (4-80 chars).
template_idNoMetadata template ID (e.g. mt_abc123). For metadata-search, restricts to nodes with values from this template (custom fields excluded).
accent_colorNoBrand accent color JSON. "null" to clear.
check_org_idNoOrg ID for check-name — suggests org-prefixed alternative if name taken.
intelligenceNoToggle AI features. ⚠️ COSTS CREDITS (10/page) — only enable on explicit user request. Disable flushes embeddings; re-enable re-indexes. Rate-limited.
user_contextNoShort view/template hint (1-64 chars, letters/numbers/spaces). Example: "photo collection".
workspace_idNoWorkspace opaque ID. Use this when only workspaces are valid (not shares or other contexts). For polymorphic contexts use profile_id. 19-digit numeric ID or custom name.
display_limitNoHow many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list, list-shares, members, metadata-search.
name_to_checkNoFolder name to check availability.
owner_definedNoCustom properties JSON. "null"/"" to clear.
extract_fieldsNoJSON array of field names to extract (e.g. `["vendor","amount"]`); omit/null for full row.
parent_node_idNoDestination folder opaque ID for TSV export (must be folder, not trashed). Omit for workspace root.
template_filterNoFilter for metadata template list.
metadata_filtersNoJSON filter criteria for metadata file listing.
background_color1NoBackground color 1 JSON. "null" to clear.
background_color2NoBackground color 2 JSON. "null" to clear.
perm_member_manageNoWho can manage members.
Behavior4/5

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

Annotations already indicate destructiveHint: true, and the description reinforces that by warning that delete destroys the workspace and all files. It adds value beyond annotations by disclosing that intelligence features cost credits (10/page) and are rate-limited, and by explaining verbosity defaults per action.

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

Conciseness4/5

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

The description is front-loaded with a summary of actions, followed by key warnings and verbosity defaults. It is dense but each sentence adds value. It could be more structured (e.g., bullet points) but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high complexity (44 parameters, many actions), the description covers essential high-level usage and important warnings. However, it does not detail return values (no output schema) and lacks per-action explanations, relying on the 'describe' action for full reference. Still, it provides enough context for an AI agent to understand the tool's scope and caution points.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds some context beyond the schema (e.g., default verbosity, intelligence cost, note size limits), but does not systematically explain each parameter. The added value is marginal relative to the schema's existing descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Workspace management' and lists the broad categories of actions (list, details, update, delete, archive, members, notes, quickshares, share import, metadata, AI instructions, workflow/import toggles). It provides a high-level summary that distinguishes this tool from sibling tools like storage or share.

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 includes warnings about destructive delete and intelligence costing credits, but does not explicitly state when to use this tool versus alternatives. It lacks guidance on when not to use it or which sibling tool to use for related tasks (e.g., file storage). Implied context but no clear exclusions.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources