Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Reusable checklists with dated runs: pass, fail or N/A per step, then a frozen sign-off.
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.
MCP_LICENSE_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.zovo.one/mcp/checklistDownload 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
claude mcp add --transport http checklist https://mcp.zovo.one/mcp/checklistFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"checklist": {
"url": "https://mcp.zovo.one/mcp/checklist"
}
}
}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.
Paste into .vscode/mcp.json in your project
{
"servers": {
"checklist": {
"type": "http",
"url": "https://mcp.zovo.one/mcp/checklist"
}
}
}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.
ChatGPT connects only to servers on the internet:
https://mcp.zovo.one/mcp/checklistMenu names can differ slightly by plan and over time.
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.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
checklist_createCreate a reusable checklist and return its CL-NNNN id: a name, a category and an optional description. Add the steps with checklist_item_add. Free tier: 3 checklists, and unlimited runs of them.
checklist_item_addAdd one step to a checklist and return its I01-style id: the text, an optional section heading, and whether it is required. A required step that is unanswered or failed blocks sign-off; an optional one does not.
checklist_item_removeRemove one step from a checklist by its I01-style id and bump the checklist version. Runs already under way keep the step they started with, so nothing anybody already ticked is rewritten.
checklist_showOne checklist with its steps in order, grouped by section, plus how many are required and how many runs have been started from it. Pass as_text for a blank printable copy with a box against each step.
checklist_listEvery checklist with its category, version, step count and how many runs came from it. Filter by category or by a word in the name. Returns at most 500 rows, newest change first.
checklist_deleteDelete a checklist and its steps for good. Runs already started from it are untouched and stay readable: a run carries its own copy of the steps, so deleting the checklist does not erase what anybody signed.
run_startStart a dated run of a checklist and return its RUN-YYYY-NNNN id. The steps are COPIED into the run, so editing the checklist afterwards never changes a run already under way. Runs are free and never capped.
run_checkMark one step pass, fail or na, with who did it and when. na means the step did not apply; it counts as answered and never as passed. A step can be answered again while the run is open, and the last answer stands.
run_showThe whole run: every step with its answer, who answered it and when, grouped by section, plus the pass, fail and outstanding counts, the failures in full, and whether it can be signed off and why not.
run_listRuns newest first, with their checklist, progress and sign-off state. Filter by checklist, by status, by reference or to open runs only. Returns at most 500 rows.
run_sign_offSign off a completed run with a name and a date, which freezes it. Refused while a required step is unanswered or failed, unless force is true, and either way the exceptions stay on the record and print on the report.
run_statusMove a run back to open so a step can be answered again, or abandon it when the job did not happen. A signed-off run is refused: a signature is the point at which a run stops moving.
run_reportThe run as plain text on every tier: every step with its mark, who answered it, the notes, the counts and a signature block or the recorded signature. Pro also gets it back as a .txt download link valid for one hour, named by out_path.
run_deleteDelete a run for good, with every answer on it. A signed-off run is refused: it is the record of what somebody put their name to. Abandon a run you no longer want instead of deleting a signed one.
license_statusReport this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.
license_activateTurn Pro on for this connection with key, an MCPL1. . issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms 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 7, 2026
The registry name was verified with the GitHub account theluckystrike, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 70 ms (HTTP 200)
No sign-in needed
Read 16 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 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.
You need to fill in: MCP_LICENSE_KEY
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.23.0) reached the registry 5 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, OpenTakeoff
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.
Construction takeoff for AI agents: load plans, set scale, measure, count, export with provenance.
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.
In the [official MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.theluckystrike%2Fchecklist/versions/latest) (io.github.theluckystrike/checklist). Checklists you build once and run many times, and the dated record of each run that somebody signs. A checklist is a named list of steps, optionally grouped into sections, each one required or optional. A run is one pass of that checklist against a job: every step is marked pass, fail or not applicable, with who marked it and on what day, and a note that says what was found. run_sign_off then puts a name and a date on it and freezes it.
If somebody edits the checklist afterwards, adds a step or deletes one, every run already in progress keeps the list it started with, and the version it was copied from is recorded on the run.
That is not a caching convenience. A checklist somebody ticked and signed has to be the list they actually saw. A run that read its steps live from the checklist would mean a signed handover certificate for eleven checks when the person signing it saw ten, with no field in the record showing that it had happened. It also means deleting a checklist leaves its runs readable and complete, which is what you want the year afterwards when somebody asks what was checked.
Two smaller rules follow from it:
complete here is a reading: it appears when the last step is answered and goes away again when one is put back to pending.na counts as ANSWERED and never as passed. A step that was looked at and dismissed is a different fact from a step that passed, and merging the two is how a checklist reports full marks for a job where half the steps did not apply.A required step that is unanswered, a required step that failed, an unanswered optional step, or a run with no steps. force: true signs anyway, and the exceptions stay on the record and print on the report under "Signed with exceptions". They are not lost, and they are not silent.
One-click (.mcpb): download checklist.mcpb from the latest release and double-click it in Claude Desktop: https://github.com/theluckystrike/mcp-servers/releases/latest
npm publish for @theluckystrike/mcp-checklist is pending, so the npx line below returns 404 today. Build from source in the meantime; see llms-install.md.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "checklist": { "command": "npx", "args": ["-y", "@theluckystrike/mcp-checklist"] } } }
claude mcp add checklist -- npx -y @theluckystrike/mcp-checklist
~/.cursor/mcp.json (global) or .cursor/mcp.json (project), same entry as Claude Desktop.
| Tool | What it does |
|---|---|
checklist_create | Create a reusable checklist: a name, a category, a description |
checklist_item_add | Add a step: the text, a section heading, and whether it is required |
checklist_item_remove | Remove a step and bump the version. Runs already under way keep it |
checklist_show | One checklist, grouped by section, with a blank printable copy on request |
checklist_list | Every checklist with its version, step count and how many runs came from it |
checklist_delete | Delete a checklist. Its runs stay readable, because each carries its own copy |
run_start | Start a dated run against a job. The steps are copied into it at this point |
run_check | Mark one step pass, fail or na, with who and when and what was found |
run_show | The run: every step with its answer, the counts, the failures, and what blocks sign-off |
run_list | Runs newest first, filtered by checklist, status, reference, or only those with failures |
run_sign_off | Sign off with a name and a date, which freezes the run |
run_status | Reopen a complete run, or abandon one when the job did not happen |
run_report | The run as text on every tier. Pro also writes it to out_path as a .txt file |
run_delete | Delete a run. A signed-off one is refused |
license_status | Which tier this install is on and where the key came from |
license_activate | Store a Pro key for this server |
There is also a resource, checklist://contract, carrying the snapshot rule, the item states, the run status machine, what blocks a sign-off and where this server writes; and a prompt, run_the_checklist, that walks the whole job in order.
| Free | Pro | |
|---|---|---|
| Checklists you keep | 3 | unlimited |
| Runs of them | unlimited | unlimited |
| Steps per checklist | up to 500 | up to 500 |
run_show, run_list, the counts | yes | yes |
| The run report as text | yes | yes |
Writing the report to a file with out_path | no | yes |
The meter is on how many DIFFERENT checklists you keep, not on how many jobs you check. A trade with one pre-delivery check, one handover sheet and one snag list runs its whole year inside the free tier. Runs are never capped, because capping the running of a checklist would cap the only thing a checklist is for. Deleting a checklist frees a slot.
Get Pro: https://mcp.zovo.one/buy/checklist (one-time), or all servers for one price at https://mcp.zovo.one/buy/bundle
All data stays local, in ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/checklist/. There is no network call anywhere in this server, no API key, and no account. The only file it reads that it does not own is the shared business profile, for the name and address at the top of a printed report, and it never writes to it.
Built by theluckystrike. Support: support@zovo.one
Any MCP client (Claude, Cursor, Windsurf, VS Code) can read this repository's documentation directly via GitMCP - no install: