An MCP server for generating 3D models from images using Stability AI's Stable Fast 3D API
This server presents 3 well-named tools with complete input schemas and generally strong descriptions. Tool names follow verb_noun convention (generate_3d_model, check_api_balance). Parameter descriptions are detailed and include constraints (e.g., texture_resolution enum, foreground_ratio range 0.1 - 1.0, vertex_count -1 to 20000). However, output schemas are not formally documented, the functions return plain strings ('Successfully generated 3D model: {out_path}' or error messages) rather than structured objects. There is basic parameter validation in the code but no documented error recovery guidance. All three tools have descriptions exceeding 100 characters, meeting the baseline. Parameter descriptions average 60 - 100 characters and include ranges, enums, and rationale.
Check the remaining credit balance for your Stability AI account.
Generate a 3D model (GLB file) from a 2D image using Stability AI's Stable Fast 3D API.
Generate a 3D model (GLB file) from a base64-encoded image using Stability AI's Stable Fast 3D API.
Output schemas not documented. Tools return plain strings instead of structured objects. LLMs cannot parse multi-field responses or plan downstream tool calls based on return structure. E.g., generate_3d_model returns 'Successfully generated 3D model: {out_path}', should return a typed object with fields like {success: bool, file_path: string, file_size: int, generation_time_ms: int}.
Error responses are unstructured plain strings. Examples: 'Error: texture_resolution must be...' or 'API Error (400): ...'. These lack actionable recovery guidance. Per pattern:recovery-guide, errors should guide the LLM: e.g., 'Invalid texture_resolution. Allowed values: 512, 1024, 2048. Higher values = more detail but larger files.'
No output pagination or limits documented. generate_3d_model returns a file path string; check_api_balance returns balance data. If check_api_balance were extended to return transaction history or usage details, there should be limit/offset parameters and clear documentation of max results. Currently under-specified.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Tool descriptions do not explicitly state mutability. generate_3d_model and generate_3d_model_from_base64 are destructive (write GLB files), but descriptions do not declare 'This tool generates and writes a GLB file to disk.' Agents need to know which calls have irreversible side effects.
API key injection via environment variable. While server-side secret injection is correct, the code does not document this in tool descriptions or README. A user deploying this server must know to set STABILITY_API_KEY. This is a setup prerequisite that should be surfaced prominently.