Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Audit and write CLAUDE.md / AGENTS.md / Cursor rules; generate full build specs for new projects.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
SPECPACK_API_KEY, AuthorizationLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"specpack": {
"command": "npx",
"args": [
"-y",
"specpack",
"mcp"
],
"env": {
"SPECPACK_API_KEY": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add --transport http specpack https://prompt-generator-website.com/mcp --header 'Authorization: your-value'claude mcp add specpack --env SPECPACK_API_KEY=your-value -- npx -y specpack mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"specpack": {
"url": "https://prompt-generator-website.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"specpack": {
"command": "npx",
"args": [
"-y",
"specpack",
"mcp"
],
"env": {
"SPECPACK_API_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"specpack": {
"type": "http",
"url": "https://prompt-generator-website.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"specpack": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"specpack",
"mcp"
],
"env": {
"SPECPACK_API_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Authorization secreto HTTP headerEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Todavía no hemos leído la lista de herramientas de este servidor; revisamos los endpoints por turnos.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub THE-KIPDEV, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; leemos la lista de herramientas cuando revisamos el endpoint
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: SPECPACK_API_KEY, Authorization
Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.
El repo de GitHub cambió por última vez –, y la última versión (0.1.0) llegó al registro hace 2 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, dotnet-mcp
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
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.
MCP server for .NET symbols, XAML, source generators, and restricted workspace edit
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Lint and generate the files your AI coding agent reads — CLAUDE.md, AGENTS.md, .cursorrules, Cursor rules — and turn a project description into a full build spec. CLI, library and MCP server.
npx specpack audit # bloat score for the agent files in this repo (offline)
npx specpack init # write a lean AGENTS.md from your manifests (offline) npx specpack spec --describe "Booking app for dog groomers with deposits and SMS reminders"
CLAUDE.md / AGENTS.md are loaded into the agent's context on every session. Every line that restates package.json, pastes a file tree or tells the model to "write clean code" costs tokens and competes with the two rules that actually matter. specpack audit finds those lines; specpack init starts you at the trimmed end.
Node ≥ 18. No account needed. audit and init never touch the network.
specpack audit — how much of your memory file does nothing?Each line is classified keep, cut (removing it changes nothing: role-play preamble, generic advice, restated manifests, duplicates, emphasis inflation, prose) or offload (true but situational: file trees, schema dumps, endpoint lists, long code blocks, setup/deploy sections — move them to their own file and reference them with @docs/…). Same rules as the browser tool at prompt-generator-website.com/claude-md-audit.
Real output on a typical file:
$ npx specpack audit CLAUDE.md
CLAUDE.md 59% bloat · 44 lines · ~341 tokens every session 10 keep · 12 cut · 15 offload of 37 non-empty lines · ceiling 200, trimmed files land near 60 Over half of this file is doing nothing. It is not neutral weight — it is what your real rules are competing against.
3 cut You are an expert senior full-stack developer with 10 years of experience. ↳ role-play preamble: CLAUDE.md is project memory, not a system prompt. "You are an expert…" costs tokens and changes nothing about the code produced. 4 cut Please always write clean, readable and maintainable code. ↳ default behaviour: Removing this line does not make the model write worse code — it already tries to do this. It only dilutes the lines that matter. 5 cut IMPORTANT: follow best practices at all times. … 12 cut - Next.js 15.1 ↳ restates a manifest: package.json / composer.json / requirements.txt already state this, and the agent reads them. Keep it only if the version pin has a non-obvious reason. … 18 offload ## Database schema ↳ situational section: Only a fraction of your sessions need this. Move the section to its own file and point at it with @docs/… so it loads when the task asks for it. … 31 offload src/ ↳ file tree: Root of a pasted directory tree. The agent can run ls and get the real one — a copy goes stale after the first refactor. … Trimmed copy (8 lines): specpack audit CLAUDE.md --trimmed
Without arguments it audits every agent file in the current directory: CLAUDE.md, AGENTS.md, .cursorrules, .windsurfrules, .github/copilot-instructions.md, CLAUDE.local.md, .cursor/rules/*.mdc. - reads stdin.
| Option | |
|---|---|
--trimmed | print only the keep-only version (> CLAUDE.trimmed.md) |
--json | every line with verdict, rule and reason, plus stats and the trimmed file |
--all | also list the kept lines and why |
--max-bloat | exit code 1 when a file is above the threshold |
# .github/workflows/agent-files.yml
name: Agent files on: [pull_request] jobs: audit: runs-on: ubuntu-latest steps:
specpack init — a lean AGENTS.md from what the repo already saysReads package.json (scripts, lockfile → package manager, framework), tsconfig.json, the Prisma schema, pyproject.toml / requirements*.txt (uv, Poetry), composer.json, go.mod, Cargo.toml, Gemfile, Makefile, Docker Compose, .nvmrc, .env.example, .claude/commands. Only what a file states is written: nothing is guessed, no patch versions, no "You are an expert" preamble. Sections with nothing detected are left out.
Real output on a Next.js + Prisma repository:
$ npx specpack init
✓ Wrote AGENTS.md (37 lines, 0% bloat) Scanned from package.json, tsconfig.json, prisma/schema.prisma, .nvmrc, docker-compose.yml, .env.example, .gitignore, .claude/commands/.
# AGENTS.md — ledgerly
Invoicing app for freelancers. A web application.
pnpm dev — next dev --turbopack -p 3001 (port 3001)pnpm build — next buildpnpm start — next startpnpm test — vitest runpnpm test:e2e — playwright testpnpm lint — next lintpnpm db:migrate — prisma migrate devpnpm db:seed — tsx prisma/seed.tsdocker compose up -dThese are things the agent cannot guess from the code. Follow them exactly.
.env.example; the real .env is git-ignored — do not commit it.
Then add the rules only you know under Project rules — that is the part that matters.
| Option | |
|---|---|
--format agents | AGENTS.md (default) |
--format claude | CLAUDE.md — imports @AGENTS.md when it exists, plus Claude Code specifics (slash commands, .mcp.json servers) |
--format cursor | .cursor/rules/project.mdc (always-applied rule) |
--format all | the three |
--dry-run / --force | preview / overwrite (existing files are never overwritten otherwise) |
specpack spec — a full build spec for a new projectFor a project that does not exist yet, prompt-generator-website.com turns a questionnaire (7 project types: SaaS, e-commerce, business site, marketplace, blog, web app, landing page) into a complete specification — stack, database schema, authentication, type-specific features, pages, design, SEO, security, legal, deployment, file structure — plus AGENTS.md, CLAUDE.md, .cursor/rules/project.mdc, .cursorrules, .windsurfrules and .github/copilot-instructions.md that keep the agent on-spec for the whole build.
# AI drafts the answers from a description (10–40 s), then the spec is generated
npx specpack spec --describe "Booking app for dog groomers with deposits and SMS reminders" --out ./groombook
npx specpack spec --answers answers.json --type saas
npx specpack spec
The spec engine is deterministic: the same answers always give the same bytes. Free without an account: 2 specs and 3 AI drafts. More: a 7-day Pass or Pro at prompt-generator-website.com/pricing; then specpack login pgw_… (or SPECPACK_API_KEY). specpack whoami shows what is left.
Seven tools for Claude Code, Cursor, Windsurf, VS Code and any MCP client:
| Tool | Where it runs | |
|---|---|---|
audit_agent_file | local | bloat score, lines to cut/offload with reasons, trimmed copy |
draft_agent_file | local | lean AGENTS.md / CLAUDE.md / Cursor rule from the manifests (returns it, writes nothing) |
list_project_types | API | the 7 project types |
get_questionnaire | API | every question for a type; the agent fills it from the conversation and the repo |
generate_spec | API | spec + agent files, written to output_dir if given (files picks which). No AI on the server |
draft_answers | API | AI fills the questionnaire from a description (uses an AI draft) |
get_usage | API | plan and what is left |
Claude Code
claude mcp add specpack -- npx -y specpack mcp
Cursor (.cursor/mcp.json), Windsurf, Claude Desktop
{
"mcpServers": { "specpack": { "command": "npx", "args": ["-y", "specpack", "mcp"], "env": { "SPECPACK_API_KEY": "" } } } }
Remote, nothing to install (streamable HTTP; audit_agent_file and draft_agent_file read local files, so they only exist in the local server): https://prompt-generator-website.com/mcp — optional header Authorization: Bearer pgw_….
claude mcp add --transport http specpack https://prompt-generator-website.com/mcp
import { audit, scanProject, renderAgentsMd, SpecpackClient } from "specpack";
const { stats, lines, trimmed } = audit(fs.readFileSync("CLAUDE.md", "utf8")); console.log(${stats.bloat}% bloat, lines.filter((l) => l.verdict === "cut").length, "lines to cut");
const agentsMd = renderAgentsMd(scanProject("."));
const client = new SpecpackClient({ apiKey: process.env.SPECPACK_API_KEY }); const draft = await client.draft("A booking app for dog groomers"); const spec = await client.createSpec(draft.type, draft.answers); // spec.spec, spec.files["AGENTS.md"]…
createMcpServer() is exported from specpack/mcp. API errors are SpecpackError with code (quota_exceeded, unauthorized, invalid_request, …), status and upgradeUrl.
0 ok · 1 failure, or --max-bloat exceeded · 2 usage error or quota exceeded.SPECPACK_API_KEY, SPECPACK_API_URL (testing), NO_COLOR.~/.config/specpack/config.json ($XDG_CONFIG_HOME honoured), mode 600.audit and init read local files and send nothing. spec sends your answers or description to prompt-generator-website.com.MIT © Kipdev