Vision Driven Design MCP
An MCP server providing a spec-driven development methodology for AI coding agents, featuring 8 phases, 7 quality gates, and bi-directional traceability aligned with standards like DO-178C and IEC 62304.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://vdd.simonmak.com/api/mcpWhat its tools do
15 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to ascent-partners.com ·
- Passed Endpoint and vendor documentation share a domain
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Generate spec-driven development plans with bi-directional traceability
- Validate code implementation against 7 quality gates
- Align development processes with DO-178C and IEC 62304 standards
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- vdd 1.9.5
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 15 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- 21 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
15 advertised
vdd_init — Initialize Constitution
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.
{
"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 \".\")"
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_vision — Expand Vision
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.
{
"type": "object",
"required": [
"statement"
],
"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 \".\")"
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_strategize — Research Strategy
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.
{
"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 \".\")"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Alias for availableTools"
},
"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\"])"
},
"researchFindings": {
"type": "string",
"description": "Consolidated research subagent findings to synthesize into strategy.md (effect only on the second strategize call)"
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_tactics — Audit Tactics
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. On the hosted (stateless) endpoint the tool cannot scan the repo itself: pass artifactFiles ({"vdd/strategy.md": "..."}) plus codebaseAudit (the repo scan produced by the host agent) to receive the audit; without them it returns a delegation envelope.
{
"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 \".\")"
},
"artifactFiles": {
"type": "object",
"description": "Map of vdd/-relative artifact path → full file text, for the hosted (stateless) endpoint, which cannot read the caller filesystem; without it the tool returns a delegation envelope",
"additionalProperties": {
"type": "string"
}
},
"codebaseAudit": {
"type": "string",
"description": "Repo scan (directory tree, manifests, modules, debt) produced by the host agent, for tactics on the hosted (stateless) endpoint which cannot scan the repo itself"
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_specify — Generate Spec
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.
{
"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"
},
"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 \".\")"
},
"actionItemId": {
"type": "string",
"description": "Tactical action item ID, format A-### (e.g., \"A-001\"); must be an item id from vdd/tactics.md"
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_clarify — Clarify Spec
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. On the hosted (stateless) endpoint, pass artifactFiles ({"vdd/specs/<feature>/spec.md": "..."}) so the tool can scan the spec and return the real markers; without it the tool returns a delegation envelope.
{
"type": "object",
"required": [
"feature"
],
"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 \".\")"
},
"artifactFiles": {
"type": "object",
"description": "Map of vdd/-relative artifact path → full file text, for the hosted (stateless) endpoint, which cannot read the caller filesystem; without it the tool returns a delegation envelope",
"additionalProperties": {
"type": "string"
}
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_plan — Generate Plan
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.
{
"type": "object",
"required": [
"feature"
],
"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 \".\")"
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_tasks — Generate Tasks
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.
{
"type": "object",
"required": [
"feature"
],
"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 \".\")"
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_get_next_task — Get Next Task
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. On the hosted (stateless) endpoint, pass artifactFiles ({"vdd/specs/<feature>/tasks.md": "..."}) so the tool returns the real next uncompleted task; without it the tool returns a delegation envelope.
{
"type": "object",
"required": [
"feature"
],
"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 \".\")"
},
"artifactFiles": {
"type": "object",
"description": "Map of vdd/-relative artifact path → full file text, for the hosted (stateless) endpoint, which cannot read the caller filesystem; without it the tool returns a delegation envelope",
"additionalProperties": {
"type": "string"
}
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_implement — Implement Task
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. On the hosted (stateless) endpoint, pass artifactFiles (constitution.md, spec.md, plan.md, contracts/, tasks.md) so the tool can embed the real task text and its AC/contract links; without it the tool returns a delegation envelope.
{
"type": "object",
"required": [
"taskId"
],
"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 \".\")"
},
"artifactFiles": {
"type": "object",
"description": "Map of vdd/-relative artifact path → full file text, for the hosted (stateless) endpoint, which cannot read the caller filesystem; without it the tool returns a delegation envelope",
"additionalProperties": {
"type": "string"
}
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_validate — Validate Impact
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. On the hosted (stateless) endpoint, pass artifactFiles (the vdd/ artifacts) so the tool can run drift/orphan/substance checks; without it the tool returns a delegation envelope.
{
"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 \".\")"
},
"artifactFiles": {
"type": "object",
"description": "Map of vdd/-relative artifact path → full file text, for the hosted (stateless) endpoint, which cannot read the caller filesystem; without it the tool returns a delegation envelope",
"additionalProperties": {
"type": "string"
}
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_inspect — Inspect Project
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. On the hosted (stateless) endpoint, pass artifactFiles (path→content for the vdd/ artifacts) so the tool computes the real matrix/metrics; without it the tool returns a delegation envelope.
{
"type": "object",
"properties": {
"scope": {
"enum": [
"project",
"feature"
],
"type": "string",
"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 \".\")"
},
"artifactFiles": {
"type": "object",
"description": "Map of vdd/-relative artifact path → full file text, for the hosted (stateless) endpoint, which cannot read the caller filesystem; without it the tool returns a delegation envelope",
"additionalProperties": {
"type": "string"
}
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_amend — Amend Requirements
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.
{
"type": "object",
"required": [
"description"
],
"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 \".\")"
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_clone — Clone Website
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.
{
"type": "object",
"properties": {
"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"
},
"maxPages": {
"type": "integer",
"description": "Clone: max pages to crawl, 1-5000 (default 200). Local stdio server only; ignored by the hosted endpoint",
"exclusiveMinimum": 0
},
"statement": {
"type": "string",
"description": "Freeform vision statement (required for vision)"
},
"timeoutMs": {
"type": "integer",
"description": "Clone: per-request timeout in ms, 1000-60000 (default 10000). Local stdio server only; ignored by the hosted endpoint",
"exclusiveMinimum": 0
},
"concurrency": {
"type": "integer",
"description": "Clone: concurrent crawl workers, 1-16 (default 8). Local stdio server only; ignored by the hosted endpoint",
"exclusiveMinimum": 0
},
"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 \".\")"
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}vdd_detect_environment — Detect Environment
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.
{
"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 \".\")"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Alias for availableTools"
},
"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\"])"
}
}
}{
"type": "object",
"required": [
"success"
],
"properties": {
"error": {
"type": "string",
"description": "Error message when the phase fails"
},
"_phase": {
"type": "string",
"description": "VDD phase that produced this result"
},
"output": {
"type": "object",
"description": "Additional structured phase output",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the phase completed successfully"
},
"artifact": {
"type": "string",
"description": "Primary artifact produced or returned"
},
"gateResult": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of checks"
},
"checks": {
"type": "number",
"description": "Number of checks run"
},
"passed": {
"type": "boolean",
"description": "Whether the quality gate passed"
}
},
"description": "Quality-gate result, when the phase runs a gate"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}Prompts
21 advertised
start_vdd_project — Start a VDD project
Run the VDD chain from a vision statement to a test-first task list, gate by gate.
- vision
- Freeform 1-3 paragraph vision: who it is for, the change you want, how you will measure it. (required)
- projectRoot
- Project root to write constitution.md and vdd/ into (default ".").
implement_next_task — Implement the next VDD task
Pick the next uncompleted task for a feature, implement it test-first, and keep traceability.
- feature
- Spec directory name under vdd/specs/ (kebab-case). (required)
- projectRoot
- Project root (default ".").
change_requirement — Change a requirement
Cascade a requirement change down the V→S→T→SP→PL→TK chain and re-run the affected gates.
- change
- The requirement change, in plain language. (required)
- projectRoot
- Project root (default ".").
init — VDD Phase 0 — Constitution
Generate constitution.md from the project's real stack, conventions, and constraints.
- projectRoot
- Project root (default ".").
vision — VDD Phase 1 — Vision
Expand a freeform vision statement into vdd/vision.md.
- statement
- Freeform 1-3 paragraph vision. (required)
- projectRoot
- Project root (default ".").
strategize — VDD Phase 2 — Strategy
Dispatch research subagents and synthesize vdd/strategy.md.
- researchFindings
- Optional consolidated findings to skip the dispatch pass.
- projectRoot
- Project root (default ".").
tactics — VDD Phase 3 — Tactics
Audit the codebase and produce MoSCoW-prioritized vdd/tactics.md.
- codebaseAudit
- Optional pre-computed repo audit; the hosted endpoint cannot scan the repo.
- projectRoot
- Project root (default ".").
specify — VDD Phase 4 — Spec
Generate vdd/specs/<feature>/spec.md from a tactical item or freeform description.
- actionItemId
- Tactical action item ID (A-###) from vdd/tactics.md.
- description
- Freeform description to skip the V/S/T chain.
- feature
- Kebab-case feature name (defaults to the action item ID).
- projectRoot
- Project root (default ".").
clarify — VDD Phase 4b — Clarify
Resolve [NEEDS CLARIFICATION] markers and placeholders in an existing spec.
- feature
- Spec directory name under vdd/specs/. (required)
- projectRoot
- Project root (default ".").
plan — VDD Phase 5 — Plan
Generate plan.md, data-model.md, and contracts/ for a feature.
- feature
- Spec directory name under vdd/specs/. (required)
- projectRoot
- Project root (default ".").
tasks — VDD Phase 6 — Tasks
Break the plan into atomic test-first tasks in tasks.md.
- feature
- Spec directory name under vdd/specs/. (required)
- projectRoot
- Project root (default ".").
get-next-task — VDD Phase 7a — Next task
Return the next uncompleted task for a feature without implementing it.
- feature
- Spec directory name under vdd/specs/. (required)
- projectRoot
- Project root (default ".").
implement — VDD Phase 7b — Implement task
Prepare and execute one task test-first with impact-chain traceability.
- taskId
- Task ID from tasks.md (TASK-###). (required)
- projectRoot
- Project root (default ".").
validate — VDD Phase 8 — Validate
Full-chain traceability, drift detection, and impact verification.
- feature
- Optional feature to scope the report.
- projectRoot
- Project root (default ".").
inspect — VDD Cross-phase — Inspect
Read-only traceability matrix (scope=project) or per-feature spec metrics (scope=feature).
- scope
- 'project' (default) or 'feature'.
- feature
- Feature name when scope=feature.
- projectRoot
- Project root (default ".").
trace — VDD Cross-phase — Trace
Render the bidirectional traceability matrix without editing files.
- projectRoot
- Project root (default ".").
analyze — VDD Cross-phase — Analyze
Cross-artifact consistency metrics for one feature.
- feature
- Spec directory name under vdd/specs/. (required)
- projectRoot
- Project root (default ".").
amend — VDD Cross-phase — Amend
Cascade a requirement change through the chain and re-run affected gates.
- description
- The requirement change, in plain language. (required)
- projectRoot
- Project root (default ".").
detect-environment — VDD Cross-phase — Detect environment
Report per-phase required and missing host tools before research or implementation.
- availableTools
- Optional comma-separated host tool names.
clone — VDD Clone — Crawl and manifest
Crawl a domain into a clone dataset and manifest for the vdd-clone skill.
- description
- Domain to clone (https://example.com or example.com). (required)
- projectRoot
- Project root (default ".").
e2e — VDD End-to-end
Run the full 8-phase chain from a vision statement using the available phase tools.
- statement
- Freeform 1-3 paragraph vision. (required)
- feature
- Kebab-case feature name (default feature-1).
- projectRoot
- Project root (default ".").
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 530 ms
- 95th percentile latency
- 530 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 530 ms · metadata changed · 15 tool(s), 21 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http vision-driven-design-mcp https://vdd.simonmak.com/api/mcpCodex
codex mcp add vision-driven-design-mcp --url https://vdd.simonmak.com/api/mcpCursor
{
"mcpServers": {
"vision-driven-design-mcp": {
"url": "https://vdd.simonmak.com/api/mcp"
}
}
}Cline
{
"mcpServers": {
"vision-driven-design-mcp": {
"type": "streamableHttp",
"url": "https://vdd.simonmak.com/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"vision-driven-design-mcp": {
"type": "http",
"url": "https://vdd.simonmak.com/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http vision-driven-design-mcp https://vdd.simonmak.com/api/mcpClaude Desktop
https://vdd.simonmak.com/api/mcpWindsurf
{
"mcpServers": {
"vision-driven-design-mcp": {
"serverUrl": "https://vdd.simonmak.com/api/mcp"
}
}
}Let your agent find its tools
Find servers like Vision Driven Design MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other developer tools servers
Do you run Vision Driven Design MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.