Fast.io
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.
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.
Tool Definition Quality
Average 3.7/5 across 25 of 25 tools scored. Lowest: 2.1/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.
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.
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.
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 toolsaiADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New chat name (max 100 chars). | |
| type | No | 'chat' for general or 'chat_with_files' for file-grounded. | |
| files | No | File opaque IDs (max 25, share share-generate). | |
| limit | No | Results per page (1-500, default 100). | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| detail | No | Per-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. | |
| offset | No | Pagination offset (default 0). | |
| chat_id | No | AI chat ID. | |
| context | No | Optional user hint to guide AI generation. | |
| privacy | No | Chat privacy (default: public). | |
| node_ids | No | File node IDs (max 25, workspace share-generate). | |
| context_id | No | Alias for profile_id (either name works) | |
| message_id | No | AI message ID. | |
| profile_id | No | Polymorphic 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_text | No | Question or prompt (max 12,768 chars). | |
| files_scope | No | Scope RAG to file versions. See describe for full constraints. | |
| personality | No | "concise" or "detailed" (default). | |
| context_type | No | Alias for profile_type (either name works) | |
| files_attach | No | Attach files for direct AI analysis. See describe for limits. | |
| profile_type | No | Profile type: "workspace" or "share". | |
| folders_scope | No | Scope RAG to folders via BFS. See describe for full constraints. | |
| include_deleted | No | If true, list deleted chats (share only). |
Tool Definition Quality
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.
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.
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.
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.
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.
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-commentsCommentsCRead-onlyIdempotentInspect
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
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | No | Storage node opaque ID to show file-level comments (omit for workspace/share-level) | |
| file_name | No | File name for display in the header | |
| context_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID. | |
| context_type | No | Alias for profile_type (either name works) | |
| profile_type | No | Profile type. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 PickerBRead-onlyIdempotentInspect
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)
| Name | Required | Description | Default |
|---|---|---|---|
| context_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID. | |
| context_type | No | Alias for profile_type (either name works) | |
| profile_type | No | Profile type. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ViewerARead-onlyIdempotentInspect
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
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Storage node opaque ID of the file to view | |
| file_name | No | File name for display | |
| mime_type | No | MIME type for renderer selection | |
| context_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID. | |
| context_type | No | Alias for profile_type (either name works) | |
| profile_type | No | Profile type. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
approvalADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Items to return (1-200, default 50). | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| filter | No | Filter type for filtered-list. | |
| format | No | Response format: "json" (default) or "md". | |
| offset | No | Pagination offset (default 0). | |
| status | No | Filter by status. | |
| comment | No | Comment for resolution (max 5000 chars). | |
| node_id | No | Storage tree node opaque ID. Both files and folders are nodes — use this name regardless of which. Artifact reference node ID. | |
| deadline | No | Deadline in `YYYY-MM-DD HH:MM:SS` format (NOT ISO-8601 with T/Z). | |
| entity_id | No | Opaque 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_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic 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). | |
| properties | No | Free-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_id | No | Approval opaque ID. | |
| approver_id | No | Profile ID of designated approver. Omit so any admin can resolve. | |
| description | No | Approval request description (1-65535 chars). | |
| entity_type | No | Entity type for the approval. | |
| context_type | No | Alias for profile_type (either name works) | |
| profile_type | No | Profile type: "workspace" or "share". | |
| display_limit | No | How 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_action | No | Resolution: "approve" or "reject". |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
appsARead-onlyIdempotentInspect
MCP Apps — list/launch interactive UI widgets (file browser, workspace dashboards, uploads). Call action='describe' for the full action/param reference.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation. Use 'describe' for full action reference. | |
| app_id | No | App identifier. | |
| tool_name | No | MCP tool name to find apps for. | |
| context_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID. | |
| context_type | No | Alias for profile_type (either name works) | |
| extra_params | No | Additional 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_type | No | Profile type. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 FilesCRead-onlyIdempotentInspect
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)
| Name | Required | Description | Default |
|---|---|---|---|
| context_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID. | |
| context_type | No | Alias for profile_type (either name works) | |
| profile_type | No | Profile type. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ManagerBRead-onlyIdempotentInspect
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)
| Name | Required | Description | Default |
|---|---|---|---|
| context_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID. | |
| context_type | No | Alias for profile_type (either name works) | |
| profile_type | No | Profile type. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 PickerARead-onlyIdempotentInspect
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)
| Name | Required | Description | Default |
|---|---|---|---|
| context_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID. | |
| context_type | No | Alias for profile_type (either name works) | |
| profile_type | No | Profile type. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
assetADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation. Use 'describe' for full action reference. | |
| content | No | Plain text content (e.g. SVG). | |
| asset_id | No | Asset ID or name. | |
| metadata | No | Additional metadata as JSON array string. | |
| entity_id | No | Opaque ID of a specific object (file, comment, worklog entry, etc.). Pair with entity_type to disambiguate. Entity ID (optional for user). | |
| file_name | No | Original file name. | |
| asset_type | No | Asset type key (e.g. 'logo', 'banner', 'photo'). | |
| entity_type | No | Entity type. | |
| file_base64 | No | Base64-encoded binary content. | |
| content_type | No | MIME type (default application/octet-stream). |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
authBDestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Verification or authorization code. | |
| name | No | API key label. | |
| No | Email address. | ||
| token | No | 2FA token or verification token. | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| key_id | No | API key identifier. | |
| scopes | No | Scope strings, e.g. ['org:123:rw']. Omit for full access. | |
| api_key | No | Fast.io API key. | |
| channel | No | 2FA channel. | |
| expires | No | Token lifetime in seconds. | |
| password | No | Account password. | |
| last_name | No | Family name. | |
| password1 | No | New password. | |
| password2 | No | New password confirmation. | |
| agent_name | No | Agent name for approval screen and audit logs. | |
| first_name | No | Given name. | |
| scope_type | No | PKCE scope type. Default 'user' (full access). | |
| session_id | No | OAuth session identifier. | |
| email_token | No | Email verification code. | |
| key_expires | No | ISO 8601 expiration datetime. | |
| exclude_current | No | Skip current session in revoke-all. | |
| current_session_id | No | Current session ID for exclusion. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
commentADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort: 'created' or '-created' (default newest first). | |
| text | No | Comment body (max 8192 chars; max 500 display chars with mention tags stripped). Supports @[profile|user|file:...] mentions. | |
| emoji | No | Single emoji character. | |
| limit | No | Page size 2-200. | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| detail | No | Per-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. | |
| offset | No | Offset for pagination. | |
| node_id | No | Storage tree node opaque ID. Both files and folders are nodes — use this name regardless of which. | |
| reference | No | Anchor: image region, A/V timestamp, PDF page, or text selection. | |
| comment_id | No | Comment opaque ID. | |
| context_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID. | |
| comment_ids | No | Array of comment opaque IDs. | |
| context_type | No | Alias for profile_type (either name works) | |
| profile_type | No | Profile type. | |
| display_limit | No | Number 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_total | No | Include total count in response. | |
| reference_type | No | Filter by anchor type. | |
| include_deleted | No | Include soft-deleted. | |
| linked_entity_id | No | Task or approval opaque ID. | |
| parent_comment_id | No | Parent comment ID for reply (single-level threading). | |
| linked_entity_type | No | Workflow entity type. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
downloadARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation. Use 'describe' for full action reference. | |
| node_id | No | Storage tree node opaque ID. Both files and folders are nodes — use this name regardless of which. | |
| context_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic 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_id | No | Specific file version ID. | |
| context_type | No | Alias for profile_type (either name works) | |
| profile_type | No | Profile type. | |
| quickshare_id | No | Quickshare opaque identifier. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
eventARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Max seconds server holds connection (1-95, default 95). | |
| event | No | Exact event name. See describe action for catalog. | |
| limit | No | Max results (1-250, default 100). | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| cursor | No | Last activity timestamp for incremental polling. | |
| detail | No | Per-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. | |
| offset | No | Pagination offset. | |
| org_id | No | Filter by organization profile ID. | |
| user_id | No | Filter by user profile ID. | |
| category | No | Event category. See describe action for valid values. | |
| event_id | No | Alphanumeric event opaque ID. | |
| share_id | No | Filter by share profile ID. | |
| entity_id | No | Opaque 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_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic 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_max | No | ISO 8601 datetime — events on or before. | |
| created_min | No | ISO 8601 datetime — events on or after. | |
| subcategory | No | Event subcategory. See describe action for valid values. | |
| context_type | No | Alias for profile_type (either name works) | |
| lastactivity | No | Timestamp from prior poll's response. Omit on first call. | |
| profile_type | No | Profile type: "workspace" or "share". | |
| user_context | No | Focus guidance for AI summary, e.g. "Focus on uploads". | |
| workspace_id | No | Workspace 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. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
invitationBDestructiveInspect
Workspace/share invitations: list, filter by state, update, revoke. Call action='describe' for the full action/param reference. Destructive: delete.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Invitation state filter. | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| expires | No | Updated expiration (ISO 8601 or YYYY-MM-DD HH:MM:SS). | |
| entity_id | No | Opaque ID of a specific object (file, comment, worklog entry, etc.). Pair with entity_type to disambiguate. 19-digit ID or custom name. | |
| new_state | No | New invitation state. | |
| entity_type | No | Workspace or share. | |
| permissions | No | Updated permission level. | |
| invitation_id | No | Invitation opaque ID or invitee email. | |
| notifications | No | Notification preference (workspace). | |
| notify_options | No | Notification preference (share). |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
memberADestructiveInspect
Workspace/share member management: add, remove, update, transfer ownership, join, leave. Call action='describe' for the full action/param reference. Destructive: remove.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Share permission level. | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| expires | No | Expiration: workspace ISO 8601, share YYYY-MM-DD HH:MM:SS. | |
| message | No | Invitation email message (10-255 chars). | |
| user_id | No | User profile ID (share). | |
| entity_id | No | Opaque ID of a specific object (file, comment, worklog entry, etc.). Pair with entity_type to disambiguate. 19-digit ID or custom name. | |
| member_id | No | Member ID (workspace). | |
| expiration | No | Alias for expires (share only). | |
| entity_type | No | Workspace or share. | |
| permissions | No | Workspace permission level. | |
| notifications | No | Notification preference (workspace string). | |
| invitation_key | No | Invitation key string. | |
| notify_options | No | Notification preference (share). | |
| email_or_user_id | No | Email (to invite) or user ID (to add directly). | |
| invitation_action | No | Accept or decline. | |
| force_notification | No | Force notify existing user (workspace-only). | |
| invitation_expires | No | Invitation expiration ISO 8601 (workspace-only). |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
orgADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Display name (3-100 chars). | |
| role | No | Permission level: admin, member, guest, view (not 'owner'). | |
| No | Email address of user to invite. | ||
| limit | No | Page size. | |
| meter | No | Meter type, e.g. storage_bytes, transfer_bytes, ai_tokens. | |
| scope | No | AI instructions scope: "profile" (default, owner/admin) or "me" (per-user). | |
| state | No | Invitation state, e.g. pending, accepted. | |
| token | No | Transfer token for ownership claim. | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| detail | No | Per-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. | |
| domain | No | URL-safe subdomain (2-63 chars, lowercase, unique). | |
| offset | No | Pagination offset (0-based). | |
| org_id | No | Organization 19-digit ID or domain string. | |
| confirm | No | Confirmation string, must match org domain or ID. | |
| content | No | Plain text content. asset-upload: e.g. SVG body. instructions-set: markdown body (max 65536 bytes UTF-8). | |
| expires | No | Updated expiration datetime. | |
| message | No | Custom invitation email message (10-255 chars). | |
| user_id | No | User ID. | |
| end_time | No | End datetime (default now). | |
| hostname | No | Custom domain FQDN, e.g. files.acme.com. | |
| industry | No | Industry type, e.g. technology, healthcare, financial. | |
| metadata | No | Additional metadata as JSON array string. | |
| share_id | No | Filter by share ID. | |
| token_id | No | Transfer token ID. | |
| file_name | No | Original file name, e.g. logo.png. | |
| member_id | No | User ID or email of member. | |
| perm_join | No | Permission level required to join workspace. | |
| asset_name | No | Asset name, e.g. "logo", "banner". | |
| start_time | No | Start datetime (default 30 days ago). | |
| description | No | Description (10-1000 chars). | |
| domain_name | No | Domain to check for availability. | |
| file_base64 | No | Base64 file content for binary assets. | |
| folder_name | No | URL-safe workspace folder name (4-80 chars). | |
| join_action | No | Invitation action: accept/decline. | |
| permissions | No | Updated permission level. | |
| twitter_url | No | Twitter/X profile URL. | |
| youtube_url | No | YouTube channel URL. | |
| accent_color | No | Brand accent color as JSON. | |
| billing_plan | No | Plan ID, e.g. 'agent', 'free', 'pro'. | |
| content_type | No | MIME type, e.g. image/png. Defaults to application/octet-stream. | |
| facebook_url | No | Facebook page URL. | |
| homepage_url | No | Organization website URL. | |
| intelligence | No | Enable RAG indexing. COSTS 10 credits/page. Defaults "false". See describe. | |
| workspace_id | No | Workspace 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_email | No | Billing contact email. | |
| display_limit | No | Number 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_url | No | Instagram profile URL. | |
| invitation_id | No | Invitation ID or invitee email. | |
| owner_defined | No | Custom owner-defined properties as JSON. | |
| invitation_key | No | Invitation key from invite link. | |
| use_background | No | Enable/disable background, "true"/"false". | |
| background_mode | No | Background display mode, e.g. 'stretched', 'fixed'. | |
| background_color | No | Background color as JSON. | |
| background_color1 | No | Primary background color as JSON. | |
| background_color2 | No | Secondary background color as JSON. | |
| perm_member_manage | No | Who can manage members, e.g. 'Owner only'. | |
| perm_authorized_domains | No | Authorized email domain for auto-join. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
storageADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Alias for query. | |
| name | No | Name for new folder or file. | |
| size | No | Size preset: "IconSmall", "IconMedium", "Preview", or custom. | |
| type | No | Filter by node type. | |
| limit | No | Max results (1-500, default 100). | |
| query | No | Search query — keyword, or keyword + semantic when intelligence is on. | |
| width | No | Target width in pixels. | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| cursor | No | Opaque cursor from a previous response. | |
| detail | No | Per-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). | |
| height | No | Target height in pixels. | |
| offset | No | Results to skip (default 0). | |
| details | No | Search-only. Return fully-hydrated node objects per result (default limit drops to 10). Distinct from `detail` — call action='describe' for the contrast. | |
| node_id | No | Storage tree node opaque ID. Both files and folders are nodes — use this name regardless of which. Storage node opaque ID, or 'root'. | |
| sort_by | No | Sort column (default: name). | |
| max_size | No | Max read-content bytes (default 512000, max 1048576). | |
| new_name | No | New name for file or folder. | |
| node_ids | No | Storage node opaque IDs (details: 1-25 max). | |
| share_id | No | Share identifier to link (workspace-only). | |
| sort_dir | No | Sort direction (default: asc). | |
| upload_id | No | Opaque ID of completed upload session. | |
| context_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic 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_id | No | Version ID to restore. | |
| files_scope | No | Scope semantic search to file versions. See describe for full constraints. | |
| context_type | No | Alias for profile_type (either name works) | |
| preview_type | No | Type of preview to generate. See describe for which preview_types apply to which file categories. | |
| profile_type | No | Profile type: "workspace" or "share". | |
| display_limit | No | How 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_scope | No | Scope semantic search to folders via BFS. See describe for full constraints. | |
| output_format | No | Output format: "png", "jpg", "webp". | |
| transfer_mode | No | 'copy' (default) or 'move'. 'move' invalid for node_id 'root'. | |
| dest_parent_id | No | Destination parent folder opaque ID, or 'root'. | |
| parent_node_id | No | Parent folder opaque ID, or 'root'. | |
| transform_name | No | Transform name, e.g. "image" for resize/crop/format. | |
| dest_instance_id | No | Destination workspace or share profile ID. | |
| target_parent_id | No | Destination folder opaque ID, or 'root'. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
taskADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Task list name (1-255 chars). | |
| limit | No | Items to return (1-200). | |
| title | No | Task title (1-500 chars). | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| filter | No | "assigned", "created", or "status" (needs status param). | |
| format | No | Response format: "json" (default) or "md". | |
| offset | No | Pagination offset. | |
| status | No | Task status. | |
| list_id | No | Task list ID. | |
| node_id | No | Storage 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_by | No | Sort field. | |
| task_id | No | Task ID. | |
| assignee | No | Filter tasks by assignee profile ID. | |
| list_ids | No | Task list IDs for reorder-lists (desired order). | |
| priority | No | 0=none, 1=low, 2=medium, 3=high, 4=critical. | |
| sort_dir | No | Sort direction: "asc" or "desc". | |
| task_ids | No | Task IDs (bulk-status max 100; reorder-tasks order). | |
| context_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic 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_order | No | Position in target list after move (default 0). | |
| assignee_id | No | Profile ID of assignee (incl. pending members). null to unassign. | |
| description | No | Description (max 2000 for lists, 5000 for tasks). | |
| context_type | No | Alias for profile_type (either name works) | |
| dependencies | No | Task IDs this task depends on. | |
| profile_type | No | Profile type: "workspace" or "share". | |
| display_limit | No | Number 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_id | No | Target task list ID for move-task (same profile). |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
todoADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| done | No | Completion state. | |
| limit | No | Page size 1-200 (default 100). | |
| title | No | Todo title (1-500 chars). | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| filter | No | Filter category. | |
| format | No | Response format (default json). | |
| offset | No | Offset for pagination. | |
| sort_by | No | Sort field (default 'created'). | |
| todo_id | No | Todo opaque ID. | |
| sort_dir | No | Sort direction (default 'desc'). | |
| todo_ids | No | Array of todo IDs (max 100). | |
| context_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID. | |
| assignee_id | No | User profile ID to assign (including pending members); pass 'null' string to unassign on update. | |
| filter_done | No | Filter by completion state. | |
| context_type | No | Alias for profile_type (either name works) | |
| profile_type | No | Profile type. | |
| display_limit | No | Number of todos to return to the agent (default 10, max 200). Backend page_size unchanged for cache warmth — trims post-fetch only. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
uploadADestructiveInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| org | No | Org ID for limit resolution. | |
| url | No | Source URL to import from. | |
| hash | No | File hash for verification. | |
| plan | No | Override billing plan to check (e.g. free, pro). | |
| wait | No | Long-poll duration ms (0 = return immediately). | |
| files | No | Batch manifest (1..200 entries). Each: filename + one of blob_id/content/content_base64. | |
| limit | No | Max results (1-100, default 50). | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| offset | No | Pagination offset. | |
| status | No | Filter by status. | |
| stream | No | Stream mode — size optional, single POST, auto-finalizes. | |
| blob_id | No | Blob ID from POST /blob. Preferred for binary/large files. Single-use. | |
| content | No | **Text only** — stored verbatim UTF-8. Do NOT pass base64 here (use content_base64). One of content/content_base64/blob_id. | |
| creator | No | Client identifier echoed back (alphanumeric + hyphens). | |
| file_id | No | File ID for update context. | |
| blob_ref | No | Alias for blob_id (deprecated). | |
| chunk_id | No | Specific chunk number (omit for all). | |
| filename | No | File name. Optional when target_node_id is set (auto-resolved); pass to rename-on-replace. | |
| filesize | No | Total file size in bytes. | |
| max_size | No | Stream-body byte ceiling — aborts mid-transfer if exceeded. Always overestimate; omit to use plan limit. Stream sessions only. | |
| folder_id | No | Target folder OpaqueId or "root". Omit for instance root. | |
| hash_algo | No | Hash algorithm (e.g. 'sha256'). | |
| upload_id | No | Upload session ID or web upload job ID. | |
| chunk_size | No | Chunk size in bytes (server picks default). | |
| context_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic 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_id | No | Target workspace/share ID. | |
| chunk_number | No | 1-indexed chunk number. | |
| context_type | No | Alias for profile_type (either name works) | |
| include_hash | No | Compute SHA-256 client-side for entries without a hash (default true when omitted). | |
| profile_type | No | Target type: workspace or share (alias: context_type). | |
| action_context | No | Context: create or update. | |
| content_base64 | No | Base64-encoded **binary** — server decodes before writing. Whitespace stripped. Practical cap a few MB; use blob_id for larger. | |
| parent_node_id | No | Parent folder OpaqueId or "root". On create-session, stream-upload, and web-import, folder_id is accepted as an alias (either name works). | |
| target_node_id | No | Overwrite 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. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
userBDestructiveInspect
User profile, contacts, invitations, assets, and personal AI instructions. Call action='describe' for the full action/param reference. Destructive: close.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return (1-500, default 100) | |
| query | No | Contact search substring. | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| offset | No | Number of items to skip (default 0) | |
| content | No | Plain text content (asset upload or instructions body, max 65536 bytes UTF-8 for instructions). | |
| user_id | No | 19-digit user ID or email. | |
| archived | No | True for archived shares, false for active. | |
| filename | No | Original filename. | |
| last_name | No | Family name. | |
| asset_name | No | Asset type name (e.g. profile_pic). | |
| first_name | No | Given name. | |
| confirmation | No | Email or user ID confirmation for account close. | |
| content_type | No | MIME type. | |
| display_limit | No | How 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_address | No | Email address. | |
| invitation_id | No | Invitation opaque ID or key. | |
| content_base64 | No | Base64-encoded binary content. | |
| invitation_key | No | Invitation key. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter by entry type. | |
| limit | No | Page size 1-200. | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| filter | No | Filter category. | |
| format | No | Response format (default json). | |
| offset | No | Offset for pagination. | |
| content | No | Entry body (1-10000 chars). | |
| entry_id | No | Worklog entry ID. | |
| sort_dir | No | Sort direction (default 'desc'). | |
| entity_id | No | Opaque 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_id | No | Alias for profile_id (either name works) | |
| profile_id | No | Polymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. 19-digit profile ID. | |
| description | No | Alias for content. | |
| entity_type | No | Entity type. | |
| context_type | No | Alias for profile_type (either name works) | |
| profile_type | No | Profile type. | |
| display_limit | No | How 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. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
workspaceADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search keyword(s). 1-1024 chars. Multi-token = ALL tokens (AND); case-insensitive; substring for ≤64 chars, else whole-word. | |
| keys | No | JSON array of metadata keys to delete (omit for all). | |
| name | No | Name. 2-100 chars (update/metadata-template-*); 1-255 (preview-match). Send "null" to clear on update. | |
| limit | No | Maximum number of items to return (1-500, default 100) | |
| scope | No | AI instructions scope: 'profile' (workspace-wide; owner/admin) or 'me' (per-user; any member). Independent slots, do NOT merge. | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| config | No | Saved-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`. | |
| detail | No | Per-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. | |
| fields | No | JSON 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?}. | |
| offset | No | Number of items to skip (default 0) | |
| org_id | No | Filter workspaces to this org. | |
| blob_id | No | Blob ID from POST /blob. Preferred for large note content (UTF-8 decoded). Single-use. | |
| confirm | No | Must match folder_name or numeric ID. | |
| content | No | Plain text/markdown. Notes: max 102400 bytes (100 KiB) — use blob_id for larger. Instructions: max 65536 bytes UTF-8. | |
| node_id | No | Storage tree node opaque ID. Both files and folders are nodes — use this name regardless of which. | |
| archived | No | Filter by archive status (default "false"). | |
| blob_ref | No | Alias for blob_id (deprecated). | |
| category | No | Metadata template category. | |
| node_ids | No | JSON array of node IDs (1-25, same workspace; deduped server-side). Bulk metadata-get returns {format:'multi', objects, templates, errors}. | |
| order_by | No | Field key to sort metadata file list by. | |
| share_id | No | 19-digit numeric ID or custom name of share to import. | |
| note_name | No | Note filename (must end with .md). | |
| parent_id | No | Parent folder opaque ID or 'root'. | |
| perm_join | No | Who can join the workspace. | |
| key_values | No | JSON object of key-value pairs matching template fields. | |
| order_desc | No | Sort descending: 'true' or 'false'. | |
| description | No | Description. 10-1000 chars (update/metadata-template-*); 1-2000 (preview-match/suggest-fields). Newlines allowed. Send "null"/"" to clear on update. | |
| folder_name | No | URL-safe workspace folder name (4-80 chars). | |
| template_id | No | Metadata template ID (e.g. mt_abc123). For metadata-search, restricts to nodes with values from this template (custom fields excluded). | |
| accent_color | No | Brand accent color JSON. "null" to clear. | |
| check_org_id | No | Org ID for check-name — suggests org-prefixed alternative if name taken. | |
| intelligence | No | Toggle AI features. ⚠️ COSTS CREDITS (10/page) — only enable on explicit user request. Disable flushes embeddings; re-enable re-indexes. Rate-limited. | |
| user_context | No | Short view/template hint (1-64 chars, letters/numbers/spaces). Example: "photo collection". | |
| workspace_id | No | Workspace 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_limit | No | How 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_check | No | Folder name to check availability. | |
| owner_defined | No | Custom properties JSON. "null"/"" to clear. | |
| extract_fields | No | JSON array of field names to extract (e.g. `["vendor","amount"]`); omit/null for full row. | |
| parent_node_id | No | Destination folder opaque ID for TSV export (must be folder, not trashed). Omit for workspace root. | |
| template_filter | No | Filter for metadata template list. | |
| metadata_filters | No | JSON filter criteria for metadata file listing. | |
| background_color1 | No | Background color 1 JSON. "null" to clear. | |
| background_color2 | No | Background color 2 JSON. "null" to clear. | |
| perm_member_manage | No | Who can manage members. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!