MCP server for generating 3D models using the Context3D/Rodin API, with file system operations support
Server has 7 tools with mixed quality. generate_model has a detailed schema with 16 parameters and good description (180+ chars), but check_status and download_model have minimal descriptions (under 50 chars). File system tools (read_file, write_file, list_directory, create_directory) are generic utilities with sparse parameter documentation. No tool has output schemas documented. Error handling exists but lacks recovery guidance. Parameter descriptions are inconsistent, some detailed, others trivial. No tool annotations (readOnlyHint/destructiveHint) despite clear WRITE/READ_ONLY risk classifications.
Checks the status of the 3D model generation process using the subscription_key received from generate_model. This tool returns the status of all jobs related to the model. When all jobs have a 'Done' status, proceed to the download_model step to download the model. If any jobs are not completed (Generating, Waiting), notify the user to wait and check again later. Status can be: 'Done' (completed), 'Generating' (in progress), or 'Waiting' (queued).
Create a new directory
show file to browse
Initiates the 3D model generation process. This tool sends a request to create a 3D model based on the provided prompt and parameters. The response includes a main uuid and subscription_key, which must be saved to continue tracking progress through the check_status tool. When the request is successfully sent, the system returns a 'Submitted' message along with information about the uuid and created jobs. Note that the model generation process may take time.
List the contents of a directory
download_model has trivial description ('show file to browse') and ambiguous parameter ('task_uuid' with description 'show file to browse'). LLM cannot determine when to call this tool or what it returns.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does generate_model return besides taskUuid/subscriptionKey?). Violates pattern:tool requirement.
File system tools (read_file, write_file, list_directory, create_directory) lack path validation, traversal guards, and security context. No mention of sandbox boundaries or permission checks. Potential security risk.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Read the contents of a file
Write content to a file
Tool definitions lack annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications in metadata (WRITE vs READ_ONLY). Agents cannot infer safety properties.
check_status description does not explain what 'subscriptionKey' is or how it relates to 'uuid' from generate_model. Parameter dependency undocumented, forcing LLM to infer the workflow.