This is a well-structured MCP server with 17 tools covering file operations and portal navigation. Tool naming follows verb_noun convention consistently (browse_, list_, create_, delete_, etc.). All tools have descriptions ranging 30-150 chars, meeting the baseline requirement. Input schemas are fully defined with JSON Schema types and descriptions for all parameters. However, there are critical gaps in output schema documentation, error handling guidance, and risk-aware descriptions that prevent a higher score. The server correctly uses the fastmcp decorator pattern and includes context-aware session management, but lacks actionable error messages, retry guidance, and confirmation patterns for destructive operations.
Browse to the global administration scope.
Browse to a specific Team Portal tenant.
Copy a file or directory to a new location.
Create a new directory in the CTERA Portal.
Create a public link for sharing a file or directory.
Delete multiple files or directories.
No output schema documentation. All 17 tools lack explicit documentation of what fields/structure they return. LLMs cannot plan downstream calls or extract required data for chaining operations.
No error handling guidance. None of the 17 tools document what errors can occur, whether they are retryable, or what the LLM should do next. ctera_portal_delete_items and ctera_portal_recover_items especially lack recovery suggestions.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 78 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 41 | - | v1 |
Download a file from the CTERA Portal to local storage.
Get a permanent link to a file or directory.
List the contents of a directory in the CTERA Portal.
List all versions of a specific file.
Move a file or directory to a new location.
Read the contents of a text file from the CTERA Portal.
Recover previously deleted files or directories.
Rename a file or directory.
Upload a file to the CTERA Portal.
Upload content directly to the CTERA Portal as a file.
Get information about the currently authenticated user.
No confirmation or dry-run pattern for destructive operations. ctera_portal_delete_items is marked DESTRUCTIVE but has no confirmation step, dry-run option, or force-confirm parameter to prevent accidental data loss.
Descriptions lack actionable context. While all tools have descriptions, they are brief (40-80 chars) and lack WHEN/WHY guidance. Example: ctera_portal_delete_items says 'Delete multiple files or directories' but does not explain it is irreversible or reference recovery via ctera_portal_recover_items.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk levels are declared in metadata (READ_ONLY, WRITE, DESTRUCTIVE, REVERSIBLE) but are not accessible to the MCP client via tool annotations in the current fastmcp implementation visible in the code.
Parameter descriptions lack format/constraint details. Parameters like 'path', 'source', 'destination' have minimal descriptions and no guidance on expected format (absolute vs relative paths, case sensitivity, special character handling).
ctera_portal_create_public_link has enum parameter 'access' with only two values (RO, RW) but the description is generic. Parameter description should explicitly state: 'Access level: RO (read-only) or RW (read-write)'.
ctera_portal_list_versions returns a list of timestamps but schema shows list[] with no item description. Unclear if this is a list of strings, integers (epoch), or objects with more metadata.
ctera_portal_browse_team_portal description mentions 'Requires global administrator privileges' but this is documented in the docstring, not in the tool description or as a precondition hint in the schema. The error message is clear but reactive rather than preventive.
No pagination support for ctera_portal_list_dir. The tool may return unbounded results for large directories. No limit, offset, page_size, or cursor parameter to cap results and support iteration.