MCP Server Guide
Purpose
Section titled “Purpose”This guide is only for MCP setup and connectivity.
If you want the non-technical route first, start here:
If you want the full functional reference, start here:
Setup flow
Section titled “Setup flow”flowchart LR A["Install dependencies"] --> B["Build MCP"] B --> C["Register client config"] C --> D["Start transport"] D --> E["Validate connection"]Product split:
- repository root: canonical SDD framework
packages/sdd-core: reusable SDD logicpackages/sdd-mcp: MCP tools, resources, prompts, and transports
What is already implemented
Section titled “What is already implemented”High-level summary only:
Transports:
stdioStreamable HTTP
Tools:
sdd_create_workspacesdd_create_specsdd_validatesdd_check_gatesdd_record_user_consentsdd_list_specssdd_generate_statussdd_generate_roadmapsdd_append_project_logsdd_write_daily_logsdd_write_handoffsdd_write_decision
Structured tool output:
- each tool exposes
outputSchema - handlers return
structuredContentplus text output
Static resources:
sdd-policysdd-ai-startsdd-easy-mcp-guidesdd-quickstartsdd-spec-template
Project resource templates:
sdd-project-indexsdd-project-logsdd-project-latest-handoffsdd-project-ideasdd-spec-document
Prompts:
start_new_sdd_projectadapt_existing_project_to_sddclose_sdd_sessioneasy_start_projecteasy_create_speceasy_show_structureeasy_validate_projecteasy_show_next_stepeasy_close_session
Local setup
Section titled “Local setup”npm installnpm run typechecknpm run buildnpm run mcp:smokenpm run mcp:http:smokeRun the servers:
npm run mcp:startnpm run mcp:http:startEntrypoints:
- stdio:
packages/sdd-mcp/dist/index.js - HTTP:
http://127.0.0.1:3334/mcp
Operational contract
Section titled “Operational contract”- open this repository as the workspace root
- prefer
./www/<project-name>/as the recommended default workspace - external target paths are also supported for project-root-based tools
- create the SDD base first
- do not implement code before approved spec and consistent plan
- request explicit user consent only when implementation is about to start
Related references:
Copy-paste config examples
Section titled “Copy-paste config examples”Reference examples:
packages/sdd-mcp/examples/.cursor/mcp.jsonpackages/sdd-mcp/examples/.mcp.jsonpackages/sdd-mcp/examples/codex.config.toml
Cursor
Section titled “Cursor”Official config path on macOS/Linux:
~/.cursor/mcp.json
Project-scoped alternative:
mcp.jsonin the workspace, if you prefer project-local registration
Example:
{ "mcpServers": { "sdd": { "type": "stdio", "command": "node", "args": [ "/ABSOLUTE/PATH/TO/spec-driven-development-template/packages/sdd-mcp/dist/index.js" ] } }}Official shared config path:
~/.codex/config.toml
Example:
[mcp_servers.sdd]command = "node"args = ["/ABSOLUTE/PATH/TO/spec-driven-development-template/packages/sdd-mcp/dist/index.js"]Claude Code
Section titled “Claude Code”Official project-scoped config:
.mcp.jsonat the repository root
Official user-scoped config:
~/.claude.json
Project-scoped example:
{ "mcpServers": { "sdd": { "command": "node", "args": [ "/ABSOLUTE/PATH/TO/spec-driven-development-template/packages/sdd-mcp/dist/index.js" ], "env": {} } }}HTTP-capable clients
Section titled “HTTP-capable clients”If the client supports remote MCP over Streamable HTTP:
http://127.0.0.1:3334/mcpUse:
npm run mcp:http:startRecommended first message to the agent
Section titled “Recommended first message to the agent”Use the connected sdd MCP server for this repository.Create the SDD base first.If the project is runnable inside this template, keep it inside ./www/<project-name>; external target paths are also supported.Read the policy and quickstart resources first.Do not implement code before approved spec and consistent plan.Ask for explicit user consent only when implementation is about to start.Verification checklist
Section titled “Verification checklist”npm run typechecknpm run buildnpm run mcp:smokenpm run mcp:http:smoke./scripts/validate-sdd.sh . --strict./scripts/check-sdd-policy.sh ../scripts/check-sdd-gate.sh .