Two tools with strong descriptions and complete schemas. Both tools have well-articulated use cases, clear parameter documentation, and proper input validation. However, output schemas are not formally documented in the code, and error handling guidance could be more specific. Tool naming follows action-verb convention. Parameter descriptions are detailed and context-aware.
Fetches detailed design specifications for a specific Zeplin component, including its properties, variants, layers, and associated design tokens. Use this when you need to understand the structure and styling of a single, reusable UI element from Zeplin.
Fetches detailed design data for a specific screen from Zeplin. This includes screen variants, layer information (structure, position, styling), annotations, and project-level design tokens. Use this to understand screen layout, content, and interactions for development or review.
Output schemas not formally documented. While tool implementations return structured data (ScreenData, ComponentData types visible in src/index.ts), the MCP tool definitions do not include explicit JSON Schema documentation of return types. LLMs cannot infer what fields to expect without this.
Error handling lacks recovery guidance. While the code includes error cases (e.g., 'Screen link is not valid'), the error messages do not tell the LLM what to do next or categorize errors as retryable vs fatal. Example: 'Failed to fetch screen data: {error}' provides no recovery path.
get_screen has optional parameter 'targetLayerName' without enum constraint or format specification. Description states 'exact name' but does not define what 'exact' means or provide validation rules. LLMs may pass invalid layer names, requiring manual retry.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 16 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 54 | - | v1 |
No tool annotations present. Tools lack readOnlyHint, destructiveHint, or idempotentHint metadata. While both tools are read-only by nature, explicit annotation would help MCP clients and agents make informed decisions about caching, retry logic, and safety.
No batch or pagination variants offered. If an agent needs component data for multiple screens or screen variants, it must call get_screen repeatedly. A batch_get_screens or variant fetching within single call would reduce token overhead and latency.