Skip to content
EpicDraft Docs

Connecting Other AI Apps (MCP)

The Model Context Protocol (MCP) connects EpicDraft to the rest of the AI world, in both directions: another app — ChatGPT, Claude, Gemini, Grok, GitHub Copilot, Cursor, or anything else that speaks MCP — can work on the screenplay you have open, and EpicDraft's own Chat Agent can borrow tools from MCP servers you connect.

Letting another app drive EpicDraft

The point is that it uses the subscription you already pay for. Instead of pasting an API key into EpicDraft and paying twice, you work in the app you're already signed into, and it reaches into EpicDraft to read your script and keep your Library.

Turn it on

It is off until you say otherwise. In Settings → Devices → Connections, under Agent control, turn on Allow desktop assistants to control EpicDraft. Turning it off again disconnects everything at once — that switch is the kill switch.

While an assistant is connected, a small robot chip appears next to the connection dot in the editor's status bar, and a toast tells you when one connects or leaves. The settings card lists who is connected and the last tool calls they made.

What it can and cannot do

An assistant gets a fixed set of tools, each going through the same safety guard as EpicDraft's own assistant:

  • Read the screenplay: scenes, the full script text, search, characters, locations, the title page, formatting issues, and where your cursor is.
  • Read your story mode's structure: how the outline lines up with the scenes you've drafted and which beat comes next, a game's choices and variables, and scripts written in columns.
  • Read this manual: it can search these help pages and read one, so it can answer "how do I…" questions about EpicDraft from the docs instead of guessing. EpicDraft's own assistant can do the same.
  • Read and write the Library: list and read pages, create pages, append to them, replace one section, link pages, add storyboard panels.
  • Coverage: read the stored report, or generate a new one.
  • Edit your 3D blocking: see below. When the sequencer is switched on in Settings, its scene edits are available too.

It cannot rewrite the screenplay itself, rename characters across the script, open dialogs, move you around the app, or change settings. Those stay in EpicDraft's own chat, where you are holding the cursor.

Every write goes through the same guard as EpicDraft's assistant:

  • Adding something (a page, a section, a panel) happens straight away and leaves an Undo in EpicDraft — the toast, and the Changes to your project card in Settings → AI → Writing.
  • Anything that replaces existing work (a section rewrite, regenerating coverage) asks you first, inside EpicDraft, naming the app that asked. If you don't answer within 45 seconds the request is refused and the assistant is told to ask you instead — so nothing lands while you're away from the keyboard.
  • Before a replacing change lands, EpicDraft saves a version of the whole document.

Pages an assistant writes are marked as AI-authored, with the name of the app that wrote them.

Editing your 3D blocking

An assistant can read a scene's 3D blocking, look through its cameras (it gets a small picture, if its app can take images, and a written report of who is in shot), check it for problems, and edit it: place and move people and props, arrange them, set cameras, shots and cuts, add sounds, change the scene's length, look and sky, and remove things.

Because this changes your project, EpicDraft asks you once per connection, inside EpicDraft, naming the app: "Claude Code wants to edit this project's 3D blocking…". Allow it and that connection's later edits go ahead without asking again; a connection's edits to a scene are one Undo, and removing something asks again. If you say no, the assistant is told it was declined and not to retry, and EpicDraft holds that answer for about 30 seconds so a looping assistant can't flood you with prompts. Closing the connection forgets your answer. Your Changes to your project setting still applies: set to don't ask, it never asks; set to ask for everything, it asks on every call instead.

It can list your Library's 3D models and place one by name at its real size. It can't yet edit captions, textures or clip trims.

Add it to your AI app

Every app runs the same small program, epicdraft-mcp, downloaded from https://epicdraft.com/release/epicdraft-mcp.tgz. It finds the EpicDraft open on this computer on its own. It needs no token and keeps working when either app restarts. The settings card shows these lines for each app, ready to copy.

AppHow to add EpicDraft
Claude Codeclaude mcp add --scope user epicdraft -- npx -y https://epicdraft.com/release/epicdraft-mcp.tgz
Claude DesktopInstall the extension, below.
ChatGPT desktop app and Codexcodex mcp add epicdraft -- npx -y https://epicdraft.com/release/epicdraft-mcp.tgz, or in the ChatGPT app: Settings → MCP servers → Add server → STDIO, command npx -y https://epicdraft.com/release/epicdraft-mcp.tgz
Gemini CLIgemini mcp add -s user epicdraft npx -y https://epicdraft.com/release/epicdraft-mcp.tgz
AntigravityAdd the mcpServers block below to ~/.gemini/config/mcp_config.json
Grok Buildgrok mcp add epicdraft -- npx -y https://epicdraft.com/release/epicdraft-mcp.tgz
GitHub CopilotInstall in VS Code in the settings card, or for Copilot CLI: copilot mcp add epicdraft -- npx -y https://epicdraft.com/release/epicdraft-mcp.tgz
CursorInstall in Cursor in the settings card, or add the mcpServers block below to ~/.cursor/mcp.json
Windsurf / Devin DesktopAdd the mcpServers block below to mcp_config.json
ZedAdd it under context_servers in Zed's settings.json

Most apps that take a configuration file want this shape:

{
  "mcpServers": {
    "epicdraft": { "command": "npx", "args": ["-y", "https://epicdraft.com/release/epicdraft-mcp.tgz"] }
  }
}

On Windows, some apps can only start npx through cmd: use "command": "cmd", "args": ["/c", "npx", "-y", "https://epicdraft.com/release/epicdraft-mcp.tgz"]. The settings card does this for you on Windows.

It needs Node.js, which provides npx. The first start downloads it, which can take longer than some apps wait: if yours reports a timeout the first time, start it again, or for Codex and the ChatGPT app use the config.toml form in the settings card, which waits longer. After that the app starts the copy it already has, so it keeps working offline. To get a newer copy, delete the _npx folder in npm's cache (~/.npm/_npx on macOS and Linux) and restart the app.

If the app starts before EpicDraft, it connects with no tools, and they appear once EpicDraft is open with the switch on. You don't need to restart either app.

Apps that connect to a local address instead of starting a program can use the address and token under Other in the settings card. The token changes every time EpicDraft starts.

Any device: pair a terminal

epicdraft-mcp is a small command-line program that finds a running EpicDraft for an AI app. On the computer EpicDraft is open on, it needs nothing else. To reach an EpicDraft on another of your devices — a desktop from a laptop, say — pair it once with the code from the settings card:

npx -y https://epicdraft.com/release/epicdraft-mcp.tgz pair <code>

Then add it to your AI app as above. Nothing else changes: it uses this computer's EpicDraft when one is open here, and your paired devices when not.

The paired terminal reaches whichever of your devices has the switch on, through the same peer-to-peer link your devices already use to share AI hardware. Your script travels directly between your devices and never through a server. Run the same npx line with status instead of pair <code> to see which EpicDraft it would talk to, or with unpair to forget a pairing. Reset pairing in the settings card revokes every terminal paired with that device.

People you share a script with can pair with your EpicDraft too — but only if you also turn on Share with collaborators under Your devices, the same switch that lets them borrow your on-device models, and only with your pairing code.

Both EpicDraft and the terminal's device must be online at the same time. Reaching another device needs WebRTC support, which epicdraft-mcp downloads with it; on a system where that download fails, only the connection to EpicDraft on the same computer works.

Claude Desktop

  1. Download EpicDraft.mcpb from epicdraft.com/mcp.
  2. Double-click it. Claude Desktop opens and offers to install the extension — click Install.
  3. Make sure EpicDraft is open, with the switch above turned on and the script you want to work on.
  4. In Claude Desktop, ask something like "What happens in scene 12?" or "Make a Library page for every character who doesn't have one."

You don't need Node, a terminal, or any configuration file. Claude Desktop supplies everything the extension needs.

A skill for Claude Code

The repository ships a Claude Code skill, skills/epicdraft/SKILL.md, generated from EpicDraft's own tool registry: it teaches the assistant how scenes, elements, outline beats and Library pages are addressed, the approval contract, and the workflows EpicDraft's chat offers. Copy it to ~/.claude/skills/epicdraft/ to use it.

Apps in a web browser

ChatGPT, claude.ai, Gemini and Le Chat in a web browser connect to MCP servers from their makers' servers, on the internet. They can't reach an app on your computer, and EpicDraft's connection stays on your computer and your devices. Use their desktop apps instead: the ChatGPT desktop app and Claude Desktop both work as described above. The help server below works from the web too.

Asking about EpicDraft from any AI app

EpicDraft's help pages are also an MCP server on the internet, at:

https://epicdraft.com/api/mcp

Add it as a custom connector in ChatGPT, Claude, or any app that takes an MCP server URL, and the assistant can look up how EpicDraft works and link you to the right page. It needs no account and no sign-in. In Claude Code:

claude mcp add --transport http epicdraft-docs https://epicdraft.com/api/mcp

It only has the help pages, in English. It can't see your scripts or reach the app.

If it says EpicDraft isn't running

On the computer EpicDraft is open on, the connection is found through a small file the app writes while the switch is on:

  • macOS ~/Library/Application Support/com.epicdraft.epicdraft/mcp.json
  • Windows %APPDATA%\com.epicdraft.epicdraft\mcp.json
  • Linux ~/.config/com.epicdraft.epicdraft/mcp.json

It holds the port to connect to and a token that changes every time the switch is turned on.

  • "EpicDraft does not appear to be running" — the file isn't there. Open EpicDraft and turn the switch on.
  • "EpicDraft is not answering on port N" — the file is stale, usually because EpicDraft was force-quit. Start it again.
  • "EpicDraft rejected the token" — EpicDraft restarted since the client connected, so the token changed. Reconnect.
  • "None of your devices has EpicDraft open with agent control on" — the paired route found nobody. Open EpicDraft on one of your devices and turn the switch on there.
  • "This build of EpicDraft may not include the MCP server" — see below.

Builds that include it

The local connection is a desktop feature: there is no equivalent on iOS or Android. The Mac App Store version can't open it either, because the App Store sandbox doesn't allow it; pair a terminal with it instead. The paired-terminal route works from any EpicDraft that is signed in, on any platform, because it rides the devices' peer-to-peer link rather than a port.

Is it private?

On the same computer, the connection is to 127.0.0.1 — your own machine — and is not reachable from your network or the internet. Because any program on your computer could in principle reach a local port, every request must present the token from mcp.json, which is readable only by you and is regenerated each time the switch is turned on. A web page cannot use it either: requests from browsers are refused.

Between your devices, frames travel over the same encrypted peer-to-peer channel your devices use to share AI hardware, and every one must carry the pairing key from the settings card. Nothing about your script is stored on a server.

What you type into the other app, and whatever it reads from your script to answer, is handled by that app under its maker's terms — the same as anything else you paste into it. EpicDraft is only answering the questions it asks.

Giving the assistant extra tools

The connection also runs the other way. In Settings → Devices → Connections you can connect external MCP servers, and their tools become part of what EpicDraft's own Chat Agent can do — alongside its built-in ones.

Add a server by URL, with an optional access token if the server needs one. Each server can be enabled or disabled individually, and a Test button checks the connection and reports how many tools the server offers.

Everything runs client-side with your own credentials: server addresses and tokens are stored on your device only, and are never synced to collaborators.