Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/gratitude5dee/wzrd-studio-desktopfinal/llms.txt

Use this file to discover all available pages before exploring further.

WZRD Studio’s MCP server is a fully compliant JSON-RPC 2.0 endpoint deployed as a Supabase Edge Function. It implements the standard MCP handshake — initialize, tools/list, and tools/call — so any agent harness that speaks the Model Context Protocol can discover WZRD’s generation, billing, and editing tools without any custom glue code.

Server Details

PropertyValue
Base URLhttps://ixkkrousepsiorwlaycp.supabase.co/functions/v1/mcp-server
TransportStreamable HTTP (JSON-RPC 2.0)
AuthenticationSupabase JWT — Authorization: Bearer <token>
Protocol version2025-03-26
DiscoveryGET the base URL to retrieve server info and tool names
A GET request to the server URL returns the tool manifest without authentication:
curl https://ixkkrousepsiorwlaycp.supabase.co/functions/v1/mcp-server
{
  "name": "wzrd-studio",
  "version": "1.0.0",
  "transport": "streamable-http-jsonrpc2",
  "endpoint": "/functions/v1/mcp-server",
  "tools": [
    "list_models",
    "start_shot_stream",
    "render_timeline",
    "run_studio_graph",
    "make_magic",
    "create_checkout_session",
    "edit_timeline"
  ]
}

Public Agent Discovery

WZRD Studio publishes a well-known agent discovery document at /.well-known/agents.json. Any agent discovery crawler can find the MCP server, supported harnesses, and per-harness config file locations from this single endpoint.
{
  "$schema": "https://lovable.dev/schemas/well-known-agents.json",
  "name": "WZRD Studio",
  "description": "Agentic film/video generation studio. Build, score, generate.",
  "homepage": "https://gmistudio.lovable.app",
  "mcp": {
    "url": "https://ixkkrousepsiorwlaycp.supabase.co/functions/v1/mcp-server",
    "transport": "streamable-http",
    "auth": "bearer"
  },
  "skills_index": "/agent-skills/index.json",
  "supported_harnesses": ["claude-code", "codex", "openclaw", "hermes"],
  "configs": {
    "claude-code": "/.claude/CLAUDE.md",
    "codex": "/.codex/codex.md",
    "openclaw": "/.openclaw/manifest.json",
    "hermes": "/.hermes/agent.yaml"
  }
}

Available Tools

The MCP server exposes seven tools mapped from the agent-skills/index.json manifest. Each tool corresponds to a composable WZRD workflow documented in Agent Skills.

list_models

Read the WZRD AI model catalog with credit cost, provider, and media type. Optionally filter by mediaType or provider.

start_shot_stream

Stream image or video generation for a single shot via SSE. Returns progress and asset_url events ending with complete or error.

render_timeline

Auto-generate every shot in a project — run images phase first, then videos. Polls progress over a project-wide SSE stream.

run_studio_graph

Execute a saved compute graph node-by-node for a given project_id. Streams node_id, status, progress, and artifacts events.

make_magic

Full end-to-end pipeline: concept → project → storyline → auto-generate → Director’s Cut. Returns a final_url when complete.

create_checkout_session

Launch a billing checkout URL for a plan upgrade (pro, enterprise) or a credit pack. Returns a Stripe-hosted checkout_url.

edit_timeline

Drive the QCut editor timeline (import, add clip, split, delete, title, export) when the desktop app has /editor open. Requires a local MCP auth token.

Connecting an MCP Client

1

Obtain a Supabase JWT

Authenticate through the WZRD wallet-auth flow to receive a Supabase session token. Pass it as a Bearer token on every tools/call request.
2

Send the initialize handshake

const response = await fetch(
  'https://ixkkrousepsiorwlaycp.supabase.co/functions/v1/mcp-server',
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${supabaseJwt}`,
    },
    body: JSON.stringify({
      jsonrpc: '2.0',
      id: 1,
      method: 'initialize',
      params: {
        protocolVersion: '2025-03-26',
        clientInfo: { name: 'my-agent', version: '1.0.0' },
      },
    }),
  }
);

const { result } = await response.json();
// result.serverInfo  → { name: 'wzrd-studio', version: '1.0.0' }
// result.capabilities → { tools: {} }
3

Discover available tools

const toolsResponse = await fetch(MCP_URL, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${jwt}` },
  body: JSON.stringify({ jsonrpc: '2.0', id: 2, method: 'tools/list' }),
});

const { result } = await toolsResponse.json();
// result.tools → [{ name, description, inputSchema }, ...]
4

Call a tool

const callResponse = await fetch(MCP_URL, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${jwt}` },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: 3,
    method: 'tools/call',
    params: {
      name: 'list_models',
      arguments: { mediaType: 'video' },
    },
  }),
});

const { result } = await callResponse.json();
// result.content → [{ type: 'text', text: '[{ "id": "gmi/ltx-fast-i2v", ... }]' }]
Batch requests are supported. Send a JSON array of JSON-RPC 2.0 objects in one POST and receive an array of results. Notification methods (e.g. notifications/initialized) return HTTP 204 with no body.

Authentication

All mutating tool calls (run_studio_graph, create_checkout_session, etc.) require a valid Supabase JWT in the Authorization header. Read-only tools like list_models accept an optional token for user-tier sorting but will succeed without one.
# Authenticated tool call
curl -X POST https://ixkkrousepsiorwlaycp.supabase.co/functions/v1/mcp-server \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <your-supabase-jwt>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "list_models",
      "arguments": { "mediaType": "video" }
    }
  }'
Never expose your Supabase service-role key in a client-side agent. Agents should use the user-scoped JWT obtained via the wallet-auth edge function, not the service role key.

Per-Agent Configuration Files

WZRD Studio ships ready-to-use configuration files for the four supported autonomous agent harnesses. Each file is the canonical entry point that tells the agent where to find the MCP server, which files it may edit, and what commands to run.

Claude Code

.claude/CLAUDE.md — Project guide for Claude Code including stack overview, allowed/forbidden file edits, and MCP server URL.

Codex CLI

.codex/codex.md — Codex CLI guide with the same stack and server information in Codex prompt format.

OpenClaw

.openclaw/manifest.json — Structured JSON manifest consumed by the OpenClaw harness.

Hermes

.hermes/agent.yaml — YAML agent harness config for Hermes, including capability declarations.

Allowed and Forbidden Agent Actions

The agents.md file at the repo root defines what autonomous agents are permitted to do when working inside the WZRD Studio codebase. Allowed
  • Edit anything in src/, supabase/functions/, agent-skills/, and docs/.
  • Add new Edge Functions under supabase/functions/<name>/index.ts.
  • Create new SQL migrations via the Lovable migration tool.
Forbidden
  • Do not modify src/integrations/supabase/types.ts (auto-generated).
  • Do not modify files under supabase/migrations/ after creation.
  • No raw SQL through supabase.rpc('execute_sql', …).
  • No direct queries against auth.users from clients or Edge Functions.
Before calling any generation tool, call list_models to confirm the target model exists, then check credit balance via your app’s billing endpoint. Generation tools return a 402 with { code, required, available, top_up_url } when credits run out — surface top_up_url to the user rather than failing silently.

Build docs developers (and LLMs) love