Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Rust release tooling — drop-in GoReleaser parity + Rust extras.
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": {
"anodizer": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/tj-smith47/anodizer"
]
}
}
}Run this in your terminal
claude mcp add anodizer -- docker run -i --rm ghcr.io/tj-smith47/anodizerPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"anodizer": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/tj-smith47/anodizer"
]
}
}
}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": {
"anodizer": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/tj-smith47/anodizer"
]
}
}
}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 with the GitHub account tj-smith47, 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.30.0) reached the registry 23 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, MCP Server Autocad Lisp Helper
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.
High-precision static analysis and debug server for AutoCAD AutoLISP (.lsp) files.
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.
The release pipeline built for Rust — workspace-aware, reproducible, and signed by default.
Anodizer reads a declarative config file and runs your entire release from a single anodizer release command: build, archive, checksum, changelog, sign, release, publish, and announce. It's built around the Rust ecosystem — Cargo workspaces, Cargo.lock-aware version bumps, crates.io, and byte-reproducible artifacts.
See What works (with proof) for a per-feature status — every "live" claim links to a real published artifact you can verify yourself.
Your release is a Cargo workspace — not a bag of loose binaries. anodizer is built that way from the ground up.
anodizer tag and anodizer bump rewrite Cargo.toml *and* Cargo.lock, then commit and tag — locally by default, and (on --push) push the bump commit and tag atomically — no orphaned bump commit, no hand-rolled git push, no lockfile drift.cargo-zigbuild or cross. No rustup target add rituals, no per-target CI shards to babysit.anodizer check determinism rebuilds them and byte-compares. "Reproducible" becomes a fact your CI enforces, not a claim in your release notes.Then the long tail that Rust authors actually hit: generated per-crate READMEs, cargo-binstall metadata derived straight from your config (no hand-maintained pkg-url that 404s), version_files to pin your docs and install scripts to the released version, and post-release install smoke tests that catch a broken artifact before your users do.
Already know GoReleaser? anodizer's {{ .Field }} template syntax will feel right at home. Moving from cargo-dist, release-plz, or cargo-release? The migration guides map your setup straight over.
Build
cargo-zigbuild, cross, or native cargo buildPackage
curl | sh install-script generation — a per-platform asset table derived from your build/archive config (no hand-maintained URLs to 404), with a checksum-verify gateshasum -c) formatSign
Publish
origin remotehomebrew-core formula)docker buildxAnnounce
Advanced
{{ .Field }} syntaxmod_timestamp and builds_infoversion_files) to keep docs, scripts, and manifests in lockstep at taganodizer promote) — flip an already-published artifact to a stable track (snapcraft channels, npm dist-tags, OCI floating tags, GitHub prerelease) with no rebuildanodizer mcp) exposing the CLI as annotated tools for AI assistantsbrew install tj-smith47/tap/anodizer
cargo install anodizer
git clone https://github.com/tj-smith47/anodizer.git
cd anodizer cargo install --path crates/cli
# Generate a starter config from your Cargo workspace
anodizer init > .anodizer.yaml
anodizer check
anodizer healthcheck
anodizer release --snapshot
anodizer release --dry-run
anodizer bump --dry-run --output json # preview the per-crate plan as JSON anodizer bump # infer patch/minor/major per crate since its last tag anodizer bump minor --package mycrate # force a level for one crate anodizer bump --workspace --commit --changelog # bump every member, commit, refresh CHANGELOG.md anodizer bump --pre rc.1 # append a prerelease identifier (0.5.0-rc.1)
anodizer tag --dry-run # preview what tag would be created anodizer tag --push --changelog # tag + refresh changelog + push (triggers the release) anodizer tag --sign --push # signed annotated tag (uses git user.signingkey) anodizer tag --custom-tag v0.1.0 # force a tag value, bypassing bump derivation anodizer tag --version 1.2.3 --crate mycrate # pin an exact version for recovery (per-crate mode) anodizer tag rollback "$GITHUB_SHA" # delete anodizer-managed tags at a SHA + revert the bump
anodizer continue # resume the publish-only pipeline after a transient failure anodizer continue --merge # fan-in split-build workers, then sign/checksum/release/publish anodizer continue --skip npm,announce # resume but skip named stages/publishers
anodizer publish --publishers homebrew,scoop # publish to a subset of configured publishers anodizer publish --dry-run # preview the publish chain with no side effects
anodizer promote --to stable # promote the newest prerelease artifact anodizer promote --to stable --from candidate --dry-run # preview promoting from a named source track anodizer promote --to stable --version v1.2.0 \ --publishers snapcraft,npm # promote a pinned version on chosen publishers
For CI-based releases, set GITHUB_TOKEN (or ANODIZER_GITHUB_TOKEN) as a secret — the release pipeline picks it up automatically.
Anodizer uses .anodizer.yaml (or .anodizer.toml) in your project root. Add a schema comment for editor autocomplete:
# yaml-language-server: $schema=https://tj-smith47.github.io/anodizer/schema.json
project_name: myapp
defaults: targets:
crates:
See the full configuration reference and the template reference for all available fields, variables, and filters.
cfgd — declarative, GitOps-style machine configuration management — is anodizer's first real-world adopter and dogfoods every shipped publisher. It's a 4-crate workspace (shared lib + CLI + Kubernetes operator + CSI driver) that ships to crates.io (dependency-aware ordering), GitHub Releases,
Only the beginning is shown; read the rest in the repo