sdd-mcp-server 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -20
- package/mcp-server.js +58 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
A Model Context Protocol (MCP) server implementing Spec-Driven Development (SDD) workflows for AI-agent CLIs and IDEs like Claude Code, Cursor, and others.
|
|
8
8
|
|
|
9
|
-
>
|
|
9
|
+
> ✅ v1.4.0 Update: Requirements, Design, and Tasks are now analysis-based on first run in MCP mode — no more template-first step. Steering remains analysis-backed with static exceptions (linus-review.md, commit.md). Works across JS/TS, Java, Python, Go, Ruby, PHP, Rust, .NET, and more.
|
|
10
10
|
|
|
11
11
|
## 🚀 Quick Start
|
|
12
12
|
|
|
@@ -43,7 +43,7 @@ npm run build
|
|
|
43
43
|
npm start
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
### Option
|
|
46
|
+
### Option 4: Docker (Secure Distroless Image)
|
|
47
47
|
```bash
|
|
48
48
|
# Build distroless image locally
|
|
49
49
|
docker build --target production -t sdd-mcp-server .
|
|
@@ -80,10 +80,11 @@ claude mcp add sdd "sdd-mcp-server" -s local
|
|
|
80
80
|
claude mcp list
|
|
81
81
|
# Should show: sdd: ✓ Connected
|
|
82
82
|
|
|
83
|
-
# For development (
|
|
83
|
+
# For development (local repo):
|
|
84
84
|
git clone https://github.com/yi-john-huang/sdd-mcp.git
|
|
85
85
|
cd sdd-mcp
|
|
86
|
-
|
|
86
|
+
# Use the dedicated MCP entry
|
|
87
|
+
claude mcp add sdd "$(pwd)/mcp-server.js" -s local
|
|
87
88
|
```
|
|
88
89
|
|
|
89
90
|
Manual configuration in `~/.claude.json`:
|
|
@@ -149,7 +150,7 @@ Once connected to your AI client, you can use these MCP tools:
|
|
|
149
150
|
| `sdd-quality-check` | Code quality analysis | Linus-style 5-layer code review |
|
|
150
151
|
| `sdd-context-load` | Load project context | Restore project memory and state |
|
|
151
152
|
| `sdd-template-render` | Render templates | Generate files from templates |
|
|
152
|
-
| `sdd-steering` | Create/update steering docs | Analyzes project to generate product.md, tech.md, structure.md with real content + static linus-review.md, commit.md |
|
|
153
|
+
| `sdd-steering` | Create/update steering docs | Analyzes project to generate product.md, tech.md, structure.md with real content + static linus-review.md, commit.md, security-check.md |
|
|
153
154
|
| `sdd-steering-custom` | Create custom steering docs | Add specialized guidance documents |
|
|
154
155
|
| `sdd-validate-design` | Design quality validation | Interactive GO/NO-GO design review |
|
|
155
156
|
| `sdd-validate-gap` | Implementation gap analysis | Analyze requirements vs codebase |
|
|
@@ -183,15 +184,26 @@ Once connected to your AI client, you can use these MCP tools:
|
|
|
183
184
|
5. **Implement with TDD**
|
|
184
185
|
```
|
|
185
186
|
Use sdd-spec-impl to execute tasks with TDD methodology
|
|
186
|
-
|
|
187
|
-
|
|
187
|
+
Use sdd-quality-check for code review and analysis
|
|
188
|
+
```
|
|
188
189
|
|
|
189
190
|
6. **Monitor & Manage**
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
191
|
+
```
|
|
192
|
+
Use sdd-status to check workflow progress
|
|
193
|
+
Use sdd-approve to approve workflow phases
|
|
194
|
+
Use sdd-context-load to restore project memory
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Upgrading to 1.4.0
|
|
198
|
+
|
|
199
|
+
- What changed: In MCP mode, `sdd-requirements`, `sdd-design`, and `sdd-tasks` now generate analysis‑based documents on the first run (no more template‑first step). Steering remains analysis‑backed with static exceptions (`linus-review.md`, `commit.md`).
|
|
200
|
+
- Upgrade commands:
|
|
201
|
+
- Prefer npx: `npx -y sdd-mcp-server@latest` (no install), or
|
|
202
|
+
- Global: `npm i -g sdd-mcp-server@1.4.0` and run `sdd-mcp-server`.
|
|
203
|
+
- If you pinned a version in your MCP config, update it to `@latest` or `@1.4.0`.
|
|
204
|
+
- If you previously scripted a second “update documents based on codebase” step, you can remove it — documents are analyzed on first generation now.
|
|
205
|
+
- Fallbacks: If dynamic analysis fails, tools still write a minimal template with a clear warning header and error message; rerun after fixing the issue.
|
|
206
|
+
- Requirements: Node.js >= 18.
|
|
195
207
|
|
|
196
208
|
## ⚙️ Configuration
|
|
197
209
|
|
|
@@ -326,7 +338,7 @@ claude mcp add sdd "sdd-mcp-server" -s local
|
|
|
326
338
|
# Alternative: Use local development version for faster startup
|
|
327
339
|
git clone https://github.com/yi-john-huang/sdd-mcp.git
|
|
328
340
|
cd sdd-mcp
|
|
329
|
-
claude mcp add sdd "$(pwd)/
|
|
341
|
+
claude mcp add sdd "$(pwd)/mcp-server.js" -s local
|
|
330
342
|
```
|
|
331
343
|
|
|
332
344
|
**Issue: "Permission denied"**
|
|
@@ -335,13 +347,11 @@ claude mcp add sdd "$(pwd)/local-mcp-server.js" -s local
|
|
|
335
347
|
sudo npm install -g sdd-mcp-server
|
|
336
348
|
```
|
|
337
349
|
|
|
338
|
-
**Issue: "
|
|
350
|
+
**Issue: "Only template content generated" (Resolved in v1.4.0)**
|
|
339
351
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
```
|
|
344
|
-
This will trigger the AI to analyze your actual project structure, dependencies, and technology stack to generate meaningful, project-specific content instead of generic templates.
|
|
352
|
+
As of 1.4.0, `sdd-requirements`, `sdd-design`, `sdd-tasks`, and `sdd-steering` generate analysis-based documents on first run. If you still see a template:
|
|
353
|
+
- Check the top warning header in the file — it includes the error that triggered fallback.
|
|
354
|
+
- Fix the indicated issue (e.g., permission/path), then rerun the tool.
|
|
345
355
|
|
|
346
356
|
## 📖 Advanced Documentation
|
|
347
357
|
|
|
@@ -378,4 +388,4 @@ claude mcp add sdd "sdd-mcp-server"
|
|
|
378
388
|
sdd-mcp-server
|
|
379
389
|
```
|
|
380
390
|
|
|
381
|
-
Built for the AI development community 🤖✨
|
|
391
|
+
Built for the AI development community 🤖✨
|
package/mcp-server.js
CHANGED
|
@@ -1198,6 +1198,63 @@ Managed by \`/kiro:steering\` command. Updates here reflect command changes.
|
|
|
1198
1198
|
}
|
|
1199
1199
|
await fs.writeFile(agentsPath, agentsContent);
|
|
1200
1200
|
}
|
|
1201
|
+
|
|
1202
|
+
// Ensure security-check.md exists (static)
|
|
1203
|
+
const securityPath = path.join(steeringPath, 'security-check.md');
|
|
1204
|
+
const securityExists = await fs.access(securityPath).then(() => true).catch(() => false);
|
|
1205
|
+
if (!securityExists) {
|
|
1206
|
+
const securityContent = `# Security Check (OWASP Top 10 Aligned)
|
|
1207
|
+
|
|
1208
|
+
Use this checklist during code generation and review. Avoid OWASP Top 10 issues by design.
|
|
1209
|
+
|
|
1210
|
+
## A01: Broken Access Control
|
|
1211
|
+
- Enforce least privilege; validate authorization on every request/path
|
|
1212
|
+
- No client-side trust; never rely on hidden fields or disabled UI
|
|
1213
|
+
|
|
1214
|
+
## A02: Cryptographic Failures
|
|
1215
|
+
- Use HTTPS/TLS; do not roll your own crypto
|
|
1216
|
+
- Store secrets in env vars/secret stores; never commit secrets
|
|
1217
|
+
|
|
1218
|
+
## A03: Injection
|
|
1219
|
+
- Use parameterized queries/ORM and safe template APIs
|
|
1220
|
+
- Sanitize/validate untrusted input; avoid string concatenation in queries
|
|
1221
|
+
|
|
1222
|
+
## A04: Insecure Design
|
|
1223
|
+
- Threat model critical flows; add security requirements to design
|
|
1224
|
+
- Fail secure; disable features by default until explicitly enabled
|
|
1225
|
+
|
|
1226
|
+
## A05: Security Misconfiguration
|
|
1227
|
+
- Disable debug modes in prod; set secure headers (CSP, HSTS, X-Content-Type-Options)
|
|
1228
|
+
- Pin dependencies and lock versions; no default credentials
|
|
1229
|
+
|
|
1230
|
+
## A06: Vulnerable & Outdated Components
|
|
1231
|
+
- Track SBOM/dependencies; run npm audit or a scanner regularly and patch
|
|
1232
|
+
- Prefer maintained libraries; remove unused deps
|
|
1233
|
+
|
|
1234
|
+
## A07: Identification & Authentication Failures
|
|
1235
|
+
- Use vetted auth (OIDC/OAuth2); enforce MFA where applicable
|
|
1236
|
+
- Secure session handling (HttpOnly, Secure, SameSite cookies)
|
|
1237
|
+
|
|
1238
|
+
## A08: Software & Data Integrity Failures
|
|
1239
|
+
- Verify integrity of third-party artifacts; signed releases when possible
|
|
1240
|
+
- Protect CI/CD: signed commits/tags, restricted tokens, principle of least privilege
|
|
1241
|
+
|
|
1242
|
+
## A09: Security Logging & Monitoring Failures
|
|
1243
|
+
- Log authz/authn events and errors without sensitive data
|
|
1244
|
+
- Add alerts for suspicious activity; retain logs per policy
|
|
1245
|
+
|
|
1246
|
+
## A10: Server-Side Request Forgery (SSRF)
|
|
1247
|
+
- Validate/deny-list outbound destinations; no direct fetch to arbitrary URLs
|
|
1248
|
+
- Use network egress controls; fetch via vetted proxies when needed
|
|
1249
|
+
|
|
1250
|
+
## General Practices
|
|
1251
|
+
- Validate inputs (schema, length, type) and outputs (encoding)
|
|
1252
|
+
- Handle errors without leaking stack traces or secrets
|
|
1253
|
+
- Use content security best practices for templates/HTML
|
|
1254
|
+
- Add security tests where feasible (authz, input validation)
|
|
1255
|
+
`;
|
|
1256
|
+
await fs.writeFile(securityPath, securityContent);
|
|
1257
|
+
}
|
|
1201
1258
|
|
|
1202
1259
|
const mode = updateMode === 'update' ? 'Updated' : 'Created';
|
|
1203
1260
|
|
|
@@ -1216,6 +1273,7 @@ Managed by \`/kiro:steering\` command. Updates here reflect command changes.
|
|
|
1216
1273
|
- \`.kiro/steering/structure.md\` - Project organization and architectural decisions (AI analysis template)
|
|
1217
1274
|
- \`.kiro/steering/linus-review.md\` - Code review guidelines (full content)
|
|
1218
1275
|
- \`.kiro/steering/commit.md\` - Commit message standards (full content)
|
|
1276
|
+
- \`.kiro/steering/security-check.md\` - Security checklist aligned to OWASP Top 10 (full content)
|
|
1219
1277
|
- \`.kiro/steering/AGENTS.md\` - Universal AI agent workflow guidance
|
|
1220
1278
|
|
|
1221
1279
|
**AI-Driven Approach**:
|