A real screenwriting app your AI agent can drive
Cold Open is a free, open-source screenwriting app with an MCP server built in. Connect Claude, Cursor or any MCP client, and watch your agent's edits land in the script as tracked changes, for you to accept or reject.
Version 0.1.0-alpha.3, an early alpha. Windows, macOS and Linux. Nothing connects to any agent unless you set it up.
- Edits you reviewAn agent's edits arrive as tracked changes under its name, in its own color. You accept or reject each one, by scene, or all at once.
- A real editor, not a text fileYour agent works on the same script you see: scene headings, characters, dialogue, the title page, revisions. Page breaks follow screenplay rules on every OS.
- Every action is a commandThe app, the
coldopencommand line, JSON over stdio and the MCP server share one set of commands. Anything you can do, a script or an agent can do.
Connect your agent
The MCP server is coldopen mcp, a local server over standard input and output. Install Cold Open, make sure coldopen is on your PATH (the Windows installer and the Linux .deb put it there; on macOS, choose Install the command-line tool in the app's palette), then add it to your client.
Claude Code
claude mcp add coldopen -- coldopen mcp
From Claude Code's documentation on MCP: code.claude.com/docs/en/mcp.
Claude Desktop
In Claude Desktop, open Settings ▸ Developer ▸ Edit Config, add this to claude_desktop_config.json, then restart Claude Desktop:
{
"mcpServers": {
"coldopen": { "command": "coldopen", "args": ["mcp"] }
}
}
From the MCP project's guide to local servers in Claude Desktop: modelcontextprotocol.io.
Cursor
Add the same mcpServers entry to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json for every project.
From Cursor's documentation: docs.cursor.com/context/mcp.
VS Code
Add this to .vscode/mcp.json in your workspace:
{
"servers": {
"coldopen": { "type": "stdio", "command": "coldopen", "args": ["mcp"] }
}
}
From VS Code's documentation: code.visualstudio.com.
Any other client
Every client that runs a local ("stdio") server needs the same two things: the command coldopen and the argument mcp. A desktop app may not see your terminal's PATH; then give the full path, which the agents guide lists for each OS.
How it works with the app
- It attaches to the open script. When the script is open in Cold Open, your agent's edits go into it live, and you watch them appear.
- Tracked by default. Each edit is a tracked change under the agent's name. You settle it like a note from a collaborator. "Track agent edits" in the app turns this off for a script, if you want.
- Undo is per author. One key undoes the agent's latest steps without touching yours.
- Without the app,
coldopen mcpopens a .fountain, .fdx or project file itself, so an agent can work on scripts headless.
What agents can't do
- Accept a change, theirs or anyone's. Only you settle changes. An agent can withdraw its own suggestion.
- Discard your changes, or another agent's.
- Edit the title page while tracking is on, since a title page edit can't be tracked.
- Open, close, revert or rename your script while it's attached to the app. It can save in place and export copies.
The command line and the commands
The same commands work without an agent:
coldopen export script.fountain script.pdf
coldopen convert draft.fdx draft.fountain
coldopen diff draft2.fdx draft3.fdx
coldopen repair broken.fdx repaired.fdx
coldopen serve --stdio # newline-delimited JSON, for any language
See the command-line reference and every command and its parameters.
Privacy
Cold Open makes no network connections. Nothing connects to an agent by default: the app and coldopen mcp talk through a socket or pipe only your user account can open. An agent you connect is a separate program, and what it reads from your script, and where it sends it, is up to that agent and its own privacy policy. See Privacy.