Niblet MCP server and design skill: real UI screen references for coding agents
Niblet MCP server has well-structured tool definitions with consistent naming (verb_noun pattern: niblet_search, niblet_materials, etc.) and comprehensive descriptions (100-150 chars each). All 6 tools have input schemas with typed parameters and descriptions. However, output schemas are not documented in the visible code, only input schemas are shown. Error handling is present (authenticationFailed, httpError functions) with actionable guidance, but tool descriptions lack dependency hints and prerequisites. Tool annotations (readOnlyHint, idempotentHint, openWorldHint) are declared but not visible in individual tool registrations. Parameters are well-described but lack explicit enums for categorical values (e.g., 'platform' in niblet_references could be an enum: iOS|Android|web).
Retrieve detailed information about a specific design reference from the Niblet catalogue
Display help information about Niblet commands and the design workflow
Find UI materials in the Niblet catalogue by category, license, or other filters
Find design references in the Niblet catalogue by screen type, platform, or other criteria
Search the Niblet catalogue for UI materials and design references matching a query
Check the connection status and configuration of the Niblet MCP server
Output schemas not documented. Tool descriptions state what is returned (e.g., 'Find UI materials') but do not specify the structure of the response object, field names, or types. LLMs cannot plan downstream tool calls or extract data without knowing response shape.
Categorical parameters lack enum constraints. 'platform' in niblet_references accepts free-form strings (description says 'iOS, Android, web, etc.') instead of a formal enum. LLMs may hallucinate invalid values like 'macos' or 'windows'. Enums are self-documenting and prevent invalid input.
Tool descriptions lack dependency hints and prerequisites. E.g., niblet_design_reference requires an 'id' but does not explain how to obtain one (call niblet_search or niblet_references first). Missing guidance forces agents to discover the workflow through trial and error.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2025-06-18+ | v2 |
Pagination not visible in tool definitions. niblet_search and niblet_materials accept 'limit' but no 'offset', 'page', or 'cursor' parameter. Large result sets may exceed context windows. Tool descriptions do not state result limits or pagination strategy.
Tool annotations declared globally but not per-tool. The 'annotations' object defines readOnlyHint, destructiveHint, idempotentHint, openWorldHint but these are not visible in individual tool registrations in the source. Unclear if annotations are applied to each tool or if registration code is missing from the provided snippet.