MCP server for creating and managing React artifact projects with file writing and project initialization capabilities
Two tools with adequate names and explicit schemas, but descriptions lack actionable guidance for LLM selection. Tool descriptions are generic and do not explain WHEN to use each tool, what conditions must be met, or what the user should expect. Neither tool documents output structure. Parameter descriptions are minimal. Error handling is absent from tool definitions. The schema definitions are present and properly typed (both declare required fields and use string types), but lack constraints, enums, or validation hints. No output schemas documented. Risk-level semantics (WRITE operations) are noted but not reflected in tool descriptions. The server correctly exposes two focused tools that avoid the 'and' pattern, but composition guidance is weak.
Create a new artifact folder with an appropriate name. If the user creates an artifact folder, you should then write React artifacts using write-artifact-tsx rather than using antArtifact. It also runs the project & opens it in Cursor.
Write content to the App.tsx file of an artifact project.
Tool descriptions do not explain WHEN to use each tool or guide LLM selection. 'write-artifact-tsx' does not state that it requires a project folder to exist first, nor that it performs a destructive overwrite. 'create-new-react-artifact-folder' does not clarify that it should be called before write-artifact-tsx.
No output schema documented for either tool. LLMs cannot plan downstream operations or extract return values. The code snippet cuts off before error handling is visible.
Parameter descriptions are extremely brief and lack context. 'project_name' does not specify naming constraints, allowed characters, or max length. 'content' does not hint at expected format (JSX, valid TypeScript, etc.). 'project_name' appears in both tools but neither explains if it refers to a folder name or display name.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 53 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 36 | - | v1 |
No error handling guidance in tool definitions. Code shows that PROJECTS_PATH env var must be set; if missing, a generic error is thrown. No recovery path offered to the LLM. No guidance on what happens if project_name does not exist.
No tool annotations (destructiveHint, readOnlyHint, idempotentHint). Both tools perform file I/O and mutations (write, mkdir, rename) but this is not declared to the client. Tool descriptions note the side effects are not idempotent, multiple calls with same args will overwrite files. Missing annotations prevent proper client-side safety guardrails.
Naming: 'create-new-react-artifact-folder' is verbose and contains 'new' (often redundant with 'create'). Could be 'create-artifact-project' or 'initialize-artifact-project'. Shorter names reduce token cost. 'write-artifact-tsx' uses 'tsx' but does not indicate it's a file write operation, 'update-artifact-app' or 'write-app-tsx' would be clearer.