Use Cleus's uncensored chat, Story mode and video models straight from your coding agent. One MCP server, one API key.
https://api.cleus.ai/mcpWorks with Claude Code, Codex, Cursor, Claude Desktop, VS Code and any MCP client.
Cleus Fast, two Smartest reasoning models and the Cleus Agent. Candid answers, creative writing and drafts your agent would otherwise refuse.
Long-form fiction chapter by chapter, with story memory that keeps characters and facts consistent. Every story also opens in Story Studio.
Uncensored text-to-video and image-to-video, 5 or 10 seconds, 480p or 720p, in any aspect ratio. Delivered as a hosted MP4.
Uncensored+ and Quality+ image models, up to 4 images per call. Your agent can drop them straight into your project.
Open cleus.ai/developers, sign in and click Create key. Copy the clsk_live_… key right away, since it's only shown once.
The MCP server bills your USD balance, which any Cleus subscription unlocks. Add balance if you're at $0.
Replace clsk_live_YOUR_KEY with your key. Pick your client:
Run this once in any terminal. --scope user makes Cleus available in every project.
claude mcp add --transport http --scope user cleus https://api.cleus.ai/mcp \
--header "Authorization: Bearer clsk_live_YOUR_KEY"Start claude and type /mcp. You should see cleus · connected with 9 tools.
To share it with a team, commit a .mcp.json in the repo root instead and have everyone set CLEUS_API_KEY in their shell:
{
"mcpServers": {
"cleus": {
"type": "http",
"url": "https://api.cleus.ai/mcp",
"headers": { "Authorization": "Bearer ${CLEUS_API_KEY}" }
}
}
}Put your key in an environment variable (add the export to ~/.zshrc or ~/.bashrc so it sticks), then add the server:
export CLEUS_API_KEY=clsk_live_YOUR_KEY
codex mcp add cleus --url https://api.cleus.ai/mcp --bearer-token-env-var CLEUS_API_KEYOr add it by hand to ~/.codex/config.toml. The longer tool timeout gives videos and chapters room to finish:
[mcp_servers.cleus]
url = "https://api.cleus.ai/mcp"
bearer_token_env_var = "CLEUS_API_KEY"
tool_timeout_sec = 120Check it with codex mcp list, or type /mcp inside Codex.
Open Settings → MCP → Add new global MCP server, or edit ~/.cursor/mcp.json:
{
"mcpServers": {
"cleus": {
"url": "https://api.cleus.ai/mcp",
"headers": { "Authorization": "Bearer clsk_live_YOUR_KEY" }
}
}
}Go to Settings → Developer → Edit Config and add this to claude_desktop_config.json, then restart Claude. Needs Node.js 18+ (the mcp-remote bridge connects the desktop app to the remote server).
{
"mcpServers": {
"cleus": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.cleus.ai/mcp", "--header", "Authorization:${CLEUS_AUTH}"],
"env": { "CLEUS_AUTH": "Bearer clsk_live_YOUR_KEY" }
}
}
}Add .vscode/mcp.json to your workspace. VS Code asks for your key the first time and stores it securely:
{
"servers": {
"cleus": {
"type": "http",
"url": "https://api.cleus.ai/mcp",
"headers": { "Authorization": "Bearer ${input:cleus-key}" }
}
},
"inputs": [
{ "type": "promptString", "id": "cleus-key", "description": "Cleus API key", "password": true }
]
}https://api.cleus.ai/mcpAuthorization: Bearer clsk_live_…Client only speaks stdio? Run it through the bridge: npx -y mcp-remote https://api.cleus.ai/mcp --header "Authorization:Bearer clsk_live_…"
Mention Cleus in your prompt and your agent picks the right tool. Try:
cleus_chatSend a prompt (plus optional system instructions) to cleus-fast, cleus-smartest-1, cleus-smartest-2 or cleus-agent.
cleus_story_createStart a story (title, plot, genres, characters, style, chapter length, explicit 18+ wording) and write chapter 1.
cleus_story_continueWrite the next chapter, optionally steered with a direction.
cleus_story_readRead a story’s premise, chapter list and any chapter (or all of them).
cleus_story_listList your stories and their ids, including ones made on the web.
cleus_generate_videoText-to-video or image-to-video (from a public image URL). Returns a hosted MP4.
cleus_generate_imageGenerate 1–4 images with the Uncensored+ or Quality+ model.
cleus_get_resultWait for a video, image, long reply or chapter that came back as “processing”.
cleus_balanceShow your remaining USD balance.
| Chat (input + output) | $7.20 / 1M tokens |
| Story chapter (story memory + output) | $6 / 1M tokens |
| Video (480p / 720p) | $0.24 / $0.48 per clip |
| Image (Uncensored+ / Quality+) | $0.03 / $0.06 per image |
Same prices as the Cleus API, billed from your USD balance. You only spend what you add.
The Authorization header isn’t reaching Cleus. Check the header is exactly “Authorization: Bearer clsk_live_…”. If you use the CLEUS_API_KEY environment variable, export it in your shell profile and restart your terminal before starting Claude Code or Codex.
The API and MCP server run on your USD balance, which is unlocked by any Cleus subscription. Add balance at cleus.ai/add-credits. Daily credits are never used by the API.
That’s normal. Videos take 1–3 minutes and long chapters can take over a minute. Your agent is told to call cleus_get_result with the job id until it finishes, and you can also just ask it to check again.
Update Codex (npm i -g @openai/codex@latest). On older versions, add experimental_use_rmcp_client = true at the top of ~/.codex/config.toml, or connect through the mcp-remote bridge shown in the Claude Desktop section.
Cleus returns hosted URLs. Ask your agent to download them into your project, e.g. “save it to assets/”. Claude Code and Codex will fetch the file for you.
Yes. Stories made over MCP are saved to your account and open in Story Studio at cleus.ai/story, where you can export them as EPUB, PDF or DOCX. Stories you started on the web can be continued from your agent too.
Your key is only sent to api.cleus.ai over HTTPS, and Cleus only stores a hash of it. Don’t commit a raw key in a shared .mcp.json; use ${CLEUS_API_KEY} instead. You can revoke a key anytime at cleus.ai/developers.
Create a key, paste one command, and you're in.