An MCP server that provides tools for interacting with the Nuclino knowledge management API, enabling operations on workspaces, collections, items, and files
The server provides 21 tools with consistent naming, basic descriptions, and visible schemas. Naming follows verb_noun convention (list_, get_, create_, update_, delete_, search_) which is good. Descriptions exist for all tools but are brief (avg ~40 chars, below the 194-char baseline for A+ tools). All tools have input schemas with parameter types, though parameter descriptions are minimal. Output schemas are not documented, the rubric baseline shows 100% of A+ tools document return types, and this server has no documented outputs. No tool annotations (readOnlyHint/destructiveHint) despite risk labels being assigned in metadata. Composition is reasonable, tools are single-responsibility and chainable (e.g., list_items → get_item → update_item). Error handling is not visible in tool definitions. Parameter validation hints (ranges, enums, format constraints) are absent from descriptions despite several tools accepting strings and integers without bounds.
Create a new collection in a workspace
Create a new item in a collection
Create a new workspace
Delete a collection
Delete an item
Delete a workspace
Download a file from a workspace
Get a specific collection by ID
Output schemas not documented. The rubric baseline shows 100% of A+ tools document return types, but no tool in this server includes a description of what it returns. LLMs cannot plan downstream calls or extract the right fields without knowing response structure.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Get a specific file by ID
Get a specific item by ID
Get a specific workspace by ID
List collections in a workspace
List files in a workspace
List items in a workspace
List all workspaces
Move an item to a different collection
Search for items across workspaces
Update an existing collection
Update an existing item
Update an existing workspace
Upload a file to a workspace
Tool descriptions are too brief (avg ~40-50 chars, well below the 194-char baseline for A+ tools). Descriptions like 'List workspaces' and 'Get a workspace by ID' are functional but lack context for LLM selection. No WHEN or WHY guidance. For example, 'List all workspaces' does not explain whether this returns all accessible workspaces or just those owned by the current user, whether it includes deleted items, or what pagination strategy is used.
No parameter constraints or validation hints in descriptions. Tools like nuclino_list_workspaces accept 'limit' and 'offset' integers with no documented ranges (min/max). The rubric requires 'minimum and maximum for numeric parameters.' Without these, LLMs may pass absurd values (e.g., limit=999999 or offset=-1) that break APIs or cause timeouts.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite metadata indicating risk levels (READ_ONLY, WRITE, DESTRUCTIVE). Nuclino_delete_workspace and nuclino_delete_collection are marked DESTRUCTIVE in metadata but have no annotation in tool definitions. MCP spec supports toolAnnotations to signal to clients which tools are irreversible; absence means clients cannot warn users or rate-limit destructive operations.
No error handling guidance. Tool definitions do not document failure modes, recovery steps, or categorization (retryable vs user-fixable vs fatal). The rubric requires 'Error responses must tell the LLM what to do next.' Without this, if nuclino_create_item fails, the agent has no recovery path.
Parameter descriptions are missing or too generic. For example, nuclino_search_items has a 'query' parameter with description 'The search query', no mention of supported syntax (wildcards, boolean operators, regex), whether search is case-sensitive, or what fields are searched (title only, content, metadata).
No pagination totals or cursors documented. Tools like nuclino_list_workspaces accept limit/offset but tool definition does not specify whether the response includes a total_count or has_more flag. The rubric states 'Tools returning lists should return a total count or next_cursor' for proper pagination support.
Inconsistent parameter naming across related tools. nuclino_create_item accepts 'collection_id' (optional, can use parent_id instead) but description does not clarify when to use each or how they relate. This forces LLMs to reason about field mappings, increasing errors per the rubric's 'Mismatched naming forces LLM to reason about field mappings.'