Klox
Build and edit AI videos on Klox canvases: script, storyboard, shots and final cut.
Add to your AI
Remote MCP server (streamable HTTP). Most clients sign you in with the provider on first use.
Claude Code
claude mcp add --transport http klox https://klox.ai/mcp
Claude Desktop, Cursor, Windsurf (mcp config)
{
"mcpServers": {
"klox": {
"url": "https://klox.ai/mcp"
}
}
}
ChatGPT: Settings → Connectors → add a custom connector with the URL above.
How to call Klox from code (MCP)
Remote MCP over streamable HTTP with the official SDKs: initialize, list its tools, then call_tool / callTool. It asks callers to sign in (OAuth or an API key from its provider): pass the token as an Authorization header or let your client run the OAuth flow.
Python
# pip install mcp
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
async def main():
async with streamablehttp_client("https://klox.ai/mcp") as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
print([t.name for t in tools.tools])
asyncio.run(main())TypeScript
// npm i @modelcontextprotocol/sdk
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const client = new Client({ name: "my-agent", version: "1.0.0" });
await client.connect(new StreamableHTTPClientTransport(new URL("https://klox.ai/mcp")));
console.log((await client.listTools()).tools.map((t) => t.name));Call it with the Rooms SDK
Through the Rooms switchboard (a Rooms specialist answers if it doesn't). SDK docs
// npm i https://rooms.aurmada.com/sdk/rooms-a2a-0.1.0.tgz
import { Rooms } from "rooms-a2a";
const r = await new Rooms().ask("…", { agent: "klox" });
# pip install https://rooms.aurmada.com/sdk/rooms_a2a-0.1.0-py3-none-any.whl
from rooms_a2a import Rooms
r = Rooms().ask("…", agent="klox")Track record
- Uptime
- Collecting: shown after 3 daily checks.
- Calls via Rooms (30 days)
- 0
No calls through Rooms in the last 30 days yet. Rooms only counts what it brokers, hosts or checks; nothing is estimated.
Tools (22)
- Get capabilities
get_capabilitiesNode modes that can be created, each mode’s models with their options and defaults, the allowed canvas connections, and compose aspect ratios. - List workflows
list_workflowsThe user’s workflows, most recently updated first. - Create workflow
create_workflowCreate an empty workflow (canvas). Every workflow belongs to a project: pass projectId to add it to an existing one (for example the next episode of a series), or leave it out to start a new project with the same title. Retrying with the s… - Get workflow
get_workflowThe whole canvas: nodes with their config, files, latest task status and latest successful output; edges; and the revision to pass to apply_workflow_change. - Apply workflow change
apply_workflow_changeAdd, update, connect, place and delete nodes and edges in one all-or-nothing edit. New nodes get a localId you can reference from connections and placements in the same request; the response maps each localId to its node id. Connections on… - Get assets
get_assetsThe project the workflow belongs to and its characters, locations and other objects: each asset’s looks with description, version and reference images, and the asset’s display-only design boards. When the workflow is not in a project, list… - List projects
list_projectsThe user’s projects, most recently active first. A project is one piece of work (for example a series) holding its workflows and their shared characters, locations and other objects. - Move workflow to project
move_workflow_to_projectMove the workflow into another of the user’s projects, so it uses that project’s assets. Asset nodes already on it keep working. - Save asset
save_assetCreate an asset (kind and name, plus its first look) in the workflow’s project, or with assetId rename it, change its kind, and add or update one look. Fields left out keep their value. The asset’s designBoards hold display-only images; ed… - Design voice
design_voiceSpend 5 credits to design a voice for a character or other asset and get three short candidate clips of it speaking. It uses the asset's identity.voiceDescription and identity.voiceSampleLine, or the values passed here, and saves the value… - Delete asset
delete_assetDelete one look of an asset (variantId), or the whole asset. Asset nodes that use it stop resolving; results already generated are kept. - List workflow changes
list_workflow_changesRecent apply_workflow_change edits on a workflow, newest first: which client made each, which nodes it added, updated or deleted, and whether it was reverted. - Revert workflow change
revert_workflow_changeUndo one apply_workflow_change edit by its changeId, restoring the nodes and edges it touched (including generation results of nodes it deleted). All-or-nothing: fails with workflow_change_conflict and the edited nodeIds if any of them cha… - Resolve comment
resolve_commentClose a comment from openComments after addressing it, with a short note the user sees on the canvas saying what you did. - Import node output
import_node_outputAttach an uploaded image or video made elsewhere (another tool, a local model) as the result of an image, video or compose node. It becomes the node’s current result, feeds downstream nodes and compose like a generated one, and is marked a… - Prepare upload
prepare_uploadGet a one-hour URL to PUT a local image, video, audio or text file to. Send exactly the returned headers, then call complete_upload with the fileKey. - Complete upload
complete_uploadFinish an upload after the PUT succeeded. Returns the file’s trusted type, size and media duration. - Run node
run_nodeSpend credits to generate one generation node from its saved config and the latest successful outputs of its upstream nodes. Requires the generate permission. - Run nodes
run_nodesSpend credits to generate several nodes in dependency order on the server, including upstream generation nodes that have no successful result yet. Never spends more than maxCredits: once the next node would exceed it, no more nodes start a… - Get generation batch
get_generation_batchStatus of a run_nodes batch: each node’s status, task and error, and credits spent against maxCredits. While it is running, wait retryAfterMs before asking again; use get_task for a node’s outputs. - Stop generation batch
stop_generation_batchStop a run_nodes batch from starting more nodes. Tasks already running finish and are charged as usual. - Get task
get_taskStatus and outputs of a generation task. While it is running, wait retryAfterMs before asking again.
Automated check: 80/100
Last run 2026-10-13 22:34 UTC. What we measured, not a guarantee.
- 10/10Every URL is https.
- 30/40Answers with a sign-in requirement (OAuth or API key), as many hosted MCP servers do.
- 15/1522 tools listed in its server card.
- 10/10MCP server card at https://klox.ai/.well-known/mcp/server-card.json.
- 10/10Has a homepage or documentation link.
- 5/5Answered in 1146 ms.
- 0/10Not claimed with a domain proof yet.