zerodrive-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@zerodrive-mcp-serverlist files in my workspace"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ZeroDrive MCP Server
A Model Context Protocol (MCP) server for ZeroDrive file management. This server enables AI assistants like Claude to interact with ZeroDrive cloud storage through a standardized interface.
Features
28 MCP Tools across 4 categories:
File Operations (8 tools): List, get, upload, download, move, share files
Folder Operations (7 tools): Create, list, update, delete, move, share folders
Workspace Operations (10 tools): Manage collaborative workspaces with files and folders
Trash Operations (3 tools): List, restore, and empty trash
Production-Ready:
Zod validation for all inputs
Structured logging with pino
Comprehensive error handling
TypeScript with strict mode
Related MCP server: Filesystem MCP Server
Requirements
Node.js 22.0.0 or higher
ZeroDrive API key
Installation
Via npm (Recommended)
npx @futurixai-labs/zerodrive-mcp-serverFrom Source
# Clone the repository
git clone https://github.com/futurixai/zerodrive-mcp-server.git
cd zerodrive-mcp-server
# Install dependencies
npm install
# Build
npm run buildConfiguration
Set the required environment variable:
export ZERODRIVE_API_KEY="your-api-key-here"Optional environment variables:
Variable | Default | Description |
|
| API base URL |
|
| Log level (trace, debug, info, warn, error, fatal, silent) |
|
| Environment mode |
Usage with Claude Desktop
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"zerodrive": {
"command": "npx",
"args": ["@futurixai-labs/zerodrive-mcp-server"],
"env": {
"ZERODRIVE_API_KEY": "your-api-key-here"
}
}
}
}Available Tools
File Tools
Tool | Description |
| List files with filtering, pagination, and sorting |
| Get detailed file metadata |
| Upload a file from local path |
| Generate download URL for a file |
| Generate time-limited signed URL |
| Fetch text content of a file |
| Move file to different folder |
| Share file with other users |
Folder Tools
Tool | Description |
| List folders with filtering and pagination |
| Create a new folder |
| Get folder details |
| Update folder properties |
| Delete folder (to trash or permanent) |
| Move folder to different parent |
| Share folder with other users |
Workspace Tools
Tool | Description |
| List all accessible workspaces |
| Create a new workspace |
| Get workspace details |
| Upload file to workspace |
| List files in workspace |
| List folders in workspace |
| Create folder in workspace |
| Get workspace folder details |
| Update workspace folder |
| Delete workspace folder |
Trash Tools
Tool | Description |
| List trashed items |
| Restore item from trash |
| Permanently delete all trashed items |
Development
# Install dependencies
npm install
# Run type checking
npm run typecheck
# Build
npm run build
# Run linting
npm run lint
# Run tests
npm test
# Format code
npm run formatProject Structure
src/
├── index.ts # Entry point
├── api/ # HTTP client layer
│ ├── client.ts # API client with auth
│ └── endpoints.ts # API endpoint constants
├── config/ # Configuration
│ ├── env.ts # Environment validation
│ └── constants.ts # Application constants
├── errors/ # Error handling
│ └── base.ts # Error classes
├── logging/ # Structured logging
│ └── logger.ts # Pino logger setup
├── schemas/ # Zod validation schemas
│ ├── common.ts # Shared schemas
│ ├── files.ts # File tool schemas
│ ├── folders.ts # Folder tool schemas
│ ├── workspaces.ts # Workspace tool schemas
│ └── trash.ts # Trash tool schemas
├── server/ # MCP server setup
│ ├── server.ts # Server creation
│ └── handlers.ts # Request handlers
├── tools/ # Tool implementations
│ ├── files/ # File tools
│ ├── folders/ # Folder tools
│ ├── workspaces/ # Workspace tools
│ ├── trash/ # Trash tools
│ └── registry.ts # Tool dispatcher
├── types/ # TypeScript types
│ ├── entities.ts # Domain types
│ └── api.ts # API types
└── utils/ # Utilities
├── query-builder.ts # URL query builder
├── request-builder.ts # Request body builder
├── upload-handler.ts # File upload logic
└── response-formatter.ts # Response formattingContributing
See CONTRIBUTING.md for contribution guidelines.
License
MIT License - see LICENSE for details.
Available Tools
28 toolscreate_folderB
Create a new folder in ZeroDrive. Can be created at root level or as a subfolder of an existing folder.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the folder | |
| parentId | No | Parent folder ID. Omit to create at root level. | |
| description | No | Optional description for the folder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It only states the basic creation action without mentioning required permissions, error handling (e.g., duplicate names, invalid parentId), idempotency, or side effects. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no unnecessary words. Every sentence adds essential information (action, resource, location options). Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with 3 parameters, the description covers the primary purpose and placement. However, it lacks details on prerequisites, return value, error scenarios, and conflict resolution. With no output schema, completeness is minimal but adequate for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameter descriptions. The description adds no new semantic context beyond what the schema already states (e.g., 'parentId' omission for root level). Thus it meets the baseline but provides no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('create'), resource ('folder'), and scope ('ZeroDrive'), and explicitly mentions two placement options (root level or subfolder). This distinguishes it from sibling tools like 'create_workspace_folder' which target workspace-specific folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool over alternatives such as 'create_workspace_folder'. It only describes where the folder can be created but not when it's appropriate or inappropriate to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_workspaceA
Create a new workspace with allocated storage. The storage is deducted from the user's available quota.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Workspace name (max 100 characters) | |
| description | No | Workspace description | |
| icon | No | Icon name or emoji for the workspace | |
| color | No | Hex color code for the workspace | |
| storageAllocation | Yes | Storage allocation in bytes (minimum 104857600 = 100MB) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must reveal behavioral traits. It mentions that storage is deducted from the user's quota, which is a side effect. However, it lacks details on permissions, idempotency, duplicate handling, or any other side effects. Some transparency but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences and no extraneous words. It is well-structured and front-loaded with the primary action. Could be slightly more structured, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters (2 required), no output schema, and no annotations, the description is insufficient. It does not specify the return value or success indication, nor does it mention error conditions or what happens after creation (e.g., whether the workspace is immediately usable). Agents need more context to handle the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for all 5 parameters. The description adds context about storage deduction, which complements the 'storageAllocation' param. However, it does not elaborate on other parameters beyond what the schema already provides, so the added value is marginal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Create a new workspace' and highlights a key feature (storage deducted from quota). It effectively distinguishes from sibling tools like 'create_folder' which create folders, not workspaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating workspaces, but provides no explicit guidance on when to use this tool versus alternatives (e.g., 'create_folder'), nor does it mention prerequisites or exclusions. The usage is inferred but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_workspace_folderB
Create a new folder in a workspace. Requires EDITOR role or higher.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | The unique identifier of the workspace | |
| name | Yes | Folder name (max 255 characters) | |
| parentId | No | Parent folder ID. Omit or null for root level. | |
| description | No | Optional folder description | |
| color | No | Folder color (hex code) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It states creation and role requirement but does not disclose idempotency, return value, or effect on duplicate names. The behavioral details are insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the action and include a necessary precondition. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and no annotations, the description is incomplete. It does not mention return values, error conditions, or behavior on conflicts, which are needed for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description adds no extra meaning beyond the schema-provided parameter descriptions. It does not explain constraints like parentId existence or name uniqueness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Create a new folder in a workspace', using a specific verb and resource. It distinguishes from sibling tools like create_workspace (creates workspace) and create_folder (likely for personal folders).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only mentions a role requirement (EDITOR or higher) but provides no guidance on when to use this tool versus alternatives like create_folder. No explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_folderA
Delete a folder and all its contents. By default, moves to trash (soft delete). Use permanent=true to permanently delete.
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | Yes | The unique identifier of the folder to delete | |
| permanent | No | If true, permanently deletes the folder instead of moving to trash |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the folder and all contents are deleted, and explains the soft vs hard delete behavior. Could mention reversibility or permission requirements, but the core behavioral traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action, and contains no extraneous words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 parameters and no nested objects or output schema, the description adequately covers the purpose and parameters. It lacks information about the return value (e.g., void or empty response) but is otherwise complete for a simple deletion tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description restates the parameter semantics from the schema (e.g., 'permanent=true' for permanent delete) without adding significant new information. It provides a slight contextual tie to the overall action.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'delete' and the resource 'folder' with its contents. It distinguishes from sibling tools like 'delete_workspace_folder' and 'empty_trash' by specifying scoping and action details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the default behavior (move to trash) and when to use 'permanent=true' for permanent deletion. It does not explicitly mention when not to use it or compare to alternatives, but provides sufficient context for typical use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_workspace_folderA
Delete a folder from a workspace. By default, folders are moved to trash. Use permanent=true to permanently delete.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | The unique identifier of the workspace | |
| folderId | Yes | The unique identifier of the folder to delete | |
| permanent | No | If true, permanently deletes the folder and all contents. Cannot be undone. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses key behaviors: default trash behavior and permanent deletion with flag. It could be improved by noting that trash behavior retains contents for potential restoration, but overall it is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and contains no filler words. Every part contributes to understanding the tool's purpose and behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does not mention return values or error conditions. Also lacks context on authorization or workspace ownership. For a simple delete tool, it is adequate but could be more complete by hinting at what happens after deletion (e.g., success response).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no extra parameter details beyond what the schema provides. The mention of 'permanent=true' in the description reinforces the parameter's purpose but does not add new semantic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Delete a folder from a workspace', specifying both the verb and resource. The workspace context differentiates it from sibling tools like 'delete_folder', which likely targets non-workspace folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions default behavior (trash) and the optional permanent delete, providing context for usage. However, it does not explicitly guide when to use this tool over the similar 'delete_folder' or when not to use it (e.g., if restoration is needed).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_fileB
Generate a signed URL for downloading a file from ZeroDrive. The URL is valid for 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | The unique identifier of the file to download |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the 1-hour URL expiration as a behavioral detail, but with no annotations, it lacks disclosure on permissions, idempotency, or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences efficiently conveying purpose and a key constraint, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with one parameter, but missing output format description (e.g., returns a string URL) and any error or prerequisite context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes the fileId. The description adds no extra meaning, achieving the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a signed URL for downloading, distinguishing it from 'fetch_file_content' which fetches content, but overlaps with sibling 'generate_signed_url' which may be more general.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like 'generate_signed_url' or 'fetch_file_content'. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
empty_trashA
Permanently delete all items in the trash. This action cannot be undone and will free up storage space.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description reveals the destructive, irreversible nature and that it frees storage, which is good transparency for a simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise, front-loaded sentences with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Sufficient for a simple action with no parameters or output schema; could mention return value but not necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; baseline is 4. The description explains the action meaningfully beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'delete' and resource 'all items in the trash', distinguishing it from siblings like restore_from_trash or list_trash.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description warns that the action cannot be undone, but does not explicitly state when to use it or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_file_contentB
Fetch and return the content of a text-based file from ZeroDrive. Best for text files, code files, JSON, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | The unique identifier of the file to fetch | |
| download | No | When true, forces download behavior instead of inline display |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden. It states the basic action but omits details like return format, encoding, size limits, or effects of the 'download' parameter. Lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no redundancy. Front-loaded with the main action. Could slightly improve structure by separating purpose and guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should specify return format. It does not mention that content is returned as a string or JSON. Incomplete for a content-fetching tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions (100% coverage). Description does not add extra meaning beyond the schema, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it fetches content of text-based files from ZeroDrive, specifying types like text, code, JSON. Differentiates from sibling 'download_file' by focusing on inline content retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage by stating 'Best for text files' but lacks explicit when-not-to-use or alternatives. Does not mention that for binary files one should use 'download_file'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_signed_urlA
Generate a time-limited signed URL for accessing a file without requiring API key authentication. Useful for sharing files or embedding in applications.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | The unique identifier of the file | |
| expires | No | URL validity duration in seconds. Default: 3600 (1 hour), Maximum: 604800 (7 days) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the URL is time-limited and does not require API key authentication, but it fails to mention whether generating the URL requires authentication, permissions on the file, or any rate limits. More detail on the URL's behavior would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with no superfluous content. Every sentence adds value: the first defines the action, the second suggests use cases. It is front-loaded and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema, no nested objects), the description provides a basic understanding but lacks context on authentication requirements for generation, error scenarios, or what the signed URL looks like. It is sufficient but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes the two parameters (fileId, expires) with descriptions. The description adds minimal value by implicitly referencing 'time-limited', but overall the parameter semantics are adequately handled by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'generate', the resource 'signed URL for accessing a file', and the purpose 'time-limited' and 'without requiring API key authentication'. It effectively distinguishes this tool from sibling tools like share_file or download_file, as no other tool generates signed URLs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Useful for sharing files or embedding in applications' which implies usage context, but it does not explicitly state when not to use this tool or how it compares to alternatives like share_file. There are no exclusion criteria or sibling references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fileB
Retrieve detailed metadata for a specific file by its ID from ZeroDrive.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | The unique identifier of the file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. The description implies a read operation but does not explicitly state read-only behavior, potential side effects, authentication needs, rate limits, or what 'detailed metadata' includes. The lack of output schema worsens this gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence contains all necessary information without any fluff, making it highly concise and well-structured for quick parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no annotations, no output schema), the description is minimally adequate. However, it would benefit from specifying what metadata fields are returned, especially since there are many sibling tools and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter is already documented. The description adds minimal value ('by its ID') but is consistent. For a simple parameter, this is acceptable; no extra syntax or format details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Retrieve), the resource (detailed metadata for a specific file), and the source (ZeroDrive). It specifies retrieval by ID, which matches the required parameter, and distinguishes it from sibling tools that handle content download or listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it does not differentiate from fetch_file_content or list_files, nor does it mention prerequisites or 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.
get_folderA
Retrieve detailed information about a specific folder by its ID from ZeroDrive.
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | Yes | The unique identifier of the folder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only mentions 'retrieve detailed information' without specifying what details are included (e.g., metadata, permissions, children), or any behavioral traits like read-only idempotency. For a simple retrieval tool, more transparency would benefit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 11 words, no fluff. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and one parameter, the description is minimal. It could hint at return format (e.g., 'including name, path, and metadata') to help the agent. With many sibling tools, more detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter 'folderId' described as 'The unique identifier of the folder'. The description adds no extra meaning beyond mentioning 'by its ID'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('retrieve') and the resource ('detailed information about a specific folder'), with the context 'by its ID from ZeroDrive'. It distinguishes from sibling tools like list_folders (which lists folders) and delete_folder (which deletes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a user needs folder details by ID, but no explicit guidance on when to use vs alternatives (e.g., list_folders for all folders) or when not to use. No prerequisites or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workspaceB
Retrieve detailed information about a specific workspace, including members, storage usage, and user permissions.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | The unique identifier of the workspace |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should disclose behavioral traits like required permissions, rate limits, or side effects. It only lists what the tool returns, not any behavioral constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the main purpose. It is efficient, though a brief structure with bullet points for the included details could enhance readability slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter, the description provides a reasonable overview of the output (members, storage usage, user permissions). However, it does not mention access prerequisites or address the existence of closely related sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single parameter workspaceId is described). The description adds context about the returned data but does not add meaning to the parameter beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve detailed information') and resource ('a specific workspace'), and specifies what details are included (members, storage usage, user permissions). This distinguishes it from sibling tools like get_folder and get_workspace_folder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any context about prerequisites or 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.
get_workspace_folderA
Get detailed information about a folder in a workspace, including its full breadcrumb path.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | The unique identifier of the workspace | |
| folderId | Yes | The unique identifier of the folder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the tool returns 'detailed information' and 'breadcrumb path' without specifying whether it is a safe read operation, what fields are included, or error conditions. Additional context on return format or permissions would 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that conveys the essential purpose without unnecessary words. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 parameters and no output schema, the description is mostly complete. It mentions the return includes a breadcrumb path, but 'detailed information' could be more specific. For a simple GET, it suffices, but adding typical return fields would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add any additional meaning for the parameters beyond what the schema already provides (workspaceId and folderId).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get detailed information about a folder in a workspace, including its full breadcrumb path.' It specifies the verb (Get), resource (folder in a workspace), and a distinguishing feature (breadcrumb path). This differentiates it from siblings like get_folder (generic folder) and list_workspace_folders (listing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving specific workspace folder details, but does not explicitly state when to use this vs alternatives like get_folder or list_workspace_folders. No when-how or exclusions are mentioned, but 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.
list_filesC
Retrieve a paginated list of files from ZeroDrive with optional filtering, sorting, and search capabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | No | Filter files by folder ID. Omit to list files in root. | |
| includeSubfolders | No | Include files from all subfolders recursively | |
| starred | No | Filter to show only starred files | |
| shared | No | Filter to show only shared files | |
| trashed | No | Include trashed files in results | |
| search | No | Search query to filter files by name | |
| limit | No | Maximum number of files to return | |
| offset | No | Number of files to skip for pagination | |
| sortBy | No | Field to sort results by | |
| sortOrder | No | Sort order direction |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It mentions pagination but omits default results (e.g., non-trashed only), sorting defaults, or authentication requirements. The description is insufficient for a mutation-free tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that front-loads the key action. However, it could be slightly expanded to add context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 10 parameters, no output schema, and no annotations, the description is too brief. It should specify default behavior, pagination details, or when to use this versus sibling list tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no new parameter meaning beyond the schema. Baseline 3 is appropriate per rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (retrieve) and resource (list of files) and mentions optional filtering, sorting, and search. However, it does not distinguish from sibling tools like list_folders or list_trash.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives or any prerequisites. With many sibling tools, the description should indicate when to choose list_files over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_foldersC
Retrieve a paginated list of folders from ZeroDrive with optional filtering, sorting, and search capabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | No | Parent folder ID to list subfolders. Omit for root folders. | |
| starred | No | Filter to show only starred folders | |
| shared | No | Filter to show only shared folders | |
| trashed | No | Include trashed folders in results | |
| search | No | Search query to filter folders by name | |
| limit | No | Maximum number of folders to return | |
| offset | No | Number of folders to skip for pagination | |
| sortBy | No | Field to sort results by | |
| sortOrder | No | Sort order direction |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It mentions pagination and optional filtering but fails to clarify defaults (e.g., whether trashed folders are excluded by default, pagination limits, or if sorting order defaults to ascending). Important behavioral traits like recursion depth or response structure are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is clear and front-loaded. It efficiently conveys the core purpose. Minor improvement could remove 'capabilities' but overall no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, no output schema, and no annotations, the description is too minimal. It does not explain return format, pagination defaults, parameter interactions, or behavior when no filters are applied. For a complex tool, more detail is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so each parameter is already documented. The description adds only high-level context (paginated, optional filtering) but no additional meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (retrieve a paginated list) and resource (folders from ZeroDrive), and mentions optional filtering, sorting, and search. It is specific enough to distinguish from sibling tools like create_folder or get_folder, but does not explicitly exclude workspace-specific folders, which might be covered by list_workspace_folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as list_workspace_folders or get_folder. There is no mention of use cases, prerequisites, or 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.
list_trashA
Retrieve all files and folders in the trash. Items remain in trash until permanently deleted or restored.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of items to return | |
| offset | No | Number of items to skip for pagination | |
| sortBy | No | Field to sort by | |
| sortOrder | No | Sort direction |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description notes lifecycle (items remain until deleted/restored) but lacks details on rate limits, side effects, or whether it's read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise and front-loaded; could be slightly more detailed but efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a list operation with pagination/sorting; no output schema but not critical; could mention return type.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and covers pagination and sorting; description adds no extra meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Retrieve all files and folders in the trash.', uses specific verb+resource and distinguishes from siblings like empty_trash and restore_from_trash.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for listing trash contents, but no explicit guidance on when to use vs alternatives (e.g., empty_trash, restore_from_trash).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workspace_filesB
List files in a workspace with filtering, pagination, and sorting options.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | The unique identifier of the workspace | |
| folderId | No | Filter by folder ID. Use 'null' or empty for root-level files. | |
| trashed | No | Include trashed files in results | |
| starred | No | Only return starred files | |
| search | No | Search files by name (case-insensitive) | |
| limit | No | Number of files to return (max 100) | |
| offset | No | Number of files to skip for pagination | |
| sortBy | No | Field to sort by | |
| sortOrder | No | Sort direction |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behaviors. It states the tool lists files with filtering, pagination, and sorting, but does not specify whether it is read-only, what is included (e.g., file metadata), or constraints like the maximum limit (already in schema). Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that conveys the essential purpose and capabilities without extraneous words. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks information about return values (no output schema) and does not mention required parameters or edge cases. While schema covers parameters, the description could be more complete by hinting at the response structure. With many sibling tools, it is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no parameter-specific meaning beyond mentioning filtering, pagination, and sorting generically. The schema already documents all nine parameters with descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'List' and resource 'files in a workspace', and mentions key capabilities (filtering, pagination, sorting). It is clear but does not explicitly differentiate from sibling 'list_files' which may have a similar purpose without workspace scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'list_files' or 'list_workspace_folders'. The description implies usage for listing files with filters but offers no exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workspace_foldersA
List folders in a workspace with filtering, pagination, and sorting options.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | The unique identifier of the workspace | |
| parentId | No | Filter by parent folder ID. Use 'null' or empty for root-level folders. | |
| trashed | No | Include trashed folders in results | |
| starred | No | Only return starred folders | |
| search | No | Search folders by name (case-insensitive) | |
| limit | No | Number of folders to return (max 100) | |
| offset | No | Number of folders to skip for pagination | |
| sortBy | No | Field to sort by | |
| sortOrder | No | Sort direction |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions filtering, pagination, and sorting but does not disclose default behaviors (e.g., default sort order, whether trashed items are excluded by default, or error handling for invalid workspace IDs). Basic transparency is present but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core action and key options. Every word serves a purpose; no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, no output schema, and no annotations, the description is too brief. It lacks details about response structure, pagination behavior, or defaults. For a complex tool, more context is needed for an agent to use it correctly without errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description only summarizes the capabilities without adding meaning beyond the schema. It does not provide additional context for parameters like when to use each filter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists folders in a workspace, with filtering, pagination, and sorting options. It distinguishes itself from siblings like list_files, list_trash, and list_workspace_files by specifically mentioning workspace and folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for listing folders with options, but lacks explicit guidance on when to use it versus alternative tools like list_folders or when not to use it. No when-not or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workspacesA
Retrieve all workspaces the authenticated user owns or is a member of. Returns owned workspaces and member workspaces.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description carries full burden. It discloses that the tool returns both owned and member workspaces, but does not mention authentication requirements, rate limits, pagination, or output structure. Adequate but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the core purpose. No unnecessary words. Ideal length for a zero-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters, the description is mostly complete. However, it lacks any hint of return structure (e.g., workspace IDs, names) or whether pagination exists, which an agent might need to decide if it suits the task.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in schema, so baseline is 4. The description adds value by specifying the semantic distinction between owned and member workspaces, exceeding the schema's empty definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and the resource 'all workspaces', and distinguishes from siblings like get_workspace by specifying 'owns or is a member of'. No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like get_workspace or create_workspace. The description implies it's for listing all accessible workspaces, but lacks when-not-to-use or contextual preference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_fileA
Move a file to a different folder. Set folderId to null to move the file to the root directory.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | The unique identifier of the file to move | |
| folderId | No | The destination folder ID. Use null or omit to move to root. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states the basic move action but lacks details on permissions, reversibility, or side effects. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, no redundant information. Purpose and key parameter detail are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description covers the essential semantics. Missing return value info is acceptable. Could mention source folder or permissions but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters fully. Description adds value by clarifying that folderId can be null/omitted to move to root, beyond the schema's 'destination folder ID'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Move') and resource ('file'), clearly stating the action and destination. It differentiates from sibling tool 'move_folder' by specifying the resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like copy or move_folder. The special root directory case is a helpful hint but not a full usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_folderA
Move a folder to a different parent folder. Set parentId to null to move the folder to the root directory.
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | Yes | The unique identifier of the folder to move | |
| parentId | No | The destination parent folder ID. Use null or omit to move to root. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the action and root handling but does not disclose side effects, permissions, or constraints (e.g., impact on child items). This is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the action, no superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is mostly complete for a simple move operation, but lacks details on restrictions or effects on sub-items. No output schema, but return is implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description adds value by explaining the special behavior of parentId for root directory, going beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'move' and resource 'folder', clearly stating the action and distinguishing from siblings like 'move_file' and 'delete_folder'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (to move a folder) and provides clear guidance on setting parentId to null for root directory. It does not explicitly mention when not to use it or alternatives, but the purpose is straightforward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restore_from_trashA
Restore a file or folder from the trash back to its original location. If the original parent folder no longer exists, the item is restored to the root directory.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | The unique identifier of the file or folder to restore | |
| type | No | Type of item to restore. If not provided, the system will auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially covers behavior: it explains the restoration to original location and fallback to root. However, it omits details like required permissions, idempotency, or what happens if the item is already restored.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Critical information (purpose and edge case) is front-loaded. Every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple restoration tool with no output schema, the description covers the main function and a key edge case (missing parent). It could be improved by mentioning that restore is only possible from trash (implicitly clear from name) and any constraints (e.g., user must have permissions).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both parameters described in schema). The description adds no additional meaning beyond the schema's descriptions of 'itemId' and 'type' (with auto-detect). Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'restore' and the resource 'file or folder from the trash'. It distinguishes this tool from siblings like 'empty_trash' (permanent deletion) and 'delete_folder' (moves to trash) by focusing on restoration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for restoring trashed items and mentions the fallback to root if parent missing, but does not explicitly state when to use versus alternatives like 'empty_trash' or when not to use (e.g., if item was permanently deleted).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_folderB
Update folder properties such as name, description, color, or starred status. Can also restore a folder from trash.
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | Yes | The unique identifier of the folder to update | |
| name | No | New name for the folder | |
| description | No | Folder description | |
| color | No | Folder color (hex code, e.g., #FF5733) | |
| isStarred | No | Star or unstar the folder | |
| action | No | Special action. Use 'restore' to restore folder from trash. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose permissions, idempotency, side effects on unspecified properties, or behavior when multiple parameters are set. For a mutation tool with 6 parameters, more behavioral detail is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste. Front-loaded with the main purpose. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately covers the tool's main functions but lacks behavioral context and return value details (no output schema). Could be more complete given the complexity of having both update and restore capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so baseline is 3. The description lists example properties (name, description, color, starred) and the restore action, but adds little beyond the schema. No additional format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates folder properties (name, description, color, starred) and can restore from trash. It uses a specific verb and resource, distinguishing from many siblings, though overlap with restore_from_trash exists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives, especially the separate restore_from_trash tool. The description mentions restore but does not clarify which tool is preferred for restoration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_workspace_folderA
Update a folder's properties including name, description, color, parent (move), starred status, or trash status. Requires EDITOR role or higher.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | The unique identifier of the workspace | |
| folderId | Yes | The unique identifier of the folder to update | |
| name | No | New folder name (max 255 characters) | |
| description | No | New folder description (null to clear) | |
| color | No | New folder color (hex code, null to clear) | |
| parentId | No | Move folder to new parent (null for root level) | |
| isStarred | No | Star or unstar the folder | |
| isTrashed | No | Move to trash (true) or restore from trash (false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It does state the role requirement and lists updatable properties, but it lacks details on side effects (e.g., trashing a folder may trash its contents, moving to parent may affect permissions). The behavior is adequately described for common operations but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the purpose and lists the properties efficiently. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, no output schema) and the absence of annotations, the description covers the role requirement and property list thoroughly. However, it does not explain expected return values or error conditions. For a mutation tool, this is reasonable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, so the baseline is 3. The description lists the properties but adds little beyond the schema's detailed descriptions. For example, 'color' is described as 'hex code, null to clear' in the schema, which is already clear. The description adds the 'parent (move)' clarification, but that is minor.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and the resource 'folder's properties', and lists the specific properties that can be updated. It distinguishes itself from sibling tools like create_folder and delete_folder by specifying the action, and the workspace context differentiates it from similar update_folder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the required role (EDITOR or higher), which provides some usage context, but it does not explicitly compare to alternatives like move_folder or restore_from_trash, nor does it state when not to use this tool. Usage guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_fileB
Upload a file to ZeroDrive. Supports uploading from a local file path with optional folder path for automatic folder creation.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Local file path to upload | |
| folderPath | No | Folder path where file should be placed in ZeroDrive. Folders are created automatically if they don't exist. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only mentions 'automatic folder creation'. Does not disclose potential overwrite behavior, required permissions, rate limits, or error handling for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary action, no superfluous words. Efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no mention of return value, success indication, or error scenarios. For a simple upload tool, more context on what the agent can expect as a response is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%. The description restates schema content without adding new meaning beyond what is already in the input schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Upload' and resource 'file to ZeroDrive'. Distinguishes from siblings like download_file and upload_workspace_file by specifying local file path and optional folder creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes the local file path and optional folder path scenario but does not specify when to use this tool over sibling tools like upload_workspace_file. No exclusions or alternatives provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_workspace_fileB
Upload a file directly to a workspace. Requires EDITOR or higher workspace role.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | The unique identifier of the workspace | |
| filePath | Yes | Local file path to upload (max 100MB) | |
| folderId | No | Target folder ID within the workspace. Omit for workspace root. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It only reveals the permission requirement but omits other behavioral traits such as whether uploads are idempotent, what happens on conflict (overwrite vs error), or any rate limits. The 100MB file size limit is in the schema but not in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short sentences totaling 12 words. Every word is functional. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and 3 parameters, the description is incomplete. It does not explain the return value, error handling, or behavior on duplicates. The role requirement is helpful, but critical operational details are missing for a file upload operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add extra context to parameters beyond the schema. The role requirement is a global constraint, not parameter-specific. No value added beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Upload a file directly to a workspace' with a specific verb ('Upload') and resource ('file to workspace'). It distinguishes from sibling tools like 'upload_file' by specifying 'directly to a workspace', implying scope. The role requirement adds precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the required role ('EDITOR or higher'), providing a prerequisite. However, it does not specify when not to use this tool (e.g., for uploading to other locations) or contrast with alternatives like 'upload_file'. Usage guidance is partial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a specific action and domain (personal vs workspace), with clear descriptions. The only potential overlap (download_file vs generate_signed_url) is resolved by distinct use cases.
All tools follow a consistent verb_noun pattern in snake_case, making them predictable and easy to navigate.
28 tools is higher than typical, but the dual-domain coverage (personal and workspace) justifies the count. No obvious redundancy, though slightly over-scoped.
Covers most CRUD operations for files and folders, but lacks explicit delete_file and update_file tools, which are notable gaps for a file management system.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables Claude Desktop and other MCP clients to interact with WebDAV file systems through natural language commands for CRUD operations.88318MIT
- FlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that extends AI capabilities by providing file system access and management functionalities to Claude or other AI assistants.2425
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with Proton Drive files, supporting operations like listing, reading, creating, and deleting files and folders.77316MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables Claude Desktop to perform file operations like reading, writing, listing directories, and managing files through natural language commands.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FuturixAI-and-Quantum-Works/zerodrive-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server