Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Read-only project readiness, dependency, evidence, and bounded local activity views.
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.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"project-status": {
"command": "npx",
"args": [
"-y",
"@openly-useful/project-status-mcp"
]
}
}
}Run this in your terminal
claude mcp add project-status -- npx -y @openly-useful/project-status-mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"project-status": {
"command": "npx",
"args": [
"-y",
"@openly-useful/project-status-mcp"
]
}
}
}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": {
"project-status": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@openly-useful/project-status-mcp"
]
}
}
}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 7, 2026
The registry name was verified against the domain openlyuseful.org (the registry checks domain ownership)
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 (1.2.1) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, FlyDocs
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.
Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.
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.
StatusGlance is Openly Useful's visibility family: StatusGlance / Readiness turns one repository-local manifest into evidence-backed delivery readiness; StatusGlance / RunGlance shows observed run activity without model polling. Both are portable across Claude, OpenAI/Codex, and generic CLIs, with optional bounded read-only MCP entrypoints.
This compatibility-first branding release retains the project-status and runglance plugin IDs, npm/MCP names, commands, storage paths, repository URL, and Apache-2.0 license. Existing integrations do not need a rename migration. A status request reads existing evidence once; it does not start work, verification, monitoring, or installation.
Conductor Swarm owns execution: observe changes → shape coherent work → run ready independent lanes in parallel → verify and integrate at milestones → adapt → continue authorized work or finish. Pickup repairs missing context; Continuity handles actual transfers. These are complementary tools, not mandatory extra agents or serialized stages. Agent Workflow Swarms defines the execution framework.
StatusGlance observes that loop. Use existing host events, task IDs, and milestone evidence. No event stream means unknown activity. A local setup file does not prove host installation or connection. Repeated revisions call for an approach change within authorized execution, not an ever-growing review loop. Operations Pulse remains the opt-in recurring operations sibling; Skill Feedback Engine proposes durable improvements only when requested.
The optional versioned delivery extension references existing manifest tasks. Ordered stage scopes accumulate accepted work once; each shows its own denominator, remaining tasks and milestones, next integrated milestone, and acceptance gaps. Empty scope remains unknown. Current stage acceptance requires qualifying evidence and cleared gates; implementation progress and historical weighted credit remain separate.
The bundled dashboard is a historical demonstration, not evidence of any user's current product readiness. Configure and validate real product scope before claiming Alpha, Beta, or Live completion.
This repository contains eight related deliverables:
skill/project-status;skill/runglance;packages/mcp;plugins/;scripts/package-skill.mjs and scripts/package-runglance.mjs;Readiness, evidence validity, live health, and delivery activity remain separate signals. Browser refreshes do not count as monitoring. Read-only inspection is the default; manifest edits, scheduling, installation, publishing, deployment, commits, and remote writes require separate explicit actions.
Activity also separates context-window capacity, provider quota, task budget, monetary cost, progress, heartbeat freshness, and explicit lock ownership. Missing host data stays unknown; it is never displayed as zero or guessed from another metric. Passing verification proves the check and task result recorded by the receipt, not overall project readiness.
Release tooling stays repository-local. It does not install a plugin, change a personal marketplace, publish an archive, create a release, deploy Sites, or write outside its selected artifact directory.
skill/project-status is the only source that should be edited for skill behavior. The two plugin wrappers contain physical copies at skills/project-status because marketplace installers copy plugin directories and cannot safely depend on paths outside the plugin root.
skill/runglance is the corresponding canonical source for RunGlance. Its generated wrappers contain skills/runglance, the RunGlance-only MCP entrypoint, and no readiness-manifest runtime. Do not put RunGlance lifecycle or HUD behavior back into the Project Status skill.
Synchronize the wrappers after changing the canonical skill or after building the optional MCP server:
node scripts/release-sync.mjs sync
CI and local preflight use the read-only drift check:
node scripts/release-sync.mjs check
The sync operation deterministically owns the wrapper manifests, wrapper skill trees, optional bundled MCP runtime, and both repository marketplace catalogs. Do not edit generated wrapper files by hand.
The marketplace catalogs use distinct host schemas:
.agents/plugins/marketplace.json is the OpenAI/Codex repository marketplace..claude-plugin/marketplace.json is the Claude Code marketplace.The OpenAI plugin always includes .codex-plugin/plugin.json. Both plugin manifests declare mcpServers only when packages/mcp/dist/index.js is a validated self-contained bundle and its locked build metadata exists; otherwise the MCP component is omitted rather than pointing at a broken path. Generated wrappers package that single bundled entrypoint plus the shared core runtime, with no node_modules, package-install step, source maps, or declarations.
RunGlance requires Node.js 20+ and uses no runtime dependencies, network calls, model calls, API keys, remote storage, or shell evaluation. Setup is inspectable and repository-local:
node skill/runglance/scripts/runglance.mjs setup plan --json
node skill/runglance/scripts/runglance.mjs setup instructions --host codex node skill/runglance/scripts/runglance.mjs setup instructions --host claude node skill/runglance/scripts/runglance.mjs setup instructions --host generic
setup guided remains read-only. setup apply --project-root --host writes only .runglance/setup.json in that repository; host-level hooks or status-line settings still require a separate user-authorized action.
A direct run can start, render, verify, and finish without involving MCP:
node skill/runglance/scripts/runglance.mjs start --name "Release verification"
node skill/runglance/scripts/runglance.mjs watch --preset compact --interval 1000 node skill/runglance/scripts/runglance.mjs verify --name "Unit tests" -- npm run test:unit node skill/runglance/scripts/runglance.mjs finish \ --outcome complete \ --summary "Activity stream verified" \ --final-summary verified
The default compact RunGlance HUD shows the fastest useful context. standard expands Running and Finished work, swarm accounts for delegated agents, and diagnostic exposes troubleshooting detail. watch refreshes the local snapshot once per second only while useful and consumes no model tokens or MCP calls. The renderer degrades to ASCII for simple terminals and emits static output when stdout is not interactive.
Adapters accept normalized events from Codex hooks/App Server, Claude hooks/status line, or any strict generic producer. Every metric retains its exact, derived, estimated, or unknown truth class. Runtime state is permission-restricted, bounded, redacted, and excludes prompts, transcripts, environment variables, raw tool arguments, credentials, and source files.
Final summaries are configurable as off, concise, or verified. A verified receipt includes fixes, recorded checks, safe local rerun commands, remaining work, elapsed time, and agent count. The public activity API and MCP projection omit rerun arguments and command output; those remain a trusted local CLI surface.
The optional runglance-mcp entrypoint exposes only runglance_get_status, runglance_list_work, runglance_get_usage, runglance_get_locks, and runglance://status. It is a query companion, not the HUD refresh engine:
npm run build --prefix packages/mcp
RUNGLANCE_RUNTIME_DIR=/absolute/runtime/path node packages/mcp/dist/runglance-index.js
Generated OpenAI and Claude RunGlance plugins include standard .mcp.json descriptors. Installation can therefore use each host's normal connection-consent UI; no API key, subscription, remote account, or paid service is required.
Node.js 22 is used in CI. Install the root application dependencies, build the optional MCP package when it exists, synchronize generated wrappers, build the Sites output, and run the full suite:
npm ci
npm ci --prefix packages/mcp npm run build --prefix packages/mcp node scripts/release-sync.mjs sync npm run build node --test tests/*.test.mjs node scripts/release-check.mjs
The packages/mcp commands apply only when that optional package is present. npm run build produces the Sites handoff at:
dist/client/index.htmldist/server/index.jsdist/.openai/hosting.jsonscripts/release-check.mjs validates wrapper drift, version agreement, host-specific marketplace and manifest shapes, the MCP bundle boundary, package safety, changelog coverage, deterministic archive plans, package identities, namespaces, public-policy files, and founder publication authorization. Both publishable MCP packages run scripts/assert-publish-ready.mjs at the prepublishOnly boundary. npm publication is founder-authorized while LLC formation remains pending; the registry still enforces account authentication at the actual publish request, and provider marketplace review is a separate workflow that does not block npm. The test suite also extracts both plugin archives into isolated temporary directories and performs a pinned MCP handshake plus readiness and activity tool calls without installing dependencies.
Third-party notices are generated from the pinned runtime dependency graphs rather than the full development toolchain:
npm run notices:plan
node scripts/third-party-notices.mjs build npm run notices:verify
The generator covers the site runtime and bundled MCP runtime, retains each distinct upstream license text, and produces THIRD_PARTY_NOTICES.md deterministically. Packaging refuses to produce release archives without the repository LICENSE, privacy, terms, security, support, and notice files, and includes all of them in every ZIP.
Inspect the package plan without writing files:
node scripts/package-skill.mjs plan
Build into the default ignored/local artifact directory, or select another directory:
node scripts/package-skill.mjs build
node scripts/package-skill.mjs build --output /tmp/project-status-artifacts
Existing outputs are never replaced implicitly. Use --replace only when replacement is intentional. Verify previously built bytes against a fresh deterministic plan with:
node scripts/package-skill.mjs verify --output /tmp/project-status-artifacts
The output set is:
project-status-portable-claude-skill.zipproject-status-openai-plugin.zipproject-status-claude-plugin.zipchecksums.jsonEvery ZIP contains MANIFEST.sha256. The builder rejects symlinks, traversal, absolute paths, tests, dependency trees, .env files, embedded user-home paths, and common secret formats. Archive entry order, metadata, modes, JSON formatting, and bytes are deterministic.
RunGlance has the same plan/build/verify contract:
node scripts/package-runglance.mjs plan
node scripts/package-runglance.mjs build node scripts/package-runglance.mjs verify
Its output set is runglance-portable-claude-skill.zip, runglance-openai-plugin.zip, runglance-claude-plugin.zip, and checksums.json.
Installation changes host state an
Only the beginning is shown; read the rest in the repo