forgecraft-mcp 0.1.0 → 0.2.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 +41 -19
- package/dist/analyzers/completeness.js +29 -1
- package/dist/analyzers/completeness.js.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/registry/composer.d.ts +6 -2
- package/dist/registry/composer.d.ts.map +1 -1
- package/dist/registry/composer.js +16 -7
- package/dist/registry/composer.js.map +1 -1
- package/dist/registry/loader.d.ts.map +1 -1
- package/dist/registry/loader.js +41 -9
- 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 +202 -0
- package/dist/registry/mcp-discovery.js.map +1 -0
- package/dist/registry/renderer.d.ts +14 -4
- package/dist/registry/renderer.d.ts.map +1 -1
- package/dist/registry/renderer.js +41 -12
- 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/types.d.ts +98 -8
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +77 -0
- package/dist/shared/types.js.map +1 -1
- package/dist/tools/audit.js +2 -2
- package/dist/tools/audit.js.map +1 -1
- package/dist/tools/configure-mcp.d.ts +21 -0
- package/dist/tools/configure-mcp.d.ts.map +1 -1
- package/dist/tools/configure-mcp.js +86 -24
- package/dist/tools/configure-mcp.js.map +1 -1
- package/dist/tools/convert.js +2 -2
- package/dist/tools/convert.js.map +1 -1
- package/dist/tools/generate-claude-md.d.ts +29 -3
- package/dist/tools/generate-claude-md.d.ts.map +1 -1
- package/dist/tools/generate-claude-md.js +58 -27
- package/dist/tools/generate-claude-md.js.map +1 -1
- package/dist/tools/list.d.ts.map +1 -1
- package/dist/tools/list.js +24 -0
- package/dist/tools/list.js.map +1 -1
- package/dist/tools/refresh-project.d.ts +3 -0
- package/dist/tools/refresh-project.d.ts.map +1 -1
- package/dist/tools/refresh-project.js +22 -10
- package/dist/tools/refresh-project.js.map +1 -1
- package/dist/tools/scaffold.d.ts +3 -0
- package/dist/tools/scaffold.d.ts.map +1 -1
- package/dist/tools/scaffold.js +20 -8
- package/dist/tools/scaffold.js.map +1 -1
- package/dist/tools/setup-project.d.ts +3 -0
- package/dist/tools/setup-project.d.ts.map +1 -1
- package/dist/tools/setup-project.js +58 -31
- package/dist/tools/setup-project.js.map +1 -1
- package/package.json +7 -3
- package/templates/analytics/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/analytics/mcp-servers.yaml +10 -0
- package/templates/api/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/api/mcp-servers.yaml +12 -0
- package/templates/cli/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/cli/mcp-servers.yaml +10 -0
- package/templates/data-lineage/instructions.yaml +28 -0
- package/templates/data-lineage/mcp-servers.yaml +20 -0
- package/templates/data-pipeline/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/data-pipeline/mcp-servers.yaml +12 -0
- package/templates/fintech/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/fintech/mcp-servers.yaml +12 -0
- package/templates/game/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/game/mcp-servers.yaml +10 -0
- package/templates/healthcare/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/healthcare/mcp-servers.yaml +12 -0
- package/templates/hipaa/instructions.yaml +41 -0
- package/templates/hipaa/mcp-servers.yaml +12 -0
- package/templates/infra/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/infra/mcp-servers.yaml +18 -0
- package/templates/library/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/library/mcp-servers.yaml +18 -0
- package/templates/medallion-architecture/instructions.yaml +41 -0
- package/templates/medallion-architecture/mcp-servers.yaml +20 -0
- package/templates/ml/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/ml/mcp-servers.yaml +10 -0
- package/templates/mobile/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/mobile/mcp-servers.yaml +10 -0
- package/templates/observability-xray/instructions.yaml +40 -0
- package/templates/observability-xray/mcp-servers.yaml +14 -0
- package/templates/realtime/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/realtime/mcp-servers.yaml +12 -0
- package/templates/soc2/instructions.yaml +41 -0
- package/templates/soc2/mcp-servers.yaml +22 -0
- package/templates/social/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/social/mcp-servers.yaml +22 -0
- package/templates/state-machine/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/state-machine/mcp-servers.yaml +10 -0
- package/templates/universal/hooks.yaml +1 -1
- package/templates/universal/{claude-md.yaml → instructions.yaml} +3 -3
- package/templates/universal/mcp-servers.yaml +26 -0
- package/templates/web-react/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/web-react/mcp-servers.yaml +18 -0
- package/templates/web-static/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/web-static/mcp-servers.yaml +18 -0
- package/templates/web3/{claude-md.yaml → instructions.yaml} +1 -1
- package/templates/web3/mcp-servers.yaml +10 -0
- package/templates/zero-trust/instructions.yaml +41 -0
- package/templates/zero-trust/mcp-servers.yaml +14 -0
|
@@ -6,15 +6,15 @@
|
|
|
6
6
|
* Works for both new and existing projects.
|
|
7
7
|
*/
|
|
8
8
|
import { z } from "zod";
|
|
9
|
-
import { existsSync, writeFileSync } from "node:fs";
|
|
10
|
-
import { join } from "node:path";
|
|
9
|
+
import { existsSync, writeFileSync, mkdirSync } from "node:fs";
|
|
10
|
+
import { join, dirname } from "node:path";
|
|
11
11
|
import yaml from "js-yaml";
|
|
12
|
-
import { ALL_TAGS, CONTENT_TIERS } from "../shared/types.js";
|
|
12
|
+
import { ALL_TAGS, CONTENT_TIERS, ALL_OUTPUT_TARGETS, OUTPUT_TARGET_CONFIGS, DEFAULT_OUTPUT_TARGET } from "../shared/types.js";
|
|
13
13
|
import { analyzeProject, analyzeDescription } from "../analyzers/package-json.js";
|
|
14
14
|
import { checkCompleteness } from "../analyzers/completeness.js";
|
|
15
15
|
import { loadAllTemplatesWithExtras, loadUserOverrides } from "../registry/loader.js";
|
|
16
16
|
import { composeTemplates } from "../registry/composer.js";
|
|
17
|
-
import {
|
|
17
|
+
import { renderInstructionFile } from "../registry/renderer.js";
|
|
18
18
|
import { createLogger } from "../shared/logger/index.js";
|
|
19
19
|
const logger = createLogger("tools/setup-project");
|
|
20
20
|
/** Minimum confidence to auto-suggest a tag from code analysis. */
|
|
@@ -44,12 +44,17 @@ export const setupProjectSchema = z.object({
|
|
|
44
44
|
.boolean()
|
|
45
45
|
.default(false)
|
|
46
46
|
.describe("If true, return the setup plan and generated config without writing files."),
|
|
47
|
+
output_targets: z
|
|
48
|
+
.array(z.enum(ALL_OUTPUT_TARGETS))
|
|
49
|
+
.default(["claude"])
|
|
50
|
+
.describe("AI assistant targets to generate instruction files for. Options: claude, cursor, copilot, windsurf, cline, aider. Defaults to ['claude']."),
|
|
47
51
|
});
|
|
48
52
|
// ── Handler ──────────────────────────────────────────────────────────
|
|
49
53
|
export async function setupProjectHandler(args) {
|
|
50
54
|
const projectDir = args.project_dir;
|
|
51
55
|
const projectName = args.project_name ?? inferProjectName(projectDir);
|
|
52
56
|
const tier = (args.tier ?? "recommended");
|
|
57
|
+
const outputTargets = (args.output_targets ?? [DEFAULT_OUTPUT_TARGET]);
|
|
53
58
|
logger.info("Setup project starting", { projectDir, tier, dryRun: args.dry_run });
|
|
54
59
|
// ── Step 1: Analyze project state ──────────────────────────────
|
|
55
60
|
const analysis = analyzeProjectState(projectDir, args.description);
|
|
@@ -64,24 +69,29 @@ export async function setupProjectHandler(args) {
|
|
|
64
69
|
// ── Step 6: Format response ────────────────────────────────────
|
|
65
70
|
const configYaml = yaml.dump(config, { lineWidth: 100, noRefs: true });
|
|
66
71
|
if (args.dry_run) {
|
|
67
|
-
return { content: [{ type: "text", text: buildDryRunOutput(analysis, finalTags, composed, configYaml, tier) }] };
|
|
72
|
+
return { content: [{ type: "text", text: buildDryRunOutput(analysis, finalTags, composed, configYaml, tier, outputTargets) }] };
|
|
68
73
|
}
|
|
69
74
|
// ── Step 7: Write config file ──────────────────────────────────
|
|
70
75
|
const configPath = join(projectDir, "forgecraft.yaml");
|
|
71
76
|
writeFileSync(configPath, configYaml, "utf-8");
|
|
72
|
-
// ── Step 8: Generate
|
|
73
|
-
const claudeMdPath = join(projectDir, "CLAUDE.md");
|
|
77
|
+
// ── Step 8: Generate instruction files for all targets ─────────
|
|
74
78
|
const context = { projectName, language: "typescript", tags: finalTags };
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
const filesWritten = [];
|
|
80
|
+
for (const target of outputTargets) {
|
|
81
|
+
const targetConfig = OUTPUT_TARGET_CONFIGS[target];
|
|
82
|
+
const outputPath = targetConfig.directory
|
|
83
|
+
? join(projectDir, targetConfig.directory, targetConfig.filename)
|
|
84
|
+
: join(projectDir, targetConfig.filename);
|
|
85
|
+
if (existsSync(outputPath)) {
|
|
86
|
+
// Preserve existing instruction files
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
const content = renderInstructionFile(composed.instructionBlocks, context, target);
|
|
90
|
+
mkdirSync(dirname(outputPath), { recursive: true });
|
|
91
|
+
writeFileSync(outputPath, content, "utf-8");
|
|
92
|
+
filesWritten.push(`${targetConfig.directory ? targetConfig.directory + "/" : ""}${targetConfig.filename}`);
|
|
83
93
|
}
|
|
84
|
-
const output = buildSetupOutput(analysis, finalTags, composed, configYaml, tier,
|
|
94
|
+
const output = buildSetupOutput(analysis, finalTags, composed, configYaml, tier, filesWritten, outputTargets);
|
|
85
95
|
return { content: [{ type: "text", text: output }] };
|
|
86
96
|
}
|
|
87
97
|
// ── Analysis ─────────────────────────────────────────────────────────
|
|
@@ -90,7 +100,14 @@ export async function setupProjectHandler(args) {
|
|
|
90
100
|
*/
|
|
91
101
|
function analyzeProjectState(projectDir, description) {
|
|
92
102
|
const hasPkgJson = existsSync(join(projectDir, "package.json"));
|
|
93
|
-
|
|
103
|
+
// Check for any known instruction file
|
|
104
|
+
const hasInstructionFile = existsSync(join(projectDir, "CLAUDE.md")) ||
|
|
105
|
+
existsSync(join(projectDir, ".cursorrules")) ||
|
|
106
|
+
existsSync(join(projectDir, ".cursor", "rules")) ||
|
|
107
|
+
existsSync(join(projectDir, ".github", "copilot-instructions.md")) ||
|
|
108
|
+
existsSync(join(projectDir, ".windsurfrules")) ||
|
|
109
|
+
existsSync(join(projectDir, ".clinerules")) ||
|
|
110
|
+
existsSync(join(projectDir, "CONVENTIONS.md"));
|
|
94
111
|
const hasStatusMd = existsSync(join(projectDir, "Status.md"));
|
|
95
112
|
const hasHooks = existsSync(join(projectDir, ".claude", "hooks"));
|
|
96
113
|
const hasSrcDir = existsSync(join(projectDir, "src"));
|
|
@@ -135,7 +152,7 @@ function analyzeProjectState(projectDir, description) {
|
|
|
135
152
|
tagEvidence,
|
|
136
153
|
existingConfig,
|
|
137
154
|
completenessGaps,
|
|
138
|
-
|
|
155
|
+
hasInstructionFile,
|
|
139
156
|
hasStatusMd,
|
|
140
157
|
hasHooks,
|
|
141
158
|
};
|
|
@@ -188,13 +205,14 @@ function inferProjectName(projectDir) {
|
|
|
188
205
|
/**
|
|
189
206
|
* Build the dry-run preview output.
|
|
190
207
|
*/
|
|
191
|
-
function buildDryRunOutput(analysis, tags, composed, configYaml, tier) {
|
|
208
|
+
function buildDryRunOutput(analysis, tags, composed, configYaml, tier, outputTargets) {
|
|
192
209
|
let text = `# Setup Plan (Dry Run)\n\n`;
|
|
193
210
|
text += analysis.isNewProject
|
|
194
211
|
? `**Project Type:** New project\n`
|
|
195
212
|
: `**Project Type:** Existing project\n`;
|
|
196
213
|
text += `**Content Tier:** ${tier}\n`;
|
|
197
|
-
text += `**Tags:** ${tags.map((t) => `[${t}]`).join(" ")}\n
|
|
214
|
+
text += `**Tags:** ${tags.map((t) => `[${t}]`).join(" ")}\n`;
|
|
215
|
+
text += `**Output Targets:** ${outputTargets.map((t) => OUTPUT_TARGET_CONFIGS[t].displayName).join(", ")}\n\n`;
|
|
198
216
|
// Evidence
|
|
199
217
|
if (Object.keys(analysis.tagEvidence).length > 0) {
|
|
200
218
|
text += `## Tag Detection Evidence\n`;
|
|
@@ -205,17 +223,18 @@ function buildDryRunOutput(analysis, tags, composed, configYaml, tier) {
|
|
|
205
223
|
}
|
|
206
224
|
// Template summary
|
|
207
225
|
text += `## What Would Be Generated\n`;
|
|
208
|
-
text += `-
|
|
226
|
+
text += `- Instruction blocks: ${composed.instructionBlocks.length}\n`;
|
|
209
227
|
text += `- Structure entries: ${composed.structureEntries.length}\n`;
|
|
210
228
|
text += `- NFR sections: ${composed.nfrBlocks.length}\n`;
|
|
211
229
|
text += `- Hooks: ${composed.hooks.length}\n`;
|
|
212
|
-
text += `- Review checklist blocks: ${composed.reviewBlocks.length}\n
|
|
230
|
+
text += `- Review checklist blocks: ${composed.reviewBlocks.length}\n`;
|
|
231
|
+
text += `- Output targets: ${outputTargets.map((t) => OUTPUT_TARGET_CONFIGS[t].displayName).join(", ")}\n\n`;
|
|
213
232
|
// Tier breakdown
|
|
214
233
|
text += `## Content by Tier\n`;
|
|
215
|
-
const coreMd = composed.
|
|
216
|
-
const recMd = composed.
|
|
217
|
-
const optMd = composed.
|
|
218
|
-
text += `-
|
|
234
|
+
const coreMd = composed.instructionBlocks.filter((b) => (b.tier ?? "core") === "core").length;
|
|
235
|
+
const recMd = composed.instructionBlocks.filter((b) => b.tier === "recommended").length;
|
|
236
|
+
const optMd = composed.instructionBlocks.filter((b) => b.tier === "optional").length;
|
|
237
|
+
text += `- Instruction blocks: ${coreMd} core, ${recMd} recommended, ${optMd} optional\n`;
|
|
219
238
|
const coreNfr = composed.nfrBlocks.filter((b) => (b.tier ?? "core") === "core").length;
|
|
220
239
|
const recNfr = composed.nfrBlocks.filter((b) => b.tier === "recommended").length;
|
|
221
240
|
const optNfr = composed.nfrBlocks.filter((b) => b.tier === "optional").length;
|
|
@@ -235,15 +254,22 @@ function buildDryRunOutput(analysis, tags, composed, configYaml, tier) {
|
|
|
235
254
|
/**
|
|
236
255
|
* Build the final setup output after writing files.
|
|
237
256
|
*/
|
|
238
|
-
function buildSetupOutput(analysis, tags, composed, configYaml, tier,
|
|
257
|
+
function buildSetupOutput(analysis, tags, composed, configYaml, tier, filesWritten, outputTargets) {
|
|
239
258
|
let text = `# Project Setup Complete\n\n`;
|
|
240
259
|
text += `**Tags:** ${tags.map((t) => `[${t}]`).join(" ")}\n`;
|
|
241
|
-
text += `**Content Tier:** ${tier}\n
|
|
260
|
+
text += `**Content Tier:** ${tier}\n`;
|
|
261
|
+
text += `**Targets:** ${outputTargets.map((t) => OUTPUT_TARGET_CONFIGS[t].displayName).join(", ")}\n\n`;
|
|
242
262
|
text += `## Files Written\n`;
|
|
243
263
|
text += `- forgecraft.yaml — project configuration\n`;
|
|
244
|
-
|
|
264
|
+
for (const f of filesWritten) {
|
|
265
|
+
text += `- ${f} — created\n`;
|
|
266
|
+
}
|
|
267
|
+
if (filesWritten.length === 0) {
|
|
268
|
+
text += `- (instruction files preserved — use generate_instructions with merge_with_existing to update)\n`;
|
|
269
|
+
}
|
|
270
|
+
text += "\n";
|
|
245
271
|
text += `## Template Summary\n`;
|
|
246
|
-
text += `- ${composed.
|
|
272
|
+
text += `- ${composed.instructionBlocks.length} instruction blocks applied\n`;
|
|
247
273
|
text += `- ${composed.nfrBlocks.length} NFR sections available\n`;
|
|
248
274
|
text += `- ${composed.hooks.length} hooks available\n`;
|
|
249
275
|
text += `- ${composed.reviewBlocks.length} review checklist blocks available\n\n`;
|
|
@@ -260,11 +286,12 @@ function buildSetupOutput(analysis, tags, composed, configYaml, tier, claudeActi
|
|
|
260
286
|
}
|
|
261
287
|
steps.push("Adjust forgecraft.yaml to add/exclude specific content blocks");
|
|
262
288
|
steps.push("Use `refresh_project` later if project scope changes");
|
|
289
|
+
steps.push("Add more output targets in forgecraft.yaml (cursor, copilot, windsurf, cline, aider)");
|
|
263
290
|
if (tier === "core") {
|
|
264
291
|
steps.push("Upgrade tier to 'recommended' when ready for more patterns: edit forgecraft.yaml");
|
|
265
292
|
}
|
|
266
293
|
text += steps.map((s, i) => `${i + 1}. ${s}`).join("\n");
|
|
267
|
-
text += `\n\n⚠️ **Restart required** to pick up
|
|
294
|
+
text += `\n\n⚠️ **Restart may be required** to pick up instruction file changes.`;
|
|
268
295
|
return text;
|
|
269
296
|
}
|
|
270
297
|
//# sourceMappingURL=setup-project.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-project.js","sourceRoot":"","sources":["../../src/tools/setup-project.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup-project.js","sourceRoot":"","sources":["../../src/tools/setup-project.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "forgecraft-mcp",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"mcpName": "io.github.jghiringhelli/forgecraft",
|
|
5
5
|
"description": "MCP server that gives Claude Code production-grade engineering standards — SOLID, testing, architecture, CI/CD — automatically tailored to your stack",
|
|
6
6
|
"type": "module",
|
|
@@ -25,6 +25,11 @@
|
|
|
25
25
|
"model-context-protocol",
|
|
26
26
|
"claude",
|
|
27
27
|
"claude-code",
|
|
28
|
+
"github-copilot",
|
|
29
|
+
"copilot",
|
|
30
|
+
"cursor",
|
|
31
|
+
"windsurf",
|
|
32
|
+
"ai-coding",
|
|
28
33
|
"scaffolding",
|
|
29
34
|
"project-setup",
|
|
30
35
|
"developer-tools",
|
|
@@ -33,8 +38,7 @@
|
|
|
33
38
|
"solid-principles",
|
|
34
39
|
"testing",
|
|
35
40
|
"architecture",
|
|
36
|
-
"claude-md"
|
|
37
|
-
"ai-coding"
|
|
41
|
+
"claude-md"
|
|
38
42
|
],
|
|
39
43
|
"author": "JC",
|
|
40
44
|
"license": "MIT",
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
tag: ANALYTICS
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: chrome-devtools
|
|
5
|
+
description: "Chrome DevTools integration for debugging, profiling, and network inspection"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "@anthropic/chrome-devtools-mcp@latest"]
|
|
8
|
+
tags: [WEB-REACT, WEB-STATIC, ANALYTICS]
|
|
9
|
+
category: devtools
|
|
10
|
+
url: "https://github.com/anthropics/anthropic-quickstarts/tree/main/chrome-devtools-mcp"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
tag: API
|
|
2
|
+
section: mcp-servers
|
|
3
|
+
servers:
|
|
4
|
+
- name: postman
|
|
5
|
+
description: "API testing and collection management via Postman workspace"
|
|
6
|
+
command: npx
|
|
7
|
+
args: ["-y", "@anthropic/mcp-server-postman"]
|
|
8
|
+
tags: [API]
|
|
9
|
+
category: testing
|
|
10
|
+
url: "https://github.com/anthropics/anthropic-quickstarts/tree/main/mcp-server-postman"
|
|
11
|
+
env:
|
|
12
|
+
POSTMAN_API_KEY: ""
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
tag: CLI
|
|
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
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem"
|
|
@@ -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,20 @@
|
|
|
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
|
+
env:
|
|
11
|
+
POSTGRES_CONNECTION_STRING: ""
|
|
12
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
|
|
13
|
+
|
|
14
|
+
- name: filesystem
|
|
15
|
+
description: "Filesystem access for lineage definition files and pipeline configurations"
|
|
16
|
+
command: npx
|
|
17
|
+
args: ["-y", "@modelcontextprotocol/server-filesystem"]
|
|
18
|
+
tags: [DATA-LINEAGE, UNIVERSAL]
|
|
19
|
+
category: filesystem
|
|
20
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem"
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
env:
|
|
11
|
+
POSTGRES_CONNECTION_STRING: ""
|
|
12
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
env:
|
|
11
|
+
STRIPE_SECRET_KEY: ""
|
|
12
|
+
url: "https://github.com/stripe/agent-toolkit"
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
url: "https://github.com/CoplayDev/unity-mcp"
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
env:
|
|
11
|
+
POSTGRES_CONNECTION_STRING: ""
|
|
12
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
|
|
@@ -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,12 @@
|
|
|
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
|
+
env:
|
|
11
|
+
POSTGRES_CONNECTION_STRING: ""
|
|
12
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
url: "https://github.com/ckreiling/mcp-server-docker"
|
|
11
|
+
|
|
12
|
+
- name: kubernetes
|
|
13
|
+
description: "Kubernetes cluster management — pods, deployments, services"
|
|
14
|
+
command: npx
|
|
15
|
+
args: ["-y", "mcp-server-kubernetes"]
|
|
16
|
+
tags: [INFRA]
|
|
17
|
+
category: deployment
|
|
18
|
+
url: "https://github.com/strowk/mcp-k8s-go"
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
url: "https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem"
|
|
11
|
+
|
|
12
|
+
- name: npm-search
|
|
13
|
+
description: "Search npm registry for packages, check versions, and inspect dependencies"
|
|
14
|
+
command: npx
|
|
15
|
+
args: ["-y", "mcp-server-npm-search"]
|
|
16
|
+
tags: [LIBRARY]
|
|
17
|
+
category: documentation
|
|
18
|
+
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.
|