MCP Server Guide
How-to Steps for one specific job. Assumes you already know the basics.
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 — 39 in total. This guide does not list them one by one on purpose: that list drifted out of date twice. The complete, always-current reference is guide 41. What they cover:
- Create and validate: workspaces, numbered specs, validation, the gate, consent, spec scoring, EARS linting.
- Read and write specs: whole documents, guided sections, the INDEX row, and the full task list (add, rename, remove, move, tick).
- The board: read it, write it, connect two cards, and the board view for MCP-Apps clients.
- Logbook: decisions, handoffs, daily logs, the project log — read and write.
- Reports: STATUS.md and the roadmap.
- Existing projects: install the
spec/folder, discover legacy structure, check the policy, check drift. - Stay current: compare your installed version against the server, and upgrade.
- The builder’s AI queue: claim a request, answer it with a proposal.
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_sessionsdd_serve_requests— the queue-serving loop for the builder’s AI requests (no install needed in clients that show MCP prompts as slash commands)
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”Shortcut (spec 032):
npx @juanklagos/sdd-mcp@latest connectwrites these files for you, for seven clients, merging into whatever you already have. See guide 51. The examples below stay as the manual reference.
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 .