storytok
storytok
Make StoryTok videos from any coding agent or shell: narrated Reddit story videos, texting-story videos, auto captions, split-screen edits and AI highlight clips, as 1080×1920 MP4s. One package, three ways in (installed straight from GitHub with npx -y github:juanditb/storytok-agent; the shorter npx -y storytok will work once the package is on npm):
CLI:
npx -y github:juanditb/storytok-agent story --reddit <url> --background "GTA 1.webm" --wait --out .MCP server:
npx -y github:juanditb/storytok-agent mcpfor Claude Code, Claude Desktop, Cursor, Windsurf, Codex and any MCP client.Skill:
skill/SKILL.mdteaches agents without MCP how to use the CLI. Install it by copying the folder to~/.claude/skills/storytok/SKILL.md(Claude Code) or wherever your agent loads skills from.
Billing is StoryTok's: 1 credit per rendered minute (2 with premium voices), from packs that never expire, 3 free minutes on every new account. Failed renders refund automatically. There is no subscription and nothing to cancel.
Install
Claude Code
claude mcp add storytok -e STORYTOK_API_KEY=stk_live_… -- npx -y github:juanditb/storytok-agent mcpCodex (~/.codex/config.toml)
[mcp_servers.storytok]
command = "npx"
args = ["-y", "github:juanditb/storytok-agent", "mcp"]
env = { STORYTOK_API_KEY = "stk_live_…" }Cursor / Windsurf / Claude Desktop (mcp.json)
{ "mcpServers": { "storytok": { "command": "npx", "args": ["-y", "github:juanditb/storytok-agent", "mcp"], "env": { "STORYTOK_API_KEY": "stk_live_…" } } } }Get a key at storytok.ai/settings/developer, or skip the copying: run npx -y github:juanditb/storytok-agent login in your own terminal, approve the code in your browser, and the key is stored in ~/.config/storytok/config.json (restart the MCP server afterwards so it picks the key up).
What the agent can do
Tool | What it does |
| Balance and cap; valid voices, caption presets, chat themes, backgrounds, music |
| A Reddit URL → title, script, intro-card stats |
| Narrated story over gameplay, optional Reddit intro card |
| Chat bubbles revealed one by one, a voice per side |
| Upload a local video, burn word-timed captions |
| Classic gameplay split or streamer facecam layout |
| 1–20 AI-picked clips, scored, with hook lines |
| Poll, block until done, save the MP4 (or clips + zip) |
Every creating tool is two-phase: called without confirm it returns the cost estimate; the agent shows it, the user agrees, and only then does it render. Job creation sends an Idempotency-Key, so a retried call returns the same job instead of a second charge. Each key also has a rolling 24-hour credit cap (30 by default, editable in settings).
CLI
storytok login | logout | account | catalog | estimate | reddit
storytok story | text | captions | splitscreen | highlights
storytok job <id> | wait <id> | download <id> | jobs
storytok mcpstorytok --help lists every flag. Set STORYTOK_API_URL to point at another deployment.
Development
npm install
npm test # unit tests against a mock API, plus an MCP round trip over stdio
node bin/storytok.js --helpMIT licensed. Issues and pull requests welcome.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/juanditb/storytok-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server