Vision Driven Design (VDD) MCP Server

Spec-driven development MCP server: 8 phases, bi-directional traceability, 7 quality gates.

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
97%
Integridad del esquema
95%
Calidad de los nombres
80%
Riesgo de envenenamiento
60%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (5)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'vdd_clarify' description contains placeholder texten vdd_clarify
  • MEDIUMTool 'vdd_inspect' description contains placeholder texten vdd_inspect
  • INFOTool description contains placeholder or incomplete texten vdd_clarify
  • INFOTool description contains placeholder or incomplete texten vdd_inspect

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~6,905Tokens (definiciones de herramientas)
~4.1 KBTamaño de respuesta típico
Impacto significativo en la atención (5.39% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "vision-driven-design": {
      "command": "npx",
      "args": [
        "@simonmak-ascent/mcp"
      ]
    }
  }
}

Paquetes ejecutables

npm@simonmak-ascent/mcp1.9.2stdio

Puntos de conexión remotos

https://vdd.simonmak.com/api/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (15)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🔴vdd_init(projectRoot)

VDD Phase 0: Generate constitution.md at the project root — the immutable tech stack, conventions, security constraints, naming rules, and banned patterns that every later phase obeys. Overwrites any existing constitution.md. Run this first, before vdd_vision; to change a constitution that already exists, use vdd_amend instead of re-running this. projectRoot sets the directory constitution.md is written to and that later phases resolve every vdd/ artifact against (default "."). Parameter relationships: projectRoot defaults to "." and must be the same root every later phase resolves against.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🔴vdd_vision(statement, projectRoot)

VDD Phase 1: Expand a freeform vision statement into vdd/vision.md — Impact Model (Goal, Actors, Impacts), Stakeholder Map, Success Metrics (leading + lagging), Constraints & Boundaries, and Target Domains. Overwrites any existing vdd/vision.md. Requires statement (freeform 1-3 paragraph intent, not a title) and a prior vdd_init. Run once, after vdd_init and before vdd_strategize; to revise a vision once downstream artifacts exist, use vdd_amend so the change cascades instead of re-running this. Parameter relationships: statement must be freeform prose (1-3 paragraphs), not a title; projectRoot must match the root used by vdd_init.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "statement": {
      "type": "string",
      "description": "Freeform vision statement"
    },
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  },
  "required": [
    "statement"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🔴vdd_strategize(availableTools, capabilities, researchFindings, projectRoot)

VDD Phase 2: Produce research-backed strategy into vdd/strategy.md — strategic pillars, competitive analysis, and a risk register, resolved from the vision target-domain primers. Overwrites vdd/strategy.md. Requires vdd/vision.md; run after vdd_vision and before vdd_tactics. Two-pass: call once with availableTools to get the research-subagent dispatch specs, then re-call with researchFindings to synthesize strategy.md (a first call with neither returns only the dispatch specs). To change strategy after artifacts exist, use vdd_amend. Parameter relationships: availableTools and capabilities are aliases (pass one); researchFindings only has an effect on the second call.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "availableTools": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "MCP/tool names available to the host agent (e.g., [\"brave-search\",\"perplexity\",\"context7\",\"gh_grep\",\"playwright\",\"filesystem\"])"
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Alias for availableTools"
    },
    "researchFindings": {
      "type": "string",
      "description": "Consolidated research subagent findings to synthesize into strategy.md (effect only on the second strategize call)"
    },
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🔴vdd_tactics(projectRoot)

VDD Phase 3: Audit the existing codebase into vdd/tactics.md — repo audit, technical-debt assessment, gap analysis, MoSCoW-prioritized action items (A-001, A-002, …), dependency map, and infrastructure requirements. Overwrites vdd/tactics.md. Requires vdd/strategy.md; run after vdd_strategize and before vdd_specify. Needs a filesystem-capable host to scan the repo, so check with vdd_detect_environment first if the host may lack one. Parameter relationships: projectRoot must match the root used by vdd_init, vdd_vision, and vdd_strategize; requires vdd/strategy.md to exist.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🔴vdd_specify(feature, actionItemId, description, projectRoot)

VDD Phase 4: Generate vdd/specs/<id>/spec.md for one tactical action item — user stories, Always/Ask/Never boundaries, Given/When/Then acceptance criteria (AC), MoSCoW priorities, non-functional requirements, and impact verification. Overwrites the spec file. Pass actionItemId (e.g. "A-001") or a freeform description to skip the V/S/T chain. Use for a NEW spec; to resolve leftover [NEEDS CLARIFICATION] markers in an existing spec use vdd_clarify instead. Parameter relationships: feature names the vdd/specs/<feature>/ directory and must match the feature passed to vdd_clarify, vdd_plan, and vdd_tasks; actionItemId is the A-### id from tactics.md and is optional when authoring from a freeform description.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "feature": {
      "type": "string",
      "description": "Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify"
    },
    "actionItemId": {
      "type": "string",
      "description": "Tactical action item ID, format A-### (e.g., \"A-001\"); must be an item id from vdd/tactics.md"
    },
    "description": {
      "type": "string",
      "description": "Freeform description input"
    },
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🟢vdd_clarify(feature, projectRoot)

VDD Phase 4b: Clarify an existing spec — scans vdd/specs/<feature>/spec.md and returns the items to resolve: every [NEEDS CLARIFICATION] marker, [e.g.] placeholder, and happy-path acceptance criterion (AC) still needing an edge-case counterpart (AC-E*). Read-only; returns the list without editing the file (the host agent then applies the resolutions). Pass feature (spec directory name). Run after vdd_specify when a spec has unresolved markers; to author a brand-new spec use vdd_specify instead. Parameter relationships: feature must be the exact spec directory name created by vdd_specify.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "feature": {
      "type": "string",
      "description": "Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify"
    },
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  },
  "required": [
    "feature"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🔴vdd_plan(feature, projectRoot)

VDD Phase 5: Generate the technical blueprint under vdd/specs/<feature>/ — plan.md (component breakdown, AC coverage map, technology choices, verification toolchain), data-model.md (entities, indexes, migrations), and contracts/ (request/response/error schemas). Overwrites these files. Requires an existing spec for the feature; run after vdd_specify or vdd_clarify and before vdd_tasks — if no spec exists yet, run vdd_specify first. Parameter relationships: feature must match the value passed to vdd_specify and vdd_tasks.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "feature": {
      "type": "string",
      "description": "Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify"
    },
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  },
  "required": [
    "feature"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🔴vdd_tasks(feature, projectRoot)

VDD Phase 6: Break the plan into atomic test-first tasks in vdd/specs/<feature>/tasks.md — each references acceptance criteria (AC) and contracts, is sized S/M/L, and is marked [P] when parallelizable. Overwrites tasks.md. Requires plan.md; run after vdd_plan. To fetch the next uncompleted task from an existing tasks.md use vdd_get_next_task instead of re-running this. Parameter relationships: feature must match the value passed to vdd_plan.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "feature": {
      "type": "string",
      "description": "Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify"
    },
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  },
  "required": [
    "feature"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🟢vdd_get_next_task(feature, projectRoot)

VDD Phase 7a: Read vdd/specs/<feature>/tasks.md and return the next uncompleted task (or a completion marker when none remain). Read-only; never edits tasks.md. Pass feature (the exact spec directory name). Use before each implementation session to keep context isolated; to regenerate the whole list use vdd_tasks, and to execute the returned task use vdd_implement. Parameter relationships: feature must match the spec directory; the returned taskId (TASK-###) is the argument to vdd_implement.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "feature": {
      "type": "string",
      "description": "Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify"
    },
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  },
  "required": [
    "feature"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🟢vdd_implement(taskId, projectRoot)

VDD Phase 7b: Prepare one task for implementation — loads constitution, spec, plan, and contracts and returns the implementation instruction plus the impact-chain commit-message format. Read-only; the tool writes nothing — the host agent performs the code edits, verification, and commit. Pass taskId (e.g. "TASK-003") from the task returned by vdd_get_next_task. Run one task at a time, after vdd_get_next_task; for read-only inspection of tasks use vdd_get_next_task instead. Parameter relationships: taskId comes from vdd_get_next_task (format TASK-###); projectRoot must match the root used by earlier phases.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "taskId": {
      "type": "string",
      "description": "Task ID to implement, format TASK-### (e.g., \"TASK-003\"); must be an id listed in the feature's tasks.md (see vdd_get_next_task)"
    },
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  },
  "required": [
    "taskId"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🟢vdd_validate(feature, artifactFiles, projectRoot)

VDD Phase 8: Validate the full chain — bidirectional traceability matrix, drift detection, orphan detection, uncovered vision goals, impact metrics vs targets, and 28 S&T assumption checks across 7 gates. Writes vdd/impact-report.generated.md and never overwrites a hand-authored vdd/impact-report.md. Run after implementation is complete; for the traceability matrix or per-feature spec metrics use vdd_inspect. Parameter relationships: feature narrows the check to one spec; artifactFiles maps artifact path to content for serverless runs and is omitted when resolving against a local projectRoot.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "feature": {
      "type": "string",
      "description": "Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify"
    },
    "artifactFiles": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Map of vdd/-relative artifact path → full file text, for serverless validate/drift detection where the tool cannot read the filesystem"
    },
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🟢vdd_inspect(scope, feature, projectRoot)

VDD Cross-phase: Read-only inspection of the current project in one call — scope selects the view. scope="project" (default) returns the bidirectional V→S→T→SP→PL→TK traceability matrix across all vdd/ artifacts; scope="feature" returns per-feature spec metrics (acceptance-criteria count, unresolved [NEEDS CLARIFICATION] markers, [e.g.] placeholder density, and whether plan.md/tasks.md exist). Never modifies files. Pass feature for the feature scope; for release-readiness validation with gates use vdd_validate, and to author a spec use vdd_specify. Output is a structured matrix/metrics object, not prose. Parameter relationships: scope="feature" requires feature, while scope="project" (the default) ignores it; projectRoot must match the root used by earlier phases.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "scope": {
      "type": "string",
      "enum": [
        "project",
        "feature"
      ],
      "description": "Inspect scope: \"project\" (default) returns the traceability matrix; \"feature\" returns per-feature spec metrics (requires feature)"
    },
    "feature": {
      "type": "string",
      "description": "Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify"
    },
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🟢vdd_amend(description, projectRoot)

VDD Cross-phase: Plan a requirement-change cascade through the whole chain — identifies the highest affected level and returns the ordered steps to update downward V→S→T→SP→PL→TK and re-run affected gates (G1–G7). Read-only; returns the cascade plan without editing artifacts (the host agent applies the edits and commits). Pass the change as description. Use when a requirement changes after artifacts already exist; to build a phase from scratch the first time, run that phase's own tool instead of vdd_amend. The plan is an ordered step list naming the affected gates, not rewritten artifacts. Parameter relationships: description is the requirement change to cascade through the artifact chain; projectRoot must match the root used by earlier phases.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "description": {
      "type": "string",
      "description": "Description of the requirement change"
    },
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  },
  "required": [
    "description"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🔴vdd_clone(description, statement, maxPages, timeoutMs, concurrency, ...)

Crawl and capture a target domain into a clone dataset + manifest — WordPress-aware schema inference, Payload collections, and a Next.js + Payload + Postgres scaffold manifest (vdd/clone-manifest.json). Pass the domain as description. Writes vdd/clone-dataset.json, vdd/clone-manifest.json, and vdd/clone.md, overwriting any existing versions in place. Open-world: makes network requests to the target site and reads its sitemap and same-origin links. Use for cloning an external site; it is not part of the VDD phase pipeline, so for the normal init→validate flow call those phase tools instead. Parameter relationships: description is the target domain and statement is the desired outcome (both optional); maxPages, timeoutMs, concurrency, crawl, and browser tune the crawl and refresh=true bypasses a cached dataset.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "description": {
      "type": "string",
      "description": "Freeform description input"
    },
    "statement": {
      "type": "string",
      "description": "Freeform vision statement (required for vision)"
    },
    "maxPages": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Clone: max pages to crawl, 1-5000 (default 200). Local stdio server only; ignored by the hosted endpoint"
    },
    "timeoutMs": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Clone: per-request timeout in ms, 1000-60000 (default 10000). Local stdio server only; ignored by the hosted endpoint"
    },
    "concurrency": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Clone: concurrent crawl workers, 1-16 (default 8). Local stdio server only; ignored by the hosted endpoint"
    },
    "crawl": {
      "type": "boolean",
      "description": "Clone: run the crawl (default true). Local stdio server only; ignored by the hosted endpoint"
    },
    "browser": {
      "type": "boolean",
      "description": "Clone: run browser/static capture (default true). Local stdio server only; ignored by the hosted endpoint"
    },
    "refresh": {
      "type": "boolean",
      "description": "Clone: force re-crawl, ignore a fresh cached dataset. Local stdio server only; ignored by the hosted endpoint"
    },
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}
🟢vdd_detect_environment(availableTools, capabilities, projectRoot)

VDD Environment Detection: Report which tools/MCPs each VDD phase requires vs treats as optional — across the 8-phase pipeline (init through validate) plus the cross-phase helpers (amend, clone, inspect, get-next-task) — and which of the host agent availableTools are present vs missing. Read-only; returns a capability report without modifying files. Run before vdd_strategize to plan research-subagent dispatch, or when a phase fails for lack of a tool; to inspect artifacts instead of capabilities use vdd_inspect. Returns a fixed-shape capability report; tool-name matching is normalized, so pass names as your host exposes them. Parameter relationships: availableTools and capabilities are aliases; omit both to get the per-phase requirements without a present/missing comparison.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "availableTools": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "MCP/tool names available to the host agent (e.g., [\"brave-search\",\"perplexity\",\"context7\",\"gh_grep\",\"playwright\",\"filesystem\"])"
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Alias for availableTools"
    },
    "projectRoot": {
      "type": "string",
      "default": ".",
      "description": "Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the phase completed successfully"
    },
    "artifact": {
      "type": "string",
      "description": "Primary artifact produced or returned"
    },
    "gateResult": {
      "type": "object",
      "description": "Quality-gate result, when the phase runs a gate",
      "properties": {
        "passed": {
          "type": "boolean",
          "description": "Whether the quality gate passed"
        },
        "checks": {
          "type": "number",
          "description": "Number of checks run"
        },
        "total": {
          "type": "number",
          "description": "Total number of checks"
        }
      }
    },
    "output": {
      "type": "object",
      "additionalProperties": true,
      "description": "Additional structured phase output"
    },
    "error": {
      "type": "string",
      "description": "Error message when the phase fails"
    },
    "_phase": {
      "type": "string",
      "description": "VDD phase that produced this result"
    }
  },
  "required": [
    "success"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada15 herramientas