MCP server for AI storyboard and short drama production
Say Action is an AI storyboard MCP server that lets your AI Agent operate your workspace directly: script → episodes → storyboard → characters → generation → finished video. Describe your idea in Claude Code, Codex or Cursor. Your Agent builds nodes, connections and shots; results appear in your open canvas as it works.
https://isayaction.com/api/mcpLet an AI Agent do it · MCP / API
claude mcp add --transport http isayaction https://isayaction.com/api/mcp --header "Authorization: Bearer $ISAYACTION_API_KEY"- Paste into your terminal
- See what it can do →ⓘ
What your Agent can do
Split scripts into episodes
Organize scripts into episodes.
Write storyboards
Plan each episode’s shots.
Create character reference looks
Create character references.
Generate shots in batches
Generate multiple shots.
Build canvas workflows
Connect nodes and steps.
Render finished videos
Assemble clips into a film.
Delegate to the built-in Agent
Assign work to the built-in Agent.
Try a conversation
Make a 30-second cat short and generate first frames.
The Agent creates a canvas, writes shots, connects nodes and submits image tasks. generate_media(..., idempotencyKey=cat-frame-001).
Split this script into 12 episodes and design the lead character.
The Agent imports episodes, writes storyboards and builds character reference images. create_project(..., idempotencyKey=script-project-001); generate_media(..., idempotencyKey=character-look-001). Expert profile: reconnect with ?profile=expert and the required scopes.
Ask the built-in Agent to finish this storyboard and assemble a video.
The Agent delegates the task, checks progress and renders the available clips into a video. agent_start(..., idempotencyKey=storyboard-agent-001); render_timeline(..., idempotencyKey=storyboard-render-001). Expert profile: reconnect with ?profile=expert and the required scopes.
Client setup
Claude Code
Create a key, copy the environment command below and run it in your shell. Then run the client command, restart the client and ask it to use isayaction. On Windows, use the PowerShell environment command; for Claude Code replace $ISAYACTION_API_KEY with $env:ISAYACTION_API_KEY in its command.
claude mcp add --transport http isayaction https://isayaction.com/api/mcp --header "Authorization: Bearer $ISAYACTION_API_KEY"Codex
Create a key, copy the environment command below and run it in your shell. Then run the client command, restart the client and ask it to use isayaction. On Windows, use the PowerShell environment command; for Claude Code replace $ISAYACTION_API_KEY with $env:ISAYACTION_API_KEY in its command.
codex mcp add isayaction --url https://isayaction.com/api/mcp --bearer-token-env-var ISAYACTION_API_KEYUnattended Codex runs need an approval mode. Add the line below to the [mcp_servers.isayaction] section in ~/.codex/config.toml. You can use "writes" instead to auto-approve read-only tools and require confirmation for writes or paid calls.
default_tools_approval_mode = "approve"Cursor
Use Add to Cursor, approve installation and restart Cursor. The public configuration needs ISAYACTION_API_KEY in Cursor's environment. After creating a key you can install with the key already filled in.
{
"mcpServers": {
"isayaction": {
"url": "https://isayaction.com/api/mcp",
"headers": {
"Authorization": "Bearer ${env:ISAYACTION_API_KEY}"
}
}
}
}Other
Copy the JSON into a client that supports Streamable HTTP and Authorization headers. Replace <YOUR_KEY> locally with your key, reconnect and check that isayaction tools are available.
{
"mcpServers": {
"isayaction": {
"url": "https://isayaction.com/api/mcp",
"headers": {
"Authorization": "Bearer <YOUR_KEY>"
}
}
}
}Billing and responsibility
MCP calls execute without per-call confirmation. Paid calls, tasks and creation tools require an 8–128 character idempotencyKey; retries must reuse the same key and arguments. Paid model and media usage charges your credits directly; the key holder is responsible. Set a cumulative spending limit on the keys page. Wallet entries label paid MCP usage as MCP. Local video rendering and transcription currently do not charge model credits. Your external client's own fees are separate.
How to set a key spending limit
MCP/API calls deduct credits directly. Agent loops, mistakes or a leaked key can cause ongoing charges. We recommend a limit such as 200 / 500 / 1000 credits; you can change it anytime. Leave blank for unlimited spending.
The platform sets no default cap: new keys are unlimited. Choose 200 / 500 / 1000 credits or enter a custom limit when creating a key. In the Home or MCP key dialog, click Save spending limit. You can also open /access-keys, choose Edit limit and save anytime. The limit is cumulative per key, not monthly; 0 blocks paid calls. Refunds and key rotation do not reset usage.
Edit limitKeep your key safe
Keys authenticate through the Authorization request header. Never put them in shared links, prompts or screenshots. Revoke a key at any time on the keys page; already submitted tasks may still finish. Only install the key in a client you trust.
Manage API keysFrequently asked questions
Does this work with Claude Desktop or claude.ai?
Their custom connectors require OAuth, which is not available in this release. Use Claude Code, Codex, Cursor or a compatible HTTP client.
Do I need to keep the canvas open?
Server-side tasks can run without an open browser. Open and sign in to your canvas to watch results sync; background tabs and network delays can postpone updates.
Will I approve each generation?
No. MCP-authorized generation and delegated Agent work can spend credits without additional confirmation. Set a key spending limit before sharing access.
Can I restrict or revoke access?
Yes. Choose scopes and a spending limit on the keys page, or revoke the key. Keys only access their owner's resources, not administration or payments. New connections use the default common-tool profile; expert exposes the complete catalog, filtered by scopes. Legacy keys remain expert. Add ?profile=expert to the URL and reconnect for advanced workflows; profiles do not grant scopes.
