The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the VisualSpec listing page.
Deterministic visual generation for AI agents.
AI creates the imagery. VisualSpec guarantees the typography and layout.
bash
# Instant workspace setup (no clone required)
npx @utkarshx27/visualspec init
# Launch local MCP Server for Cursor, Claude Desktop, or Antigravity
npx @utkarshx27/visualspec mcp
The Core Problem
Most image-generation workflows fail for social and marketing graphics because a single natural-language prompt is expected to handle too many concerns at once:
# Initialize a new VisualSpec workspace
npx @utkarshx27/visualspec init
# Launch local MCP Server for Cursor, Claude, or Antigravity IDE
npx @utkarshx27/visualspec mcp
VisualSpec runs as a native MCP server over stdio, enabling AI coding assistants (Cursor, Claude Code, Gemini CLI, and Antigravity IDE) to invoke visual tools directly:
bash
# Launch MCP server over stdio
npx @utkarshx27/visualspec mcp
# Or if installed globally
visual mcp
Available MCP Tools
visual_brief_to_spec: Convert natural language requests into valid VisualSpec YAML.
visual_validate_spec: Schema validation for specs.
visual_render: Deterministic layout & typography rendering (zero API key).
visual_generate: Full image model adapter + deterministic text overlay pipeline.
visual_check_qa: Inspect safe margins, line counts, dimensions, and invariants.
visual_repair: Automated diagnosis and localized typography/layout repair.
visual_list_resources: List supported platform packs and templates.
See the MCP Setup Guide for Cursor, Claude Desktop, and Antigravity IDE configuration snippets.
Output Bundle
Every generation creates a complete, reproducible debug bundle:
text
output/demo-launch/
├── final.png # Platform-ready asset
├── visual-spec.yaml # Original input specification
├── resolved-spec.yaml # Full spec with platform & template rules applied
├── generation-request.json # Exact prompt and negative parameters sent to model
├── qa-report.json # Deterministic and constraint QA verification results
└── metadata.json # Execution timestamps and file index