Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Screenplay editing for agents: Fountain and .fdx; edits arrive as tracked changes in Cold Open.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 TheYungStump 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.0-alpha.3)于今天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。
同一分类中有:Spec Driven Development, Remote Desktop Commander, A1RO — Irish employment tools
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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"只显示了开头部分;其余内容请在仓库中阅读