secufusion-mcp 1.0.0 → 1.0.2
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 +167 -0
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# SecuFusion MCP Server
|
|
2
|
+
|
|
3
|
+
> **Developer workflow tooling for the SecuFusion platform** — enforces zero-trust architecture standards, tracks task specs, and gates PRs with automated guardrail checks.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/secufusion-mcp)
|
|
6
|
+
[](./LICENSE)
|
|
7
|
+
[](https://nodejs.org)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## What is this?
|
|
12
|
+
|
|
13
|
+
`secufusion-mcp` is a [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that plugs into AI coding assistants (Claude Desktop, Cursor, Cline, etc.) and gives them three powerful tools to enforce SecuFusion's engineering standards:
|
|
14
|
+
|
|
15
|
+
| Tool | Phase | What it does |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| `manage_feature_spec` | Planning & Execution | Creates/updates a `.current-task-spec.md` blueprint |
|
|
18
|
+
| `log_rejected_pattern` | Course Correction | Records bad patterns to `.rejected-patterns.json` |
|
|
19
|
+
| `run_pre_pr_checks` | PR Handoff | Scans the codebase and gates PRs with guardrail validation |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
|
|
25
|
+
### Option 1 — npx (no install required)
|
|
26
|
+
```bash
|
|
27
|
+
npx secufusion-mcp
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Option 2 — Global install
|
|
31
|
+
```bash
|
|
32
|
+
npm install -g secufusion-mcp
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Setup: Add to Your MCP Client
|
|
38
|
+
|
|
39
|
+
### Claude Desktop
|
|
40
|
+
|
|
41
|
+
Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
|
|
42
|
+
or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"mcpServers": {
|
|
47
|
+
"secufusion-mcp": {
|
|
48
|
+
"command": "npx",
|
|
49
|
+
"args": ["-y", "secufusion-mcp"]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Cursor / Cline
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"secufusion-mcp": {
|
|
60
|
+
"command": "npx",
|
|
61
|
+
"args": ["-y", "secufusion-mcp"]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Tools Reference
|
|
69
|
+
|
|
70
|
+
### 1. manage_feature_spec
|
|
71
|
+
|
|
72
|
+
Creates or updates `.current-task-spec.md` — your single source of truth for every task.
|
|
73
|
+
|
|
74
|
+
**Parameters:**
|
|
75
|
+
|
|
76
|
+
| Parameter | Type | Required | Description |
|
|
77
|
+
|---|---|---|---|
|
|
78
|
+
| `action` | `create` or `update` or `read` | Yes | Operation to perform |
|
|
79
|
+
| `task_description` | string | When action=create | Full feature/task description |
|
|
80
|
+
| `update_content` | string | When action=update | Markdown to merge (tick checkboxes) |
|
|
81
|
+
| `work_item_id` | string | No | Azure DevOps work item ID |
|
|
82
|
+
| `reference_file_path` | string | No | Source file to extract coding patterns from |
|
|
83
|
+
|
|
84
|
+
**Example:**
|
|
85
|
+
```
|
|
86
|
+
"Start WI-1042: Add tenant-scoped audit log CSV export.
|
|
87
|
+
Reference: src/services/AuditService.java"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### 2. log_rejected_pattern
|
|
93
|
+
|
|
94
|
+
Appends bad patterns to `.rejected-patterns.json` so they are never repeated.
|
|
95
|
+
|
|
96
|
+
**Parameters:**
|
|
97
|
+
|
|
98
|
+
| Parameter | Type | Required | Description |
|
|
99
|
+
|---|---|---|---|
|
|
100
|
+
| `pattern` | string | Yes | The bad pattern or approach |
|
|
101
|
+
| `reason` | string | Yes | Why rejected and what to do instead |
|
|
102
|
+
| `category` | enum | No | architecture, security, database, logging, api-design, testing, other |
|
|
103
|
+
| `file_context` | string | No | File where the pattern was observed |
|
|
104
|
+
|
|
105
|
+
**Example:**
|
|
106
|
+
```
|
|
107
|
+
"Never use a global @Repository without tenantId scoping — it leaks cross-tenant data."
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
### 3. run_pre_pr_checks
|
|
113
|
+
|
|
114
|
+
Scans the codebase and produces a pass/fail report. Must pass before raising a PR.
|
|
115
|
+
|
|
116
|
+
**Parameters:**
|
|
117
|
+
|
|
118
|
+
| Parameter | Type | Required | Description |
|
|
119
|
+
|---|---|---|---|
|
|
120
|
+
| `work_item_id` | string | Yes | Azure DevOps work item ID |
|
|
121
|
+
| `root_dir` | string | No | Directory to scan (defaults to cwd) |
|
|
122
|
+
| `skip_checks` | array | No | `spec_boxes`, `console_logs`, `hardcoded_urls`, `flyway_migrations` |
|
|
123
|
+
|
|
124
|
+
**Checks performed:**
|
|
125
|
+
|
|
126
|
+
| Check | Fails when |
|
|
127
|
+
|---|---|
|
|
128
|
+
| SPEC | Spec missing or has unchecked boxes |
|
|
129
|
+
| LOGGING | console.log() or System.out.println() found in source |
|
|
130
|
+
| SECURITY | Hardcoded IPs or uat/prod/staging URLs found |
|
|
131
|
+
| FLYWAY | @Entity files exist but no V__*.sql migrations found |
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Guardrails
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
All DB queries and event payloads scoped with tenantId
|
|
139
|
+
No console.log() or System.out.println() in any source file
|
|
140
|
+
No hardcoded UAT/Prod IPs or environment URLs
|
|
141
|
+
Every JPA @Entity change requires a Flyway .sql migration
|
|
142
|
+
Spec must be fully checked before PR is raised
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Workflow
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
Phase 1 — Planning : manage_feature_spec (create) → .current-task-spec.md
|
|
151
|
+
Phase 2 — Execution : manage_feature_spec (update) → tick off ACs
|
|
152
|
+
Phase 3 — Correction : log_rejected_pattern → .rejected-patterns.json
|
|
153
|
+
Phase 4 — PR Handoff : run_pre_pr_checks → must pass to ship
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Requirements
|
|
159
|
+
|
|
160
|
+
- Node.js >= 18.0.0
|
|
161
|
+
- An MCP-compatible AI client (Claude Desktop, Cursor, Cline, etc.)
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## License
|
|
166
|
+
|
|
167
|
+
ISC
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "secufusion-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "SecuFusion MCP server - developer workflow tooling with guardrails",
|
|
6
6
|
"main": "index.js",
|
|
@@ -36,4 +36,4 @@
|
|
|
36
36
|
"@types/node": "^22.0.0",
|
|
37
37
|
"typescript": "^5.0.0"
|
|
38
38
|
}
|
|
39
|
-
}
|
|
39
|
+
}
|