Connecting Other AI Apps (MCP)
The Model Context Protocol (MCP) connects EpicDraft to the rest of the AI world, in both directions: another app on your computer — Claude Desktop, Claude Code, Gemini CLI, or anything else that speaks MCP — can read the screenplay you have open, and EpicDraft's own Chat Agent can borrow tools from MCP servers you connect.
Letting another app read your script
The point is that it uses the subscription you already pay for. Instead of pasting an API key into EpicDraft and paying twice, you ask questions in the app you're already signed into, and it reads your script to answer them.
What it can and cannot do
It can read. Scenes, the full script text, characters, locations, your title-page metadata, and your project's Library pages.
It cannot write. Nothing reachable over MCP can change your screenplay, your Library, or your settings. It cannot open dialogs or move you around the app either. This is a hard boundary in the code, not a setting you can loosen.
EpicDraft has to be running. The connection reaches the app on your own machine — there is no server, and your script is never uploaded anywhere. Quit EpicDraft and the tools simply disappear until you open it again.
Setting it up in Claude Desktop
- Download EpicDraft.mcpb from epicdraft.com/mcp.
- Double-click it. Claude Desktop opens and offers to install the extension — click Install.
- Make sure EpicDraft is open, with the script you want to ask about.
- In Claude Desktop, ask something like "What happens in scene 12?" or "List every character who appears in act one."
You don't need Node, a terminal, or any configuration file. Claude Desktop supplies everything the extension needs.
Other clients
Anything that can launch a local MCP server over stdio works the same way. Point it at the server/index.cjs inside the extension, run with node.
Clients that can talk to a local HTTP endpoint can skip the extension entirely and connect straight to the port EpicDraft opened — see mcp.json below.
ChatGPT is not supported. Consumer ChatGPT only connects to MCP servers reachable over the internet, and EpicDraft's is deliberately local-only.
If it says EpicDraft isn't running
The extension finds EpicDraft through a small file the app writes while it is open:
- 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 EpicDraft starts.
- "EpicDraft does not appear to be running" — the file isn't there. Start EpicDraft.
- "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 the extension.
- "This build of EpicDraft may not include the MCP server" — see below.
Builds that include it
The MCP connection is an opt-in part of the desktop build, and it is not in every download. It is desktop-only: there is no equivalent on iOS or Android.
Is it private?
Your screenplay never leaves your computer. The connection is to 127.0.0.1 — your own machine — and it 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 EpicDraft starts.
What you type into Claude Desktop, and whatever it reads from your script to answer, is handled by Claude Desktop under Anthropic'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 → AI → MCP servers 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.