Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Screenplay editing for agents: Fountain and .fdx; edits arrive as tracked changes in Cold Open.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account TheYungStump, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.0-alpha.3) reached the registry today.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need MCPB on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, A1RO — Irish employment tools
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Irish temp worker cost, public holiday pay and holidays, and SafeHandle certificate checks.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Cold Open is a free, open-source screenwriting app. It reads and writes Fountain and Final Draft (.fdx) files and never loses your work. Every action is a command, and you can drive it from the desktop app, the command line, JSON over stdio, or an MCP server.
Status: alpha, and looking for testers. Phases 1 to 5 built the editor, the command line, the MCP server, .fdx exchange, track changes, revisions, script diff and reports; phase 6a made the builds a writer installs, and 6b the user guide, feedback and crash reports. The website, https://theyungstump.github.io/cold-open/, has the user guide and how to join the alpha. See docs/spec.md for the plan, docs/progress/ for each phase and CHANGELOG.md for each release.
Alpha builds for Windows (x64 and ARM64), macOS (Apple Silicon and Intel) and Linux (x86-64 and ARM64; .deb, AppImage and Flatpak) are on the releases page. Each download is under 15 MB. They aren't signed by Microsoft or notarized by Apple yet (see the code signing policy); the release notes say how to get past the first-start warning on each system. The command-line tool coldopen comes with the app on every system (docs/specs/release.md §4).
To help us measure Cold Open on your computer, choose Measure performance in the palette, or run coldopen bench, and send us the two small files it writes to your Downloads folder (docs/specs/bench.md). They hold model names and times, and nothing personal.
Free code signing provided by SignPath.io, certificate by SignPath Foundation.
Cold Open is applying to SignPath Foundation's program for open-source projects. Until the project is accepted, the Windows builds are unsigned, and Windows warns about them the first time they run.
Team roles:
How a release is signed:
.github/workflows/release.yml).Much of Cold Open's code is written with AI coding agents, working under the author's direction and GitHub account. The author reviews every change before it is merged.
This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it.
In short: the website counts visits anonymously with Cloudflare Web Analytics, without cookies; the app sends nothing.
In practice:
docs/specs/usage-summary.md)coldopen mcp talk through a socket or a pipe that only your user account can open (docs/specs/mcp.md). An AI agent you connect is a separate program: what it reads from your script, and where it sends it, is up to that program and its own privacy policy.From 0.1.0-alpha.2, there are two ways to tell us about a problem from inside the app. Neither sends anything by itself:
The website counts visits anonymously with Cloudflare Web Analytics, without cookies, in aggregate; nothing else measures visitors (the site's privacy page).
GitHub issues are public, under GitHub's privacy statement. Form answers go privately to the project, through Google Forms, under Google's privacy policy.
You need Rust 1.89 or newer. Install it from https://rustup.rs, then build:
cargo build --release
This builds two programs in target/release: coldopen-app, the desktop app, and coldopen, the command-line tool, which also runs the MCP server. Both run on Windows, macOS and Linux (.exe on Windows). On Linux the app needs X11 or Wayland, and libxkbcommon, at run time.
Packages for every system are built by CI (.github/workflows/build.yml, .github/packaging/package.sh); every pull request's run has them under Summary ▸ Artifacts.
coldopen-app [script.fountain]
INT./EXT., locations, times of day and extensions; Tab or Enter takes a suggestion.keymap.json and flow.json in the settings folder change shortcuts and what Enter and Tab do; see docs/specs/editor.md §5.2 and §10. The app never rewrites them.The full behaviour is in docs/specs/editor.md.
claude mcp add coldopen -- coldopen mcp
coldopen mcp is an MCP server: every command is a tool (block_insert, text_replace, scene_list and so on), and the script, its blocks, pages and scenes are resources. Any MCP client works the same way.
When the script is open in the desktop app, the agent's doc_open attaches to the app instead of opening the file: you see each edit appear, a violet bar marks the blocks it changed, and Ctrl+Z undoes it like your own. Each agent step is labelled with the agent's name and the tool it used, and an agent can only undo its own steps. The status bar shows a connected agent, with Disconnect and a switch that turns agent access off.
The link between them is private to your user account on your machine: a socket in a folder only you can open, or a Windows pipe only you can reach, plus a fresh 256-bit token. Without the app, coldopen mcp opens the file itself, with the same crash journal. Details: docs/specs/mcp.md.
coldopen convert draft.fountain clean.fountain
This rewrites a script as canonical Fountain. The meaning is unchanged; spacing and markup are tidied.
To print the document's blocks and ids as JSON instead:
coldopen convert draft.fountain - --to json
Use - as the output to write to standard output. If the target format cannot hold everything in the script, nothing is written unless you add --allow-lossy.
coldopen scenes draft.fountain
The output looks like this:
1 1 p. 1 3/8 EXT. LIGHTHOUSE - DUSK (15 blocks, 39 words)
2 2 p. 1 2/8 INT. RADIO ROOM - NIGHT (5 blocks, 18 words)
Each line shows the page the scene starts on and its length in eighths of a page. Add --json for machine-readable output.
coldopen export draft.fountain draft.pdf
coldopen export draft.fountain review.pdf --watermark "DRAFT" --scene-numbers
The PDF uses the bundled Courier Prime font and comes out byte for byte the same on Windows, macOS and Linux. --no-title-page leaves out the title page. Characters the font has no glyph for (for example Chinese or emoji) print as a box, and the command says which.
coldopen pages draft.fountain
prints every page the way it prints, as plain text on a 10-characters-per-inch grid, with a header line per page saying why it ended. It is handy for checking page breaks.
coldopen licenses prints Cold Open's license and the SIL Open Font License of the bundled fonts. The app shows them under About in the palette.
edits.json is a JSON array of commands, or one command per line:
[
{"command": "text.replace", "params": {"find": "MAYA", "with": "NINA"}}, {"command": "block.insert", "params": {"type": "transition", "text": "FADE OUT."}} ]
Run it against a script:
coldopen run edits.json --doc draft.fountain --save
run prints one JSON response per command.--keep-going.--save (or a doc.save in the batch), changes are discarded when the batch ends.run says where.coldopen serve --stdio
The server reads one JSON request per line and answers each with one JSON response line. Any language can drive it this way:
→ {"v":1,"id":1,"command":"doc.open","params"Only the beginning is shown; read the rest in the repo