VULK MCP Server - prompt-to-immersive-site connector for Claude, Codex, Cursor, Windsurf, VS Code, Gemini CLI, and MCP-compatible agents. Generate, edit, inspect, and deploy 3D/WebGL, video-rich, moodboard-driven, full-stack web projects through VULK.
VULK MCP Server demonstrates strong definition quality with well-structured tool schemas, consistent naming conventions, and comprehensive parameter validation. All 11 tools follow verb_noun naming patterns (create_visual_brief, get_project, deploy_project, etc.). Tool descriptions are detailed and contextual, explaining WHAT the tool does, WHEN to use it, and consequences. Input schemas are fully specified with Zod validation, including type constraints, min/max bounds, regex patterns, and enum restrictions. However, output schemas are not explicitly documented in the visible code, responses are constructed ad-hoc rather than formally specified. Error handling is present at the API layer but not visible in tool definitions themselves. Tool annotations (readOnlyHint, destructiveHint) are correctly applied for risk classification. One notable gap: no explicit tool-to-tool composition guidance (e.g., which tools accept the IDs returned by others), though the API design suggests reasonable chaining (create_project returns URLs that pair logically with edit_project and deploy_project). File content handling in get_project_files includes size limits and redaction guards, showing security-conscious design.
Create a complete VULK project from a prompt and return project, preview, and editor URLs. This may consume account credits.
Turn a raw idea into a concise production brief for an immersive VULK project. This does not create a project or call external services.
Deploy a VULK project to production and return the production URL. Requires an eligible VULK plan.
Apply a natural-language change to an existing VULK project. VULK updates relevant files and returns preview/editor URLs.
Generate a 3D, motion-rich, cinematic VULK web experience from a prompt, visual reference, URL, Figma, screenshot, video reference, or moodboard. Returns delivery URLs, not raw media assets.
Get metadata, preview URL, and editor URL for one VULK project.
Output schemas not explicitly documented. Tools return structured responses (project metadata, file manifests, usage stats) but no formal schema definitions are visible in the code. LLMs must infer return structure from descriptions alone, risking misaligned expectations.
list_models and get_usage have minimal descriptions (under 20 characters of substantive content). 'List AI models available to the authenticated VULK account' and 'Check API usage, credits, and rate-limit status' lack guidance on WHEN to call them or what to do with results. Descriptions should explain decision context.
subscribe tool description is vague ('Return a VULK pricing or checkout URL. This does not change billing by itself.'). Unclear whether it opens a link, returns a URL string, or triggers a side effect. LLM may misuse it expecting billing changes or mistaking it for a purchase operation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 72 | 2026-07-28+ | v2 |
Return a project's file manifest. File content is omitted by default and, when requested, is redacted and size-limited.
Check API usage, credits, and rate-limit status for the authenticated VULK account.
List AI models available to the authenticated VULK account.
List VULK projects visible to the authenticated account.
Return a VULK pricing or checkout URL. This does not change billing by itself.
Error handling strategy not visible in tool definitions. While the API layer (api.js) likely includes error handling, the MCP tool registration does not declare recovery guidance, error categories (retryable, user-fixable, fatal), or actionable recovery steps. LLMs will not know how to react to failures.
Tool-to-tool composition not documented. There is no guidance on which tool outputs feed into which tool inputs. E.g., does get_project return a projectId that edit_project expects? Are moodboard URLs returned by create_visual_brief usable by generate_immersive_site? This forces LLMs to infer structure.