{"name":"com.ascent-partners/vision-driven-design","slug":"ascent-partners-vision-driven-design","title":"Vision Driven Design (VDD) MCP Server","description":"Spec-driven development MCP server: 8 phases, bi-directional traceability, 7 quality gates.","url":"https://mcp.market/server/ascent-partners-vision-driven-design","rating":null,"grade":"A","score":88,"certified":false,"status":"active","category":"media","tags":["media"],"presence":{"score":35,"stars":1,"forks":1,"downloads_week":65,"last_push_at":"2026-10-14T16:15:13.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-10-25T11:54:29.173Z","last_ok_at":"2026-10-25T11:54:29.173Z","latency_ms":591},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/simonmak-ascent/vision-driven-design","website":"https://vdd.simonmak.com","version":"1.9.4","remotes":[{"type":"streamable-http","url":"https://vdd.simonmak.com/api/mcp"}],"packages":[{"registryType":"npm","identifier":"@simonmak-ascent/mcp","version":"1.9.4","runtimeHint":"npx","transport":{"type":"stdio"}}],"tools":[{"name":"vdd_amend","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"description":{"type":"string","description":"Description of the requirement change"},"projectRoot":{"type":"string","default":".","description":"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"}},"required":["description"]}},{"name":"vdd_clarify","description":"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.","write_action":false,"price_micros":0,"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"},"artifactFiles":{"type":"object","additionalProperties":{"type":"string"},"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"},"projectRoot":{"type":"string","default":".","description":"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"}},"required":["feature"]}},{"name":"vdd_clone","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"description":{"type":"string","description":"Freeform description input"},"statement":{"type":"string","description":"Freeform vision statement (required for vision)"},"maxPages":{"type":"integer","exclusiveMinimum":0,"description":"Clone: max pages to crawl, 1-5000 (default 200). Local stdio server only; ignored by the hosted endpoint"},"timeoutMs":{"type":"integer","exclusiveMinimum":0,"description":"Clone: per-request timeout in ms, 1000-60000 (default 10000). Local stdio server only; ignored by the hosted endpoint"},"concurrency":{"type":"integer","exclusiveMinimum":0,"description":"Clone: concurrent crawl workers, 1-16 (default 8). Local stdio server only; ignored by the hosted endpoint"},"crawl":{"type":"boolean","description":"Clone: run the crawl (default true). Local stdio server only; ignored by the hosted endpoint"},"browser":{"type":"boolean","description":"Clone: run browser/static capture (default true). Local stdio server only; ignored by the hosted endpoint"},"refresh":{"type":"boolean","description":"Clone: force re-crawl, ignore a fresh cached dataset. Local stdio server only; ignored by the hosted endpoint"},"projectRoot":{"type":"string","default":".","description":"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"}}}},{"name":"vdd_detect_environment","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"availableTools":{"type":"array","items":{"type":"string"},"description":"MCP/tool names available to the host agent (e.g., [\"brave-search\",\"perplexity\",\"context7\",\"gh_grep\",\"playwright\",\"filesystem\"])"},"capabilities":{"type":"array","items":{"type":"string"},"description":"Alias for availableTools"},"projectRoot":{"type":"string","default":".","description":"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"}}}},{"name":"vdd_get_next_task","description":"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.","write_action":false,"price_micros":0,"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"},"artifactFiles":{"type":"object","additionalProperties":{"type":"string"},"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"},"projectRoot":{"type":"string","default":".","description":"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"}},"required":["feature"]}},{"name":"vdd_implement","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"taskId":{"type":"string","description":"Task ID to implement, format TASK-### (e.g., \"TASK-003\"); must be an id listed in the feature's tasks.md (see vdd_get_next_task)"},"artifactFiles":{"type":"object","additionalProperties":{"type":"string"},"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"},"projectRoot":{"type":"string","default":".","description":"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"}},"required":["taskId"]}},{"name":"vdd_init","description":"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.","write_action":false,"price_micros":0,"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 \".\")"}}}},{"name":"vdd_inspect","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"scope":{"type":"string","enum":["project","feature"],"description":"Inspect scope: \"project\" (default) returns the traceability matrix; \"feature\" returns per-feature spec metrics (requires feature)"},"feature":{"type":"string","description":"Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify"},"artifactFiles":{"type":"object","additionalProperties":{"type":"string"},"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"},"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 \".\")"}}}},{"name":"vdd_plan","description":"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.","write_action":false,"price_micros":0,"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 \".\")"}},"required":["feature"]}},{"name":"vdd_specify","description":"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.","write_action":false,"price_micros":0,"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"},"actionItemId":{"type":"string","description":"Tactical action item ID, format A-### (e.g., \"A-001\"); must be an item id from vdd/tactics.md"},"description":{"type":"string","description":"Freeform description input"},"projectRoot":{"type":"string","default":".","description":"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"}}}},{"name":"vdd_strategize","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"availableTools":{"type":"array","items":{"type":"string"},"description":"MCP/tool names available to the host agent (e.g., [\"brave-search\",\"perplexity\",\"context7\",\"gh_grep\",\"playwright\",\"filesystem\"])"},"capabilities":{"type":"array","items":{"type":"string"},"description":"Alias for availableTools"},"researchFindings":{"type":"string","description":"Consolidated research subagent findings to synthesize into strategy.md (effect only on the second strategize call)"},"projectRoot":{"type":"string","default":".","description":"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"}}}},{"name":"vdd_tactics","description":"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.","write_action":false,"price_micros":0,"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","additionalProperties":{"type":"string"},"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"},"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"}}}},{"name":"vdd_tasks","description":"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.","write_action":false,"price_micros":0,"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 \".\")"}},"required":["feature"]}},{"name":"vdd_validate","description":"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.","write_action":false,"price_micros":0,"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"},"artifactFiles":{"type":"object","additionalProperties":{"type":"string"},"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"},"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 \".\")"}}}},{"name":"vdd_vision","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"statement":{"type":"string","description":"Freeform vision statement"},"projectRoot":{"type":"string","default":".","description":"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"}},"required":["statement"]}}],"scan":{"score":88,"grade":"A","scanned_at":"2026-10-14T17:39:20.894Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-14T17:39:20.789Z","components":{"code":{"score":25,"max":25,"notes":["13 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 502ms"]},"poisoning":{"score":15,"max":15,"notes":["15 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":3,"max":10,"notes":["namespace and repository owner differ"]}},"findings":[],"inputs":{"probes":[{"url":"https://vdd.simonmak.com/api/mcp","reachable":true,"authRequired":false,"latencyMs":502,"serverInfo":{"name":"vdd","version":"1.9.2"}}],"packages":[{"registryType":"npm","identifier":"@simonmak-ascent/mcp","version":"1.9.4","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-10-14T15:30:10.718Z","repositoryUrl":"git+https://github.com/simonmak-ascent/vision-driven-design.git","weeklyDownloads":65}],"repo":{"found":true,"owner":"simonmak-ascent","repo":"vision-driven-design","archived":false,"pushedAt":"2026-10-14T16:15:13Z","stars":1,"forks":1,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/246365505?v=4","ownerCreatedAt":"2025-11-26T19:53:23Z","license":"MIT"},"icon":{"url":"https://raw.githubusercontent.com/simonmak-ascent/vision-driven-design/main/docs/social-preview.svg","source":"registry"},"presence":{"stars":1,"forks":1,"downloadsWeek":65,"license":"MIT","lastPushAt":"2026-10-14T16:15:13.000Z","score":35}}}},"grade_history":[],"reviews":[]}