forgecraft-mcp 0.2.0 → 0.3.0
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 +25 -5
- package/dist/analyzers/language-detector.d.ts +17 -0
- package/dist/analyzers/language-detector.d.ts.map +1 -0
- package/dist/analyzers/language-detector.js +89 -0
- package/dist/analyzers/language-detector.js.map +1 -0
- package/dist/analyzers/package-json.d.ts.map +1 -1
- package/dist/analyzers/package-json.js +5 -5
- package/dist/analyzers/package-json.js.map +1 -1
- package/dist/analyzers/project-context.d.ts +23 -0
- package/dist/analyzers/project-context.d.ts.map +1 -0
- package/dist/analyzers/project-context.js +181 -0
- package/dist/analyzers/project-context.js.map +1 -0
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/registry/composer.d.ts +3 -1
- package/dist/registry/composer.d.ts.map +1 -1
- package/dist/registry/composer.js +28 -0
- package/dist/registry/composer.js.map +1 -1
- package/dist/registry/loader.d.ts.map +1 -1
- package/dist/registry/loader.js +65 -1
- package/dist/registry/loader.js.map +1 -1
- package/dist/registry/mcp-discovery.d.ts +82 -0
- package/dist/registry/mcp-discovery.d.ts.map +1 -0
- package/dist/registry/mcp-discovery.js +203 -0
- package/dist/registry/mcp-discovery.js.map +1 -0
- package/dist/registry/renderer.d.ts +19 -2
- package/dist/registry/renderer.d.ts.map +1 -1
- package/dist/registry/renderer.js +64 -2
- package/dist/registry/renderer.js.map +1 -1
- package/dist/shared/errors/index.d.ts +4 -0
- package/dist/shared/errors/index.d.ts.map +1 -1
- package/dist/shared/errors/index.js +6 -0
- package/dist/shared/errors/index.js.map +1 -1
- package/dist/shared/filesystem.d.ts +45 -0
- package/dist/shared/filesystem.d.ts.map +1 -0
- package/dist/shared/filesystem.js +122 -0
- package/dist/shared/filesystem.js.map +1 -0
- package/dist/shared/types.d.ts +92 -1
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +6 -0
- package/dist/shared/types.js.map +1 -1
- package/dist/tools/configure-mcp.d.ts +24 -0
- package/dist/tools/configure-mcp.d.ts.map +1 -1
- package/dist/tools/configure-mcp.js +123 -24
- package/dist/tools/configure-mcp.js.map +1 -1
- package/dist/tools/generate-claude-md.d.ts +1 -0
- package/dist/tools/generate-claude-md.d.ts.map +1 -1
- package/dist/tools/generate-claude-md.js +23 -57
- package/dist/tools/generate-claude-md.js.map +1 -1
- package/dist/tools/get-reference.d.ts +28 -0
- package/dist/tools/get-reference.d.ts.map +1 -0
- package/dist/tools/get-reference.js +63 -0
- package/dist/tools/get-reference.js.map +1 -0
- package/dist/tools/list.d.ts +18 -2
- package/dist/tools/list.d.ts.map +1 -1
- package/dist/tools/list.js +74 -2
- package/dist/tools/list.js.map +1 -1
- package/dist/tools/refresh-project.d.ts.map +1 -1
- package/dist/tools/refresh-project.js +8 -10
- package/dist/tools/refresh-project.js.map +1 -1
- package/dist/tools/scaffold.d.ts +4 -0
- package/dist/tools/scaffold.d.ts.map +1 -1
- package/dist/tools/scaffold.js +58 -31
- package/dist/tools/scaffold.js.map +1 -1
- package/dist/tools/setup-project.d.ts.map +1 -1
- package/dist/tools/setup-project.js +5 -1
- package/dist/tools/setup-project.js.map +1 -1
- package/package.json +7 -3
- package/templates/analytics/mcp-servers.yaml +11 -0
- package/templates/api/mcp-servers.yaml +13 -0
- package/templates/api/skills.yaml +54 -0
- package/templates/cli/mcp-servers.yaml +11 -0
- package/templates/data-lineage/instructions.yaml +28 -0
- package/templates/data-lineage/mcp-servers.yaml +22 -0
- package/templates/data-pipeline/mcp-servers.yaml +13 -0
- package/templates/data-pipeline/skills.yaml +56 -0
- package/templates/fintech/mcp-servers.yaml +13 -0
- package/templates/fintech/skills.yaml +35 -0
- package/templates/game/mcp-servers.yaml +11 -0
- package/templates/healthcare/mcp-servers.yaml +13 -0
- package/templates/healthcare/skills.yaml +35 -0
- package/templates/hipaa/instructions.yaml +41 -0
- package/templates/hipaa/mcp-servers.yaml +13 -0
- package/templates/hipaa/skills.yaml +39 -0
- package/templates/infra/mcp-servers.yaml +20 -0
- package/templates/library/mcp-servers.yaml +20 -0
- package/templates/medallion-architecture/instructions.yaml +41 -0
- package/templates/medallion-architecture/mcp-servers.yaml +22 -0
- package/templates/ml/mcp-servers.yaml +11 -0
- package/templates/mobile/mcp-servers.yaml +11 -0
- package/templates/observability-xray/instructions.yaml +40 -0
- package/templates/observability-xray/mcp-servers.yaml +15 -0
- package/templates/realtime/mcp-servers.yaml +13 -0
- package/templates/soc2/instructions.yaml +41 -0
- package/templates/soc2/mcp-servers.yaml +24 -0
- package/templates/social/mcp-servers.yaml +24 -0
- package/templates/state-machine/mcp-servers.yaml +11 -0
- package/templates/universal/hooks.yaml +63 -0
- package/templates/universal/instructions.yaml +41 -118
- package/templates/universal/mcp-servers.yaml +38 -0
- package/templates/universal/nfr.yaml +1 -1
- package/templates/universal/reference.yaml +111 -0
- package/templates/universal/review.yaml +2 -2
- package/templates/universal/skills.yaml +106 -0
- package/templates/web-react/mcp-servers.yaml +20 -0
- package/templates/web-react/skills.yaml +56 -0
- package/templates/web-static/mcp-servers.yaml +20 -0
- package/templates/web3/mcp-servers.yaml +11 -0
- package/templates/zero-trust/instructions.yaml +41 -0
- package/templates/zero-trust/mcp-servers.yaml +15 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
tag: DATA-LINEAGE
|
|
2
|
+
section: instructions
|
|
3
|
+
blocks:
|
|
4
|
+
- id: field-coverage
|
|
5
|
+
tier: recommended
|
|
6
|
+
title: "100% Field Coverage Enforcement"
|
|
7
|
+
content: |
|
|
8
|
+
## 100% Field Coverage Enforcement
|
|
9
|
+
|
|
10
|
+
- Every data field must have a documented origin (source system, table, column) and destination (target system, table, column).
|
|
11
|
+
- Maintain a field-level lineage registry: no field enters production without a lineage entry. Enforce this in CI.
|
|
12
|
+
- Track field transformations explicitly: document every rename, type cast, aggregation, join, and filter applied to each field.
|
|
13
|
+
- Implement automated coverage checks: compare the lineage registry against actual schema definitions. Flag any untracked fields as errors.
|
|
14
|
+
- Version lineage metadata alongside code: lineage definitions live in the repository, not in external wikis or spreadsheets.
|
|
15
|
+
- Generate lineage reports per pipeline run: which fields were read, transformed, and written, with row counts and data quality metrics.
|
|
16
|
+
|
|
17
|
+
- id: lineage-tracking-decorators
|
|
18
|
+
tier: recommended
|
|
19
|
+
title: "Lineage Tracking Decorators & Annotations"
|
|
20
|
+
content: |
|
|
21
|
+
## Lineage Tracking Decorators & Annotations
|
|
22
|
+
|
|
23
|
+
- Use decorators or annotations on transformation functions to declare input fields, output fields, and transformation type.
|
|
24
|
+
- Standardize lineage metadata format: source, transformation, destination, timestamp, pipeline_id, run_id.
|
|
25
|
+
- Emit lineage events at runtime: every transformation step publishes a lineage event to a centralized lineage store.
|
|
26
|
+
- Support both code-level lineage (decorators on functions) and config-level lineage (YAML/JSON transformation specs).
|
|
27
|
+
- Integrate lineage with data quality: when a quality check fails, trace back through lineage to identify the source of bad data.
|
|
28
|
+
- Visualize lineage graphs: generate dependency diagrams showing field-level flow from source to consumption.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
tag: DATA-LINEAGE
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: postgres
|
|
5
|
+
description: "PostgreSQL database inspection — query lineage metadata and schema definitions"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "@modelcontextprotocol/server-postgres"]
|
|
8
|
+
tags: [DATA-LINEAGE, DATA-PIPELINE]
|
|
9
|
+
category: database
|
|
10
|
+
tier: recommended
|
|
11
|
+
env:
|
|
12
|
+
POSTGRES_CONNECTION_STRING: ""
|
|
13
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
|
|
14
|
+
|
|
15
|
+
- name: filesystem
|
|
16
|
+
description: "Filesystem access for lineage definition files and pipeline configurations"
|
|
17
|
+
command: npx
|
|
18
|
+
args: ["-y", "@modelcontextprotocol/server-filesystem"]
|
|
19
|
+
tags: [DATA-LINEAGE, UNIVERSAL]
|
|
20
|
+
category: filesystem
|
|
21
|
+
tier: optional
|
|
22
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
tag: DATA-PIPELINE
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: postgres
|
|
5
|
+
description: "PostgreSQL database inspection, queries, and schema management"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "@modelcontextprotocol/server-postgres"]
|
|
8
|
+
tags: [DATA-PIPELINE, API]
|
|
9
|
+
category: database
|
|
10
|
+
tier: recommended
|
|
11
|
+
env:
|
|
12
|
+
POSTGRES_CONNECTION_STRING: ""
|
|
13
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
tag: DATA-PIPELINE
|
|
2
|
+
section: skills
|
|
3
|
+
skills:
|
|
4
|
+
- id: pipeline-validate-schema
|
|
5
|
+
name: Validate Pipeline Schema
|
|
6
|
+
filename: pipeline-validate-schema.md
|
|
7
|
+
description: "Validate data pipeline schemas and detect drift"
|
|
8
|
+
tier: core
|
|
9
|
+
content: |
|
|
10
|
+
Validate data pipeline schemas for consistency and detect drift.
|
|
11
|
+
|
|
12
|
+
Steps:
|
|
13
|
+
1. **Find schema definitions**: Search for schema files, model definitions, or DDL:
|
|
14
|
+
- SQL migration files
|
|
15
|
+
- ORM models (SQLAlchemy, Prisma, TypeORM, etc.)
|
|
16
|
+
- Avro/Protobuf/JSON Schema definitions
|
|
17
|
+
- DataFrame column definitions
|
|
18
|
+
2. **Check for drift**: Compare schemas across pipeline stages:
|
|
19
|
+
- Source schema vs. ingestion schema
|
|
20
|
+
- Ingestion schema vs. transformation output
|
|
21
|
+
- Transformation output vs. serving layer
|
|
22
|
+
3. **Validate contracts**:
|
|
23
|
+
- All nullable fields explicitly marked
|
|
24
|
+
- Default values defined for new columns
|
|
25
|
+
- Breaking changes (column removal, type change) flagged
|
|
26
|
+
- Backward/forward compatibility for event schemas
|
|
27
|
+
4. **Report**:
|
|
28
|
+
- Schema location and version
|
|
29
|
+
- Drift detected between stages
|
|
30
|
+
- Breaking changes that need migration
|
|
31
|
+
|
|
32
|
+
If $ARGUMENTS specifies a pipeline or table name, focus on that. Otherwise, scan all schemas.
|
|
33
|
+
|
|
34
|
+
- id: pipeline-trace-lineage
|
|
35
|
+
name: Trace Data Lineage
|
|
36
|
+
filename: pipeline-trace-lineage.md
|
|
37
|
+
description: "Trace data lineage from source to destination"
|
|
38
|
+
tier: recommended
|
|
39
|
+
content: |
|
|
40
|
+
Trace the data lineage for the field or table specified in $ARGUMENTS.
|
|
41
|
+
|
|
42
|
+
Steps:
|
|
43
|
+
1. Start from the target field/table
|
|
44
|
+
2. Trace backward through transformations:
|
|
45
|
+
- Which upstream tables/sources feed into it?
|
|
46
|
+
- What transformations are applied (joins, filters, aggregations)?
|
|
47
|
+
- What business logic modifies the values?
|
|
48
|
+
3. Trace forward to consumers:
|
|
49
|
+
- Which downstream tables/reports/APIs consume it?
|
|
50
|
+
- What would break if the source schema changed?
|
|
51
|
+
4. Document the lineage:
|
|
52
|
+
- Source → Transform → Target chain
|
|
53
|
+
- Data freshness (batch frequency, streaming lag)
|
|
54
|
+
- Owner/team for each stage
|
|
55
|
+
|
|
56
|
+
Output a text-based lineage diagram showing the data flow.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
tag: FINTECH
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: stripe
|
|
5
|
+
description: "Stripe API integration — payments, subscriptions, invoices, and customer management"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "@stripe/mcp-server"]
|
|
8
|
+
tags: [FINTECH]
|
|
9
|
+
category: general
|
|
10
|
+
tier: recommended
|
|
11
|
+
env:
|
|
12
|
+
STRIPE_SECRET_KEY: ""
|
|
13
|
+
url: "https://github.com/stripe/agent-toolkit"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
tag: FINTECH
|
|
2
|
+
section: skills
|
|
3
|
+
skills:
|
|
4
|
+
- id: fintech-money-audit
|
|
5
|
+
name: Money Calculation Audit
|
|
6
|
+
filename: fintech-money-audit.md
|
|
7
|
+
description: "Audit codebase for monetary calculation safety"
|
|
8
|
+
tier: core
|
|
9
|
+
content: |
|
|
10
|
+
Audit the codebase for monetary calculation risks.
|
|
11
|
+
|
|
12
|
+
Scan for:
|
|
13
|
+
1. **Floating-point arithmetic on money**:
|
|
14
|
+
- Any use of `float`, `double`, or JavaScript `number` for currency amounts
|
|
15
|
+
- Arithmetic operations (+, -, *, /) on money values without decimal/integer cents
|
|
16
|
+
- Rounding errors in tax, discount, or fee calculations
|
|
17
|
+
2. **Currency handling**:
|
|
18
|
+
- Money values stored without currency code
|
|
19
|
+
- Mixed-currency arithmetic without explicit conversion
|
|
20
|
+
- Missing exchange rate snapshots for audit trail
|
|
21
|
+
3. **Rounding**:
|
|
22
|
+
- Inconsistent rounding modes (banker's rounding vs. standard)
|
|
23
|
+
- Rounding applied at intermediate steps instead of final result
|
|
24
|
+
- Missing rounding specification in calculations
|
|
25
|
+
4. **Overflow / precision**:
|
|
26
|
+
- Integer cents stored in types too small for large amounts
|
|
27
|
+
- Multiplication (e.g., interest) without precision guards
|
|
28
|
+
- Division without remainder handling
|
|
29
|
+
|
|
30
|
+
For each finding, report:
|
|
31
|
+
- **File**: path
|
|
32
|
+
- **Line**: number
|
|
33
|
+
- **Risk**: CRITICAL | HIGH | MEDIUM
|
|
34
|
+
- **Issue**: what could go wrong
|
|
35
|
+
- **Fix**: recommended change (e.g., use Decimal library, store as integer cents)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
tag: GAME
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: unity-mcp
|
|
5
|
+
description: "Unity Editor integration — scene management, asset control, code generation"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "@anthropic/unity-mcp"]
|
|
8
|
+
tags: [GAME]
|
|
9
|
+
category: game-engine
|
|
10
|
+
tier: recommended
|
|
11
|
+
url: "https://github.com/CoplayDev/unity-mcp"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
tag: HEALTHCARE
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: postgres
|
|
5
|
+
description: "PostgreSQL database inspection, queries, and schema management — common backend for EHR/clinical data"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "@modelcontextprotocol/server-postgres"]
|
|
8
|
+
tags: [DATA-PIPELINE, API, HEALTHCARE]
|
|
9
|
+
category: database
|
|
10
|
+
tier: recommended
|
|
11
|
+
env:
|
|
12
|
+
POSTGRES_CONNECTION_STRING: ""
|
|
13
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
tag: HEALTHCARE
|
|
2
|
+
section: skills
|
|
3
|
+
skills:
|
|
4
|
+
- id: healthcare-phi-audit
|
|
5
|
+
name: PHI Audit
|
|
6
|
+
filename: healthcare-phi-audit.md
|
|
7
|
+
description: "Scan codebase for PHI exposure risks"
|
|
8
|
+
tier: core
|
|
9
|
+
content: |
|
|
10
|
+
Audit the codebase for Protected Health Information (PHI) exposure risks.
|
|
11
|
+
|
|
12
|
+
Scan for:
|
|
13
|
+
1. **Logging**: Search for log statements that might include PHI fields:
|
|
14
|
+
- Patient name, DOB, SSN, MRN, address, phone, email
|
|
15
|
+
- Diagnosis codes, treatment plans, lab results
|
|
16
|
+
- Any field from a patient/member/encounter model
|
|
17
|
+
2. **Error messages**: Check that error responses don't leak PHI in:
|
|
18
|
+
- API error bodies
|
|
19
|
+
- Exception messages
|
|
20
|
+
- Stack traces exposed to clients
|
|
21
|
+
3. **Storage**: Verify PHI at rest is protected:
|
|
22
|
+
- Database fields containing PHI are identified and encrypted
|
|
23
|
+
- File uploads with PHI use encrypted storage
|
|
24
|
+
- Temporary files are cleaned up
|
|
25
|
+
4. **Transmission**: Verify PHI in transit:
|
|
26
|
+
- All endpoints serving PHI require HTTPS
|
|
27
|
+
- No PHI in URL query parameters (use POST body)
|
|
28
|
+
- No PHI in client-side analytics or tracking
|
|
29
|
+
|
|
30
|
+
Report each finding with:
|
|
31
|
+
- **File**: path
|
|
32
|
+
- **Line**: number
|
|
33
|
+
- **Risk**: HIGH | MEDIUM | LOW
|
|
34
|
+
- **PHI type**: what data is exposed
|
|
35
|
+
- **Fix**: recommended remediation
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
tag: HIPAA
|
|
2
|
+
section: instructions
|
|
3
|
+
blocks:
|
|
4
|
+
- id: pii-masking
|
|
5
|
+
tier: recommended
|
|
6
|
+
title: "PII Masking & Data Protection"
|
|
7
|
+
content: |
|
|
8
|
+
## PII Masking & Data Protection
|
|
9
|
+
|
|
10
|
+
- Identify all Personally Identifiable Information (PII) fields at design time using the 18 HIPAA identifiers as a baseline.
|
|
11
|
+
- Implement masking templates for every PII field: full mask for display, partial mask for verification, tokenized for logging.
|
|
12
|
+
- Apply dynamic masking based on user role — clinicians see full data, billing sees partial, analytics sees only de-identified data.
|
|
13
|
+
- Never store raw PII in caches, message queues, or temporary files. Use tokenized references that resolve through a secure lookup service.
|
|
14
|
+
- Validate masking coverage with automated tests: no PII field should reach a log sink, error report, or analytics pipeline unmasked.
|
|
15
|
+
- Maintain a PII field registry as a living document — every new field must be classified before it enters the data model.
|
|
16
|
+
|
|
17
|
+
- id: encryption-checks
|
|
18
|
+
tier: recommended
|
|
19
|
+
title: "Encryption Verification & Key Management"
|
|
20
|
+
content: |
|
|
21
|
+
## Encryption Verification & Key Management
|
|
22
|
+
|
|
23
|
+
- Enforce AES-256 encryption at rest for all data stores containing PII. Verify encryption status in CI with infrastructure-as-code checks.
|
|
24
|
+
- Require TLS 1.2+ for all data in transit. Reject connections using older protocols at the load balancer level.
|
|
25
|
+
- Use envelope encryption with a managed KMS (AWS KMS, Azure Key Vault, GCP KMS). Never store encryption keys alongside encrypted data.
|
|
26
|
+
- Rotate encryption keys on a defined schedule (90 days minimum). Automate rotation and re-encryption of affected data.
|
|
27
|
+
- Include encryption verification in deployment checklists: database encryption enabled, TLS certificates valid, KMS policies correct.
|
|
28
|
+
- Test encryption boundaries: verify that data crossing service boundaries remains encrypted and that decryption only occurs in authorized services.
|
|
29
|
+
|
|
30
|
+
- id: audit-logging-hipaa
|
|
31
|
+
tier: recommended
|
|
32
|
+
title: "HIPAA Audit Logging"
|
|
33
|
+
content: |
|
|
34
|
+
## HIPAA Audit Logging
|
|
35
|
+
|
|
36
|
+
- Log every access to PII: who, when, what data, from where, and the business justification.
|
|
37
|
+
- Store audit logs in an append-only, tamper-evident store separate from application databases.
|
|
38
|
+
- Retain audit logs for a minimum of 6 years per HIPAA requirements.
|
|
39
|
+
- Generate automated audit reports: access frequency per user, unusual patterns, after-hours access.
|
|
40
|
+
- Implement real-time alerting for anomalous access: bulk record access, out-of-role access, VIP record access.
|
|
41
|
+
- Include a unique correlation ID in every request touching PII for end-to-end traceability across services.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
tag: HIPAA
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: postgres
|
|
5
|
+
description: "PostgreSQL database inspection and schema management — common backend for PHI/PII storage"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "@modelcontextprotocol/server-postgres"]
|
|
8
|
+
tags: [HIPAA, HEALTHCARE, API]
|
|
9
|
+
category: database
|
|
10
|
+
tier: recommended
|
|
11
|
+
env:
|
|
12
|
+
POSTGRES_CONNECTION_STRING: ""
|
|
13
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
tag: HIPAA
|
|
2
|
+
section: skills
|
|
3
|
+
skills:
|
|
4
|
+
- id: hipaa-compliance-check
|
|
5
|
+
name: HIPAA Compliance Check
|
|
6
|
+
filename: hipaa-compliance-check.md
|
|
7
|
+
description: "Verify HIPAA technical safeguard compliance"
|
|
8
|
+
tier: core
|
|
9
|
+
content: |
|
|
10
|
+
Check the project for HIPAA technical safeguard compliance.
|
|
11
|
+
|
|
12
|
+
Verify each requirement:
|
|
13
|
+
|
|
14
|
+
**Access Controls (§164.312(a))**:
|
|
15
|
+
- [ ] Unique user identification — every user has a unique ID
|
|
16
|
+
- [ ] Emergency access procedure — documented break-glass process
|
|
17
|
+
- [ ] Automatic logoff — session timeout configured
|
|
18
|
+
- [ ] Encryption/decryption — PHI encrypted at rest
|
|
19
|
+
|
|
20
|
+
**Audit Controls (§164.312(b))**:
|
|
21
|
+
- [ ] Audit logging enabled for all PHI access
|
|
22
|
+
- [ ] Logs include: who, what, when, where (IP)
|
|
23
|
+
- [ ] Logs are tamper-evident (append-only, signed, or immutable storage)
|
|
24
|
+
- [ ] Log retention meets minimum period (6 years)
|
|
25
|
+
|
|
26
|
+
**Integrity Controls (§164.312(c))**:
|
|
27
|
+
- [ ] Data validation on PHI fields
|
|
28
|
+
- [ ] Checksums or signatures for data integrity verification
|
|
29
|
+
|
|
30
|
+
**Transmission Security (§164.312(e))**:
|
|
31
|
+
- [ ] TLS 1.2+ enforced for all PHI transmission
|
|
32
|
+
- [ ] No PHI in URL parameters
|
|
33
|
+
- [ ] Encryption for PHI in message queues or event streams
|
|
34
|
+
|
|
35
|
+
For each gap, report:
|
|
36
|
+
- **Requirement**: HIPAA section reference
|
|
37
|
+
- **Status**: COMPLIANT | GAP | PARTIAL
|
|
38
|
+
- **Finding**: what's missing
|
|
39
|
+
- **Remediation**: specific implementation steps
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
tag: INFRA
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: docker
|
|
5
|
+
description: "Docker container and image management via MCP"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "mcp-server-docker"]
|
|
8
|
+
tags: [INFRA]
|
|
9
|
+
category: deployment
|
|
10
|
+
tier: recommended
|
|
11
|
+
url: "https://github.com/ckreiling/mcp-server-docker"
|
|
12
|
+
|
|
13
|
+
- name: kubernetes
|
|
14
|
+
description: "Kubernetes cluster management — pods, deployments, services"
|
|
15
|
+
command: npx
|
|
16
|
+
args: ["-y", "mcp-server-kubernetes"]
|
|
17
|
+
tags: [INFRA]
|
|
18
|
+
category: deployment
|
|
19
|
+
tier: optional
|
|
20
|
+
url: "https://github.com/strowk/mcp-k8s-go"
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
tag: LIBRARY
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: filesystem
|
|
5
|
+
description: "Secure file operations — read, write, search, and directory management with configurable access controls"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "@modelcontextprotocol/server-filesystem", "/"]
|
|
8
|
+
tags: [CLI, LIBRARY]
|
|
9
|
+
category: general
|
|
10
|
+
tier: recommended
|
|
11
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem"
|
|
12
|
+
|
|
13
|
+
- name: npm-search
|
|
14
|
+
description: "Search npm registry for packages, check versions, and inspect dependencies"
|
|
15
|
+
command: npx
|
|
16
|
+
args: ["-y", "mcp-server-npm-search"]
|
|
17
|
+
tags: [LIBRARY]
|
|
18
|
+
category: documentation
|
|
19
|
+
tier: optional
|
|
20
|
+
url: "https://github.com/nicholasgriffintn/npm-search-mcp-server"
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
tag: MEDALLION-ARCHITECTURE
|
|
2
|
+
section: instructions
|
|
3
|
+
blocks:
|
|
4
|
+
- id: bronze-layer
|
|
5
|
+
tier: recommended
|
|
6
|
+
title: "Bronze Layer — Immutable Raw Ingestion"
|
|
7
|
+
content: |
|
|
8
|
+
## Bronze Layer — Immutable Raw Ingestion
|
|
9
|
+
|
|
10
|
+
- Bronze is the landing zone. Data arrives exactly as received from source systems — no transformations, no filtering, no deduplication.
|
|
11
|
+
- Store Bronze data in append-only, immutable formats (Parquet, Delta Lake, Iceberg). Never overwrite or delete Bronze records.
|
|
12
|
+
- Include ingestion metadata on every record: source_system, ingested_at, batch_id, file_origin, raw_checksum.
|
|
13
|
+
- Partition Bronze tables by ingestion date for efficient reprocessing. Never partition by business keys at this layer.
|
|
14
|
+
- Implement schema-on-read: Bronze accepts any schema from source. Schema validation happens at the Silver promotion step.
|
|
15
|
+
- Retain Bronze data indefinitely (or per legal retention policy). Bronze is the recovery point for all downstream reprocessing.
|
|
16
|
+
|
|
17
|
+
- id: silver-layer
|
|
18
|
+
tier: recommended
|
|
19
|
+
title: "Silver Layer — Validated & Conformed"
|
|
20
|
+
content: |
|
|
21
|
+
## Silver Layer — Validated & Conformed
|
|
22
|
+
|
|
23
|
+
- Silver applies data quality rules: type validation, null checks, range constraints, referential integrity, deduplication.
|
|
24
|
+
- Every record in Silver must pass defined quality gates. Records failing validation are routed to a quarantine table, not dropped.
|
|
25
|
+
- Conform naming conventions: standardize column names, date formats, currency codes, and enum values across all Silver tables.
|
|
26
|
+
- Track record lineage: every Silver record links back to its Bronze source via source_record_id and bronze_batch_id.
|
|
27
|
+
- Apply slowly changing dimension (SCD) Type 2 for reference data: maintain history with effective_from and effective_to timestamps.
|
|
28
|
+
- Silver tables define explicit schemas enforced on write. Schema changes require a migration plan and backward compatibility check.
|
|
29
|
+
|
|
30
|
+
- id: gold-layer
|
|
31
|
+
tier: recommended
|
|
32
|
+
title: "Gold Layer — Aggregated & Business-Ready"
|
|
33
|
+
content: |
|
|
34
|
+
## Gold Layer — Aggregated & Business-Ready
|
|
35
|
+
|
|
36
|
+
- Gold tables are purpose-built for specific business use cases: dashboards, ML features, API responses, reports.
|
|
37
|
+
- Apply business logic at the Gold layer: aggregations, joins, calculated fields, business rules, KPI definitions.
|
|
38
|
+
- Optimize Gold tables for read performance: pre-aggregate, denormalize, partition by access patterns.
|
|
39
|
+
- Document every Gold table with its business purpose, refresh cadence, source Silver tables, and SLA.
|
|
40
|
+
- Version Gold table definitions: changes to aggregation logic or business rules are tracked, reviewed, and deployed like code.
|
|
41
|
+
- Implement data contracts for Gold consumers: define expected schema, update frequency, and quality guarantees.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
tag: MEDALLION-ARCHITECTURE
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: postgres
|
|
5
|
+
description: "PostgreSQL for medallion layer metadata, quality gate results, and lineage tracking"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "@modelcontextprotocol/server-postgres"]
|
|
8
|
+
tags: [MEDALLION-ARCHITECTURE, DATA-PIPELINE]
|
|
9
|
+
category: database
|
|
10
|
+
tier: recommended
|
|
11
|
+
env:
|
|
12
|
+
POSTGRES_CONNECTION_STRING: ""
|
|
13
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
|
|
14
|
+
|
|
15
|
+
- name: filesystem
|
|
16
|
+
description: "Filesystem access for Bronze/Silver/Gold layer data files and pipeline configs"
|
|
17
|
+
command: npx
|
|
18
|
+
args: ["-y", "@modelcontextprotocol/server-filesystem"]
|
|
19
|
+
tags: [MEDALLION-ARCHITECTURE, DATA-PIPELINE]
|
|
20
|
+
category: filesystem
|
|
21
|
+
tier: optional
|
|
22
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
tag: ML
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: jupyter
|
|
5
|
+
description: "Jupyter notebook management — create, execute, and inspect cells"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "mcp-server-jupyter"]
|
|
8
|
+
tags: [ML, DATA-PIPELINE]
|
|
9
|
+
category: ai-ml
|
|
10
|
+
tier: recommended
|
|
11
|
+
url: "https://github.com/datalayer/jupyter-mcp-server"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
tag: MOBILE
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: android-emulator
|
|
5
|
+
description: "Android emulator control — screenshots, tap, swipe, and app lifecycle"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "mcp-server-android"]
|
|
8
|
+
tags: [MOBILE]
|
|
9
|
+
category: devtools
|
|
10
|
+
tier: recommended
|
|
11
|
+
url: "https://github.com/nicholasgriffintn/android-mcp-server"
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
tag: OBSERVABILITY-XRAY
|
|
2
|
+
section: instructions
|
|
3
|
+
blocks:
|
|
4
|
+
- id: xray-lambda-instrumentation
|
|
5
|
+
tier: recommended
|
|
6
|
+
title: "Auto-Add X-Ray Instrumentation to Lambdas"
|
|
7
|
+
content: |
|
|
8
|
+
## Auto-Add X-Ray Instrumentation to Lambdas
|
|
9
|
+
|
|
10
|
+
- Enable X-Ray active tracing on every Lambda function by default. Set `tracing: Active` in SAM/CloudFormation or `tracing_config { mode = "Active" }` in Terraform.
|
|
11
|
+
- Wrap the AWS SDK client with the X-Ray SDK to automatically trace all downstream AWS service calls (DynamoDB, S3, SQS, SNS).
|
|
12
|
+
- Add X-Ray middleware or decorators to every Lambda handler. No handler should execute without producing a trace segment.
|
|
13
|
+
- Include custom subsegments for business-critical operations: database queries, external API calls, heavy computations.
|
|
14
|
+
- Propagate trace headers across service boundaries: ensure `X-Amzn-Trace-Id` is forwarded in HTTP headers and SQS message attributes.
|
|
15
|
+
- Set sampling rules appropriate to traffic volume: 100% for low-traffic, reservoir-based for high-traffic. Document sampling decisions.
|
|
16
|
+
|
|
17
|
+
- id: xray-annotations-metadata
|
|
18
|
+
tier: recommended
|
|
19
|
+
title: "X-Ray Annotations & Metadata Standards"
|
|
20
|
+
content: |
|
|
21
|
+
## X-Ray Annotations & Metadata Standards
|
|
22
|
+
|
|
23
|
+
- Add annotations for every trace: `service`, `environment`, `version`, `userId` (hashed), `correlationId`. Annotations are indexed and searchable.
|
|
24
|
+
- Use metadata for non-indexed debug data: request/response sizes, feature flags, cache hit/miss ratios.
|
|
25
|
+
- Define a standard annotation taxonomy across all services. No ad-hoc annotation keys — use a shared enum or constant file.
|
|
26
|
+
- Create X-Ray groups for critical paths: user-facing APIs, payment flows, data pipelines. Monitor group error rates and latency.
|
|
27
|
+
- Set up X-Ray insights for automated anomaly detection on critical service groups.
|
|
28
|
+
- Include X-Ray trace IDs in error responses and log entries for cross-referencing between traces and logs.
|
|
29
|
+
|
|
30
|
+
- id: xray-alerting
|
|
31
|
+
tier: optional
|
|
32
|
+
title: "X-Ray-Based Alerting & SLOs"
|
|
33
|
+
content: |
|
|
34
|
+
## X-Ray-Based Alerting & SLOs
|
|
35
|
+
|
|
36
|
+
- Define SLOs per service using X-Ray latency and error rate data: p50, p95, p99 latency targets and error budget thresholds.
|
|
37
|
+
- Create CloudWatch alarms from X-Ray service maps: alert on elevated fault rates, latency spikes, or throttling.
|
|
38
|
+
- Monitor cold start impact via X-Ray initialization subsegments. Alert if cold start percentage exceeds threshold.
|
|
39
|
+
- Build dashboards combining X-Ray service map data with CloudWatch metrics for a unified observability view.
|
|
40
|
+
- Review X-Ray traces weekly for optimization opportunities: unnecessary downstream calls, serial-when-could-be-parallel patterns.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
tag: OBSERVABILITY-XRAY
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: aws-cloudwatch
|
|
5
|
+
description: "AWS CloudWatch logs and metrics — query X-Ray traces, view Lambda logs, monitor alarms"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "mcp-server-cloudwatch"]
|
|
8
|
+
tags: [OBSERVABILITY-XRAY, INFRA]
|
|
9
|
+
category: monitoring
|
|
10
|
+
tier: recommended
|
|
11
|
+
env:
|
|
12
|
+
AWS_REGION: ""
|
|
13
|
+
AWS_ACCESS_KEY_ID: ""
|
|
14
|
+
AWS_SECRET_ACCESS_KEY: ""
|
|
15
|
+
url: "https://github.com/modelcontextprotocol/servers"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
tag: REALTIME
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: redis
|
|
5
|
+
description: "Redis key-value store management — pub/sub, streams, caching, and session management"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "mcp-server-redis"]
|
|
8
|
+
tags: [REALTIME]
|
|
9
|
+
category: database
|
|
10
|
+
tier: recommended
|
|
11
|
+
env:
|
|
12
|
+
REDIS_URL: "redis://localhost:6379"
|
|
13
|
+
url: "https://github.com/nicholasgriffintn/redis-mcp-server"
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
tag: SOC2
|
|
2
|
+
section: instructions
|
|
3
|
+
blocks:
|
|
4
|
+
- id: access-control-validation
|
|
5
|
+
tier: recommended
|
|
6
|
+
title: "Access Control Validation"
|
|
7
|
+
content: |
|
|
8
|
+
## Access Control Validation
|
|
9
|
+
|
|
10
|
+
- Implement role-based access control (RBAC) with the principle of least privilege. No user or service account gets more access than required.
|
|
11
|
+
- Define access control matrices mapping roles to resources and operations. Review and update quarterly.
|
|
12
|
+
- Enforce multi-factor authentication (MFA) for all administrative and privileged access.
|
|
13
|
+
- Automate access reviews: flag dormant accounts (no login in 90 days), over-provisioned roles, and orphaned service accounts.
|
|
14
|
+
- Log all access control changes (role assignments, permission grants, policy updates) with who-changed-what-when detail.
|
|
15
|
+
- Test access controls with negative tests: verify that unauthorized roles are denied, not just that authorized roles succeed.
|
|
16
|
+
|
|
17
|
+
- id: change-management
|
|
18
|
+
tier: recommended
|
|
19
|
+
title: "Change Management & Audit Trail"
|
|
20
|
+
content: |
|
|
21
|
+
## Change Management & Audit Trail
|
|
22
|
+
|
|
23
|
+
- Every production change requires a documented change request with description, risk assessment, rollback plan, and approval.
|
|
24
|
+
- Enforce separation of duties: the person who writes code cannot be the sole approver for deployment.
|
|
25
|
+
- Maintain an immutable audit trail of all changes: code commits, config changes, infrastructure modifications, access grants.
|
|
26
|
+
- Implement automated change detection: alert on unexpected file changes, config drift, or unauthorized deployments.
|
|
27
|
+
- Conduct post-incident reviews for all unplanned changes. Document root cause, timeline, and preventive measures.
|
|
28
|
+
- Tag all deployments with version, timestamp, deployer, and change request ID for full traceability.
|
|
29
|
+
|
|
30
|
+
- id: incident-response
|
|
31
|
+
tier: recommended
|
|
32
|
+
title: "Incident Response Procedures"
|
|
33
|
+
content: |
|
|
34
|
+
## Incident Response Procedures
|
|
35
|
+
|
|
36
|
+
- Define and document an incident response plan with clear roles: incident commander, communications lead, technical lead.
|
|
37
|
+
- Classify incidents by severity (P1-P4) with defined response times, escalation paths, and communication templates.
|
|
38
|
+
- Implement automated incident detection: anomaly alerts, threshold breaches, security event correlation.
|
|
39
|
+
- Conduct tabletop exercises quarterly to test incident response procedures with realistic scenarios.
|
|
40
|
+
- Maintain a post-mortem culture: blameless retrospectives within 48 hours, action items tracked to completion.
|
|
41
|
+
- Ensure incident logs are retained for SOC2 audit periods (minimum 12 months) with tamper-evident storage.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
tag: SOC2
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: github
|
|
5
|
+
description: "GitHub repository management — PR reviews, access controls, audit trails for change management"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "@modelcontextprotocol/server-github"]
|
|
8
|
+
tags: [SOC2, UNIVERSAL]
|
|
9
|
+
category: version-control
|
|
10
|
+
tier: recommended
|
|
11
|
+
env:
|
|
12
|
+
GITHUB_PERSONAL_ACCESS_TOKEN: ""
|
|
13
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/github"
|
|
14
|
+
|
|
15
|
+
- name: sentry
|
|
16
|
+
description: "Sentry error and incident tracking — incident response monitoring and alerting"
|
|
17
|
+
command: npx
|
|
18
|
+
args: ["-y", "mcp-server-sentry"]
|
|
19
|
+
tags: [SOC2, API]
|
|
20
|
+
category: monitoring
|
|
21
|
+
tier: optional
|
|
22
|
+
env:
|
|
23
|
+
SENTRY_AUTH_TOKEN: ""
|
|
24
|
+
url: "https://github.com/modelcontextprotocol/servers"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
tag: SOCIAL
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: postgres
|
|
5
|
+
description: "PostgreSQL database inspection, queries, and schema management — common backend for social platforms"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "@modelcontextprotocol/server-postgres"]
|
|
8
|
+
tags: [DATA-PIPELINE, API, SOCIAL]
|
|
9
|
+
category: database
|
|
10
|
+
tier: recommended
|
|
11
|
+
env:
|
|
12
|
+
POSTGRES_CONNECTION_STRING: ""
|
|
13
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
|
|
14
|
+
|
|
15
|
+
- name: redis
|
|
16
|
+
description: "Redis key-value store management — caching, sessions, feeds, and real-time features"
|
|
17
|
+
command: npx
|
|
18
|
+
args: ["-y", "mcp-server-redis"]
|
|
19
|
+
tags: [REALTIME, SOCIAL]
|
|
20
|
+
category: database
|
|
21
|
+
tier: optional
|
|
22
|
+
env:
|
|
23
|
+
REDIS_URL: "redis://localhost:6379"
|
|
24
|
+
url: "https://github.com/nicholasgriffintn/redis-mcp-server"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
tag: STATE-MACHINE
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: sequential-thinking
|
|
5
|
+
description: "Dynamic, reflective problem-solving through thought sequences — ideal for modeling state transitions"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "@modelcontextprotocol/server-sequential-thinking"]
|
|
8
|
+
tags: [UNIVERSAL, STATE-MACHINE]
|
|
9
|
+
category: general
|
|
10
|
+
tier: optional
|
|
11
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking"
|