Koskamo

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.

Vision Driven Design MCP logo, by Ascent PartnersVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Ascent Partners
MCP endpoint (Streamable HTTP)
https://vdd.simonmak.com/api/mcp
Vendor documentation

What its tools do

15 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

15 of 15 have a description · 15 of 15 declare behavior hints · 15 of 15 with parameters document them all

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

Vendor evidenceRegistry 1.9.4
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
Server-advertised capabilities
{
  "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.

Vision Driven Design (VDD): an 8-phase, spec-driven development methodology with bi-directional traceability. Start with vdd_init, then vdd_vision (pass a freeform statement). Before each implementation session call vdd_get_next_task. Read-only tools that write nothing are vdd_inspect, vdd_detect_environment, vdd_get_next_task, vdd_clarify, vdd_implement, and vdd_amend; other write tools overwrite their target artifacts unless their description says otherwise (vdd_validate writes only a new vdd/impact-report.generated.md without clobbering a hand-authored report). For a guided run, use the prompts start_vdd_project, init, vision, strategize, tactics, specify, clarify, plan, tasks, get-next-task, implement, validate, inspect, trace, analyze, amend, detect-environment, clone, e2e, implement_next_task or change_requirement.

Tools

15 advertised

vdd_init — Initialize Constitution
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_init input schema
{
  "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 \".\")"
    }
  }
}
vdd_init output schema
{
  "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"
    }
  }
}
vdd_init annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_vision — Expand Vision
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_vision input schema
{
  "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 \".\")"
    }
  }
}
vdd_vision output schema
{
  "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"
    }
  }
}
vdd_vision annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_strategize — Research Strategy
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_strategize input schema
{
  "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)"
    }
  }
}
vdd_strategize output schema
{
  "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"
    }
  }
}
vdd_strategize annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_tactics — Audit Tactics
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_tactics input schema
{
  "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"
    }
  }
}
vdd_tactics output schema
{
  "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"
    }
  }
}
vdd_tactics annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_specify — Generate Spec
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_specify input schema
{
  "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"
    }
  }
}
vdd_specify output schema
{
  "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"
    }
  }
}
vdd_specify annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_clarify — Clarify Spec
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_clarify input schema
{
  "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"
      }
    }
  }
}
vdd_clarify output schema
{
  "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"
    }
  }
}
vdd_clarify annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_plan — Generate Plan
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_plan input schema
{
  "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 \".\")"
    }
  }
}
vdd_plan output schema
{
  "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"
    }
  }
}
vdd_plan annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_tasks — Generate Tasks
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_tasks input schema
{
  "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 \".\")"
    }
  }
}
vdd_tasks output schema
{
  "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"
    }
  }
}
vdd_tasks annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_get_next_task — Get Next Task
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_get_next_task input schema
{
  "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"
      }
    }
  }
}
vdd_get_next_task output schema
{
  "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"
    }
  }
}
vdd_get_next_task annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_implement — Implement Task
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_implement input schema
{
  "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"
      }
    }
  }
}
vdd_implement output schema
{
  "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"
    }
  }
}
vdd_implement annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_validate — Validate Impact
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_validate input schema
{
  "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"
      }
    }
  }
}
vdd_validate output schema
{
  "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"
    }
  }
}
vdd_validate annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_inspect — Inspect Project
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_inspect input schema
{
  "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"
      }
    }
  }
}
vdd_inspect output schema
{
  "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"
    }
  }
}
vdd_inspect annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_amend — Amend Requirements
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_amend input schema
{
  "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 \".\")"
    }
  }
}
vdd_amend output schema
{
  "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"
    }
  }
}
vdd_amend annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_clone — Clone Website
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_clone input schema
{
  "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 \".\")"
    }
  }
}
vdd_clone output schema
{
  "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"
    }
  }
}
vdd_clone annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
vdd_detect_environment — Detect Environment
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

vdd_detect_environment input schema
{
  "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\"])"
    }
  }
}
vdd_detect_environment output schema
{
  "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"
    }
  }
}
vdd_detect_environment annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}

Prompts

21 advertised

start_vdd_project — Start a VDD project

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

Generate constitution.md from the project's real stack, conventions, and constraints.

projectRoot
Project root (default ".").
vision — VDD Phase 1 — Vision

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

Full-chain traceability, drift detection, and impact verification.

feature
Optional feature to scope the report.
projectRoot
Project root (default ".").
inspect — VDD Cross-phase — Inspect

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

Render the bidirectional traceability matrix without editing files.

projectRoot
Project root (default ".").
analyze — VDD Cross-phase — Analyze

Advertised by the server during the last successful anonymous check.

Cross-artifact consistency metrics for one feature.

feature
Spec directory name under vdd/specs/. (required)
projectRoot
Project root (default ".").
amend — VDD Cross-phase — Amend

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

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

Advertised by the server during the last successful anonymous check.

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

No resource definitions available.

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.

Too few checks for a percentage yet (1 of 1 answered).

  1. 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.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http vision-driven-design-mcp https://vdd.simonmak.com/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add vision-driven-design-mcp --url https://vdd.simonmak.com/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable vision-driven-design-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "vision-driven-design-mcp": {
      "url": "https://vdd.simonmak.com/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "vision-driven-design-mcp": {
      "type": "streamableHttp",
      "url": "https://vdd.simonmak.com/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start vision-driven-design-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "vision-driven-design-mcp": {
      "type": "http",
      "url": "https://vdd.simonmak.com/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http vision-driven-design-mcp https://vdd.simonmak.com/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://vdd.simonmak.com/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "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.

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.

Claim this listing