MCP Server for Vercel AI SDK with Figma and magic-mcp integration
Server has 6 tools with schemas and descriptions present, but quality is inconsistent. Tool names lack clear action verbs (e.g., 'set_tool_category' is vague about what 'set' does). Descriptions are present but generic, most lack WHEN to use guidance or prerequisites. Parameter descriptions exist but are sparse (avg ~50 chars vs baseline 72). Output schemas are documented in code but not exposed to LLM context. Error handling returns error objects but lacks recovery guidance. No tool annotations (readOnlyHint, destructiveHint). Critical gap: 'generate_object' and UI generation tools accept free-form 'schema' and 'model' parameters without validation or enum constraints, inviting hallucinated values.
Extract design data from a Figma file or specific node
Generate a UI component based on Figma design data using a specified framework and styling method
Generate an enhanced UI component by combining Figma design data with design inspiration and enhancement prompts
Generate a structured object based on a text prompt using a specified LLM model and Zod schema
Generate a UI component based on a detailed description, framework, style, and styling language
Set the active tool category to control which tools are available for use
Tool names lack clear action verbs. 'set_tool_category' is ambiguous, does it enable, activate, or configure? 'generate_object' and 'generate_ui_component' are generic. Baseline: 90% of A+ tools start with specific verbs (get, create, search, update, delete, send).
Parameter 'schema' in generate_object accepts free-form object without enum or validation. LLMs will hallucinate invalid Zod schema shapes. Should constrain to known schema patterns or provide enum of supported types.
Parameter 'model' in multiple tools accepts free-form string (default 'gpt-4o'). No enum of supported models. LLMs will pass unsupported model names, causing runtime failures. Should enumerate ['gpt-4o', 'gpt-3.5-turbo', ...] or document supported providers explicitly.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Error responses return bare error objects (e.g., {error: 'Failed to extract Figma design: ...'}) without recovery guidance. Baseline: error responses must tell LLM what to do next. E.g., 'Figma API rate limited. Retry in 60s or check token validity.'
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are marked READ_ONLY in metadata but not via MCP tool annotations. Agents cannot infer safety properties from tool definitions alone.