forgecraft-mcp 0.2.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.
Files changed (55) hide show
  1. package/README.md +25 -5
  2. package/dist/index.js +1 -1
  3. package/dist/registry/loader.d.ts.map +1 -1
  4. package/dist/registry/loader.js +26 -1
  5. package/dist/registry/loader.js.map +1 -1
  6. package/dist/registry/mcp-discovery.d.ts +82 -0
  7. package/dist/registry/mcp-discovery.d.ts.map +1 -0
  8. package/dist/registry/mcp-discovery.js +202 -0
  9. package/dist/registry/mcp-discovery.js.map +1 -0
  10. package/dist/shared/errors/index.d.ts +4 -0
  11. package/dist/shared/errors/index.d.ts.map +1 -1
  12. package/dist/shared/errors/index.js +6 -0
  13. package/dist/shared/errors/index.js.map +1 -1
  14. package/dist/shared/types.d.ts +44 -1
  15. package/dist/shared/types.d.ts.map +1 -1
  16. package/dist/shared/types.js +6 -0
  17. package/dist/shared/types.js.map +1 -1
  18. package/dist/tools/configure-mcp.d.ts +21 -0
  19. package/dist/tools/configure-mcp.d.ts.map +1 -1
  20. package/dist/tools/configure-mcp.js +86 -24
  21. package/dist/tools/configure-mcp.js.map +1 -1
  22. package/dist/tools/list.d.ts.map +1 -1
  23. package/dist/tools/list.js +24 -0
  24. package/dist/tools/list.js.map +1 -1
  25. package/package.json +7 -3
  26. package/templates/analytics/mcp-servers.yaml +10 -0
  27. package/templates/api/mcp-servers.yaml +12 -0
  28. package/templates/cli/mcp-servers.yaml +10 -0
  29. package/templates/data-lineage/instructions.yaml +28 -0
  30. package/templates/data-lineage/mcp-servers.yaml +20 -0
  31. package/templates/data-pipeline/mcp-servers.yaml +12 -0
  32. package/templates/fintech/mcp-servers.yaml +12 -0
  33. package/templates/game/mcp-servers.yaml +10 -0
  34. package/templates/healthcare/mcp-servers.yaml +12 -0
  35. package/templates/hipaa/instructions.yaml +41 -0
  36. package/templates/hipaa/mcp-servers.yaml +12 -0
  37. package/templates/infra/mcp-servers.yaml +18 -0
  38. package/templates/library/mcp-servers.yaml +18 -0
  39. package/templates/medallion-architecture/instructions.yaml +41 -0
  40. package/templates/medallion-architecture/mcp-servers.yaml +20 -0
  41. package/templates/ml/mcp-servers.yaml +10 -0
  42. package/templates/mobile/mcp-servers.yaml +10 -0
  43. package/templates/observability-xray/instructions.yaml +40 -0
  44. package/templates/observability-xray/mcp-servers.yaml +14 -0
  45. package/templates/realtime/mcp-servers.yaml +12 -0
  46. package/templates/soc2/instructions.yaml +41 -0
  47. package/templates/soc2/mcp-servers.yaml +22 -0
  48. package/templates/social/mcp-servers.yaml +22 -0
  49. package/templates/state-machine/mcp-servers.yaml +10 -0
  50. package/templates/universal/mcp-servers.yaml +26 -0
  51. package/templates/web-react/mcp-servers.yaml +18 -0
  52. package/templates/web-static/mcp-servers.yaml +18 -0
  53. package/templates/web3/mcp-servers.yaml +10 -0
  54. package/templates/zero-trust/instructions.yaml +41 -0
  55. package/templates/zero-trust/mcp-servers.yaml +14 -0
package/README.md CHANGED
@@ -116,7 +116,7 @@ This is the core value. Assembled from curated blocks covering:
116
116
 
117
117
  Every block is sourced from established engineering literature (Martin, Evans, Wiggins) and adapted for AI-assisted development.
118
118
 
119
- ## 18 Tags — Pick What Fits
119
+ ## 24 Tags — Pick What Fits
120
120
 
121
121
  Tags are domain classifiers. ForgeCraft auto-detects them from your code, or you choose manually. Combine freely — blocks merge without conflicts.
122
122
 
@@ -140,6 +140,12 @@ Tags are domain classifiers. ForgeCraft auto-detects them from your code, or you
140
140
  | `ANALYTICS` | Event tracking, dashboards, data warehousing |
141
141
  | `STATE-MACHINE` | Transitions, guards, event-driven workflows |
142
142
  | `WEB3` | Smart contracts, gas optimization, wallet security |
143
+ | `HIPAA` | PII masking, encryption checks, audit logging |
144
+ | `SOC2` | Access control, change management, incident response |
145
+ | `DATA-LINEAGE` | 100% field coverage, lineage tracking decorators |
146
+ | `OBSERVABILITY-XRAY` | Auto X-Ray instrumentation for Lambdas |
147
+ | `MEDALLION-ARCHITECTURE` | Bronze=immutable, Silver=validated, Gold=aggregated |
148
+ | `ZERO-TRUST` | Deny-by-default IAM, explicit allow rules |
143
149
 
144
150
  ## Content Tiers
145
151
 
@@ -172,14 +178,14 @@ tier: recommended
172
178
  | `convert_existing` | Phased migration plan for legacy code |
173
179
  | `add_hook` | Add quality-gate hooks |
174
180
  | `add_module` | Scaffold a feature module |
175
- | `configure_mcp` | Generate `.claude/settings.json` |
181
+ | `configure_mcp` | Discover & configure recommended MCP servers |
176
182
  | `get_nfr_template` | NFR sections for tech specs |
177
183
  | `list_tags` | Show all available tags |
178
184
  | `list_hooks` | Show hooks, filterable by tag |
179
185
 
180
186
  ## Configuration
181
187
 
182
- ### Fine-tune what Claude sees
188
+ ### Fine-tune what your AI assistant sees
183
189
 
184
190
  ```yaml
185
191
  # forgecraft.yaml
@@ -233,11 +239,25 @@ templates/your-tag/
233
239
  ├── structure.yaml # Folder structure
234
240
  ├── nfr.yaml # Non-functional requirements
235
241
  ├── hooks.yaml # Quality gate scripts
236
- └── review.yaml # Code review checklists
242
+ ├── review.yaml # Code review checklists
243
+ └── mcp-servers.yaml # Recommended MCP servers for this tag
237
244
  ```
238
245
 
239
246
  PRs welcome. See [`templates/universal/`](templates/universal/) for the format.
240
247
 
248
+ ### MCP Server Discovery
249
+
250
+ `configure_mcp` dynamically discovers recommended MCP servers matching your project tags. Servers are curated in `mcp-servers.yaml` per tag — community-contributable via PRs.
251
+
252
+ Built-in recommendations include Context7 (docs), Playwright (testing), Chrome DevTools (debugging), Stripe (fintech), Docker/K8s (infra), and more across all 24 tags.
253
+
254
+ Optionally fetch from a remote registry at setup time:
255
+ ```yaml
256
+ # In forgecraft.yaml or via tool parameter
257
+ include_remote: true
258
+ remote_registry_url: https://your-org.com/mcp-registry.json
259
+ ```
260
+
241
261
  ## Development
242
262
 
243
263
  ```bash
@@ -245,7 +265,7 @@ git clone https://github.com/jghiringhelli/forgecraft-mcp.git
245
265
  cd forgecraft-mcp
246
266
  npm install
247
267
  npm run build
248
- npm test # 111 tests, 9 suites
268
+ npm test # 128 tests, 10 suites
249
269
  ```
250
270
 
251
271
  ## License
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ async function main() {
28
28
  logger.info("Starting ForgeCraft MCP server");
29
29
  const server = new McpServer({
30
30
  name: "forgecraft",
31
- version: "0.1.0",
31
+ version: "0.2.0",
32
32
  });
33
33
  // ── Register Tools ───────────────────────────────────────────────
34
34
  server.tool("list_tags", "List all available project classification tags with descriptions.", listTagsSchema.shape, listTagsHandler);
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EAMd,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAW5B;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAuB5C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,CAAC,EAAE,MAAM,GACpB,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CA0B1B;AAsGD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,GACjB,gBAAgB,GAAG,IAAI,CA4BzB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAuC1B"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EAOd,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAW5B;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAuB5C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,CAAC,EAAE,MAAM,GACpB,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CA0B1B;AAmHD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,GACjB,gBAAgB,GAAG,IAAI,CA4BzB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAwC1B"}
@@ -70,6 +70,7 @@ function loadTagTemplateSet(tag, tagDir) {
70
70
  let structure;
71
71
  let hooks;
72
72
  let review;
73
+ let mcpServers;
73
74
  // Load instructions.yaml (formerly claude-md.yaml)
74
75
  const instructionsPath = join(tagDir, "instructions.yaml");
75
76
  if (existsSync(instructionsPath)) {
@@ -103,7 +104,12 @@ function loadTagTemplateSet(tag, tagDir) {
103
104
  if (existsSync(reviewPath)) {
104
105
  review = loadYamlFile(reviewPath);
105
106
  }
106
- return { tag, instructions, nfr, structure, hooks, review };
107
+ // Load mcp-servers.yaml
108
+ const mcpServersPath = join(tagDir, "mcp-servers.yaml");
109
+ if (existsSync(mcpServersPath)) {
110
+ mcpServers = loadYamlFile(mcpServersPath);
111
+ }
112
+ return { tag, instructions, nfr, structure, hooks, review, mcpServers };
107
113
  }
108
114
  /**
109
115
  * Load and parse a single YAML template file.
@@ -149,6 +155,12 @@ function tagDirNameToTag(dirName) {
149
155
  infra: "INFRA",
150
156
  mobile: "MOBILE",
151
157
  analytics: "ANALYTICS",
158
+ hipaa: "HIPAA",
159
+ soc2: "SOC2",
160
+ "data-lineage": "DATA-LINEAGE",
161
+ "observability-xray": "OBSERVABILITY-XRAY",
162
+ "medallion-architecture": "MEDALLION-ARCHITECTURE",
163
+ "zero-trust": "ZERO-TRUST",
152
164
  };
153
165
  return mapping[dirName] ?? null;
154
166
  }
@@ -228,6 +240,7 @@ export function loadAllTemplatesWithExtras(builtInDir, extraDirs) {
228
240
  structure: extraSet.structure ?? baseSet.structure,
229
241
  hooks: mergeHookTemplates(baseSet.hooks, extraSet.hooks),
230
242
  review: mergeReviewTemplates(baseSet.review, extraSet.review),
243
+ mcpServers: mergeMcpServersTemplates(baseSet.mcpServers, extraSet.mcpServers),
231
244
  };
232
245
  base.set(tag, merged);
233
246
  }
@@ -282,4 +295,16 @@ function mergeReviewTemplates(base, extra) {
282
295
  const newBlocks = extra.blocks.filter((b) => !seenIds.has(b.id));
283
296
  return { ...base, blocks: [...base.blocks, ...newBlocks] };
284
297
  }
298
+ /**
299
+ * Merge two McpServersTemplates, appending non-duplicate servers by name.
300
+ */
301
+ function mergeMcpServersTemplates(base, extra) {
302
+ if (!extra)
303
+ return base;
304
+ if (!base)
305
+ return extra;
306
+ const seenNames = new Set(base.servers.map((s) => s.name));
307
+ const newServers = extra.servers.filter((s) => !seenNames.has(s.name));
308
+ return { ...base, servers: [...base.servers, ...newServers] };
309
+ }
285
310
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAatF,MAAM,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAS/C;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACtD,IAAI,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED,0DAA0D;IAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,+EAA+E;IAC/E,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEpD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,6DAA6D;IAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,qBAAqB,CAAC,WAAW,EAAE,sCAAsC,CAAC,CAAC;AACvF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAAqB;IAErB,MAAM,GAAG,GAAG,YAAY,IAAI,mBAAmB,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE9C,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SACtD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE9B,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;YACpE,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;QAC9B,QAAQ,EAAE,MAAM,CAAC,IAAI;QACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KAChC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,GAAQ,EAAE,MAAc;IAClD,IAAI,YAA6C,CAAC;IAClD,IAAI,GAA4B,CAAC;IACjC,IAAI,SAAwC,CAAC;IAC7C,IAAI,KAAiC,CAAC;IACtC,IAAI,MAAkC,CAAC;IACvC,IAAI,UAA0C,CAAC;IAE/C,mDAAmD;IACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,YAAY,GAAG,YAAY,CAAsB,gBAAgB,CAAC,CAAC;IACrE,CAAC;IAED,qEAAqE;IACrE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,YAAY,GAAG,YAAY,CAAsB,UAAU,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,GAAG,GAAG,YAAY,CAAc,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,sBAAsB;IACtB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,SAAS,GAAG,YAAY,CAAoB,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,kBAAkB;IAClB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,YAAY,CAAgB,SAAS,CAAC,CAAC;QACzD,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,mBAAmB;IACnB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,YAAY,CAAiB,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,wBAAwB;IACxB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,UAAU,GAAG,YAAY,CAAqB,cAAc,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAI,QAAgB;IACvC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;YACxC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,OAAO,GAAwB;QACnC,SAAS,EAAE,WAAW;QACtB,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,YAAY;QAC1B,GAAG,EAAE,KAAK;QACV,eAAe,EAAE,eAAe;QAChC,EAAE,EAAE,IAAI;QACR,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,eAAe,EAAE,eAAe;QAChC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,WAAW;QACtB,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,MAAM;QACZ,cAAc,EAAE,cAAc;QAC9B,oBAAoB,EAAE,oBAAoB;QAC1C,wBAAwB,EAAE,wBAAwB;QAClD,YAAY,EAAE,YAAY;KAC3B,CAAC;IACF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAQ;IACnC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAkB;IAElB,qBAAqB;IACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAqB,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAmB,EACnB,SAAoB;IAEpB,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAE1C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;YACtF,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE5C,qEAAqE;QACrE,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,yCAAyC;YACzC,MAAM,MAAM,GAAmB;gBAC7B,GAAG;gBACH,YAAY,EAAE,yBAAyB,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC;gBACpF,GAAG,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;gBACjD,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;gBAClD,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;gBACxD,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;gBAC7D,UAAU,EAAE,wBAAwB,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;aAC9E,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAChC,IAAqC,EACrC,KAAsC;IAEtC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,IAA6B,EAC7B,KAA8B;IAE9B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,IAAgC,EAChC,KAAiC;IAEjC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,IAAgC,EAChC,KAAiC;IAEjC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAC/B,IAAoC,EACpC,KAAqC;IAErC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;AAChE,CAAC"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * MCP Server Discovery Service.
3
+ *
4
+ * Discovers recommended MCP servers for a set of project tags by:
5
+ * 1. Loading curated entries from mcp-servers.yaml template files (built-in + community).
6
+ * 2. Optionally fetching from a remote registry URL for dynamic recommendations.
7
+ *
8
+ * Results are deduplicated by server name, with local (built-in/community)
9
+ * entries taking priority over remote ones.
10
+ */
11
+ import type { Tag, McpServerRecommendation, McpDiscoveryOptions } from "../shared/types.js";
12
+ /**
13
+ * Contract for MCP server discovery.
14
+ * Implementations resolve a set of tags into recommended MCP servers.
15
+ */
16
+ export interface McpDiscoveryService {
17
+ /**
18
+ * Discover recommended MCP servers for the given tags.
19
+ *
20
+ * @param tags - Active project classification tags
21
+ * @param options - Optional discovery configuration
22
+ * @returns Deduplicated list of server recommendations
23
+ */
24
+ discoverServers(tags: Tag[], options?: McpDiscoveryOptions): Promise<McpServerRecommendation[]>;
25
+ }
26
+ /**
27
+ * Default MCP discovery service.
28
+ *
29
+ * Loads curated servers from YAML templates, optionally augments
30
+ * with servers from a remote JSON registry.
31
+ */
32
+ export declare class DefaultMcpDiscoveryService implements McpDiscoveryService {
33
+ private readonly templatesDirOverride?;
34
+ private readonly extraDirs?;
35
+ /**
36
+ * @param templatesDirOverride - Override built-in templates directory (testing)
37
+ * @param extraDirs - Additional community template directories
38
+ */
39
+ constructor(templatesDirOverride?: string, extraDirs?: string[]);
40
+ /**
41
+ * Discover MCP servers for the given tags.
42
+ *
43
+ * @param tags - Active project classification tags
44
+ * @param options - Discovery options
45
+ * @returns Deduplicated recommendations sorted by relevance
46
+ */
47
+ discoverServers(tags: Tag[], options?: McpDiscoveryOptions): Promise<McpServerRecommendation[]>;
48
+ /**
49
+ * Load MCP server entries from local YAML templates for the given tags.
50
+ * Collects from all matching tag template sets.
51
+ */
52
+ private loadLocalServers;
53
+ /**
54
+ * Fetch MCP server entries from a remote JSON registry.
55
+ *
56
+ * Expected remote format:
57
+ * ```json
58
+ * {
59
+ * "servers": [
60
+ * {
61
+ * "name": "some-server",
62
+ * "description": "...",
63
+ * "command": "npx",
64
+ * "args": ["-y", "some-package"],
65
+ * "tags": ["API", "UNIVERSAL"],
66
+ * "category": "testing",
67
+ * "url": "https://..."
68
+ * }
69
+ * ]
70
+ * }
71
+ * ```
72
+ *
73
+ * Only servers whose tags overlap with the requested tags are returned.
74
+ */
75
+ private fetchRemoteServers;
76
+ /**
77
+ * Deduplicate server lists. Local entries take priority over remote.
78
+ * Sorts by: number of matching tags (desc), then alphabetically.
79
+ */
80
+ private deduplicateServers;
81
+ }
82
+ //# sourceMappingURL=mcp-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-discovery.d.ts","sourceRoot":"","sources":["../../src/registry/mcp-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EACV,GAAG,EACH,uBAAuB,EACvB,mBAAmB,EAGpB,MAAM,oBAAoB,CAAC;AAM5B;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,eAAe,CACb,IAAI,EAAE,GAAG,EAAE,EACX,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;CACvC;AAaD;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IACpE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAW;IAEtC;;;OAGG;gBACS,oBAAoB,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE;IAK/D;;;;;;OAMG;IACG,eAAe,CACnB,IAAI,EAAE,GAAG,EAAE,EACX,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAoCrC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA2BxB;;;;;;;;;;;;;;;;;;;;;OAqBG;YACW,kBAAkB;IA0DhC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA6B3B"}
@@ -0,0 +1,202 @@
1
+ /**
2
+ * MCP Server Discovery Service.
3
+ *
4
+ * Discovers recommended MCP servers for a set of project tags by:
5
+ * 1. Loading curated entries from mcp-servers.yaml template files (built-in + community).
6
+ * 2. Optionally fetching from a remote registry URL for dynamic recommendations.
7
+ *
8
+ * Results are deduplicated by server name, with local (built-in/community)
9
+ * entries taking priority over remote ones.
10
+ */
11
+ import { createLogger } from "../shared/logger/index.js";
12
+ import { DiscoveryError } from "../shared/errors/index.js";
13
+ import { loadAllTemplatesWithExtras } from "./loader.js";
14
+ const logger = createLogger("registry/mcp-discovery");
15
+ // ── Constants ────────────────────────────────────────────────────────
16
+ /** Default remote registry URL. Configurable via FORGECRAFT_MCP_REGISTRY_URL. */
17
+ const DEFAULT_REMOTE_REGISTRY_URL = process.env["FORGECRAFT_MCP_REGISTRY_URL"] ?? "";
18
+ /** Default timeout for remote registry fetches in milliseconds. */
19
+ const DEFAULT_REMOTE_TIMEOUT_MS = 5_000;
20
+ // ── Implementation ───────────────────────────────────────────────────
21
+ /**
22
+ * Default MCP discovery service.
23
+ *
24
+ * Loads curated servers from YAML templates, optionally augments
25
+ * with servers from a remote JSON registry.
26
+ */
27
+ export class DefaultMcpDiscoveryService {
28
+ templatesDirOverride;
29
+ extraDirs;
30
+ /**
31
+ * @param templatesDirOverride - Override built-in templates directory (testing)
32
+ * @param extraDirs - Additional community template directories
33
+ */
34
+ constructor(templatesDirOverride, extraDirs) {
35
+ this.templatesDirOverride = templatesDirOverride;
36
+ this.extraDirs = extraDirs;
37
+ }
38
+ /**
39
+ * Discover MCP servers for the given tags.
40
+ *
41
+ * @param tags - Active project classification tags
42
+ * @param options - Discovery options
43
+ * @returns Deduplicated recommendations sorted by relevance
44
+ */
45
+ async discoverServers(tags, options) {
46
+ const localServers = this.loadLocalServers(tags);
47
+ logger.info("Loaded local MCP server recommendations", {
48
+ count: localServers.length,
49
+ tags,
50
+ });
51
+ let remoteServers = [];
52
+ if (options?.includeRemote) {
53
+ const registryUrl = options.remoteRegistryUrl ?? DEFAULT_REMOTE_REGISTRY_URL;
54
+ if (registryUrl) {
55
+ remoteServers = await this.fetchRemoteServers(tags, registryUrl, options.remoteTimeoutMs ?? DEFAULT_REMOTE_TIMEOUT_MS);
56
+ logger.info("Fetched remote MCP server recommendations", {
57
+ count: remoteServers.length,
58
+ url: registryUrl,
59
+ });
60
+ }
61
+ else {
62
+ logger.warn("Remote discovery requested but no registry URL configured. " +
63
+ "Set FORGECRAFT_MCP_REGISTRY_URL or pass remoteRegistryUrl.");
64
+ }
65
+ }
66
+ return this.deduplicateServers(localServers, remoteServers);
67
+ }
68
+ /**
69
+ * Load MCP server entries from local YAML templates for the given tags.
70
+ * Collects from all matching tag template sets.
71
+ */
72
+ loadLocalServers(tags) {
73
+ const templates = loadAllTemplatesWithExtras(this.templatesDirOverride, this.extraDirs);
74
+ const seen = new Set();
75
+ const results = [];
76
+ for (const tag of tags) {
77
+ const templateSet = templates.get(tag);
78
+ if (!templateSet?.mcpServers) {
79
+ continue;
80
+ }
81
+ for (const entry of templateSet.mcpServers.servers) {
82
+ if (seen.has(entry.name)) {
83
+ continue;
84
+ }
85
+ seen.add(entry.name);
86
+ results.push(entryToRecommendation(entry, "built-in"));
87
+ }
88
+ }
89
+ return results;
90
+ }
91
+ /**
92
+ * Fetch MCP server entries from a remote JSON registry.
93
+ *
94
+ * Expected remote format:
95
+ * ```json
96
+ * {
97
+ * "servers": [
98
+ * {
99
+ * "name": "some-server",
100
+ * "description": "...",
101
+ * "command": "npx",
102
+ * "args": ["-y", "some-package"],
103
+ * "tags": ["API", "UNIVERSAL"],
104
+ * "category": "testing",
105
+ * "url": "https://..."
106
+ * }
107
+ * ]
108
+ * }
109
+ * ```
110
+ *
111
+ * Only servers whose tags overlap with the requested tags are returned.
112
+ */
113
+ async fetchRemoteServers(tags, registryUrl, timeoutMs) {
114
+ try {
115
+ const controller = new AbortController();
116
+ const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
117
+ const response = await fetch(registryUrl, {
118
+ signal: controller.signal,
119
+ headers: { Accept: "application/json" },
120
+ });
121
+ clearTimeout(timeoutId);
122
+ if (!response.ok) {
123
+ throw new DiscoveryError(`Remote registry returned HTTP ${response.status}`, registryUrl);
124
+ }
125
+ const data = (await response.json());
126
+ if (!Array.isArray(data.servers)) {
127
+ throw new DiscoveryError("Remote registry response missing 'servers' array", registryUrl);
128
+ }
129
+ const tagSet = new Set(tags);
130
+ return data.servers
131
+ .filter((entry) => entry.tags.some((t) => tagSet.has(t)))
132
+ .map((entry) => entryToRecommendation(entry, "remote"));
133
+ }
134
+ catch (error) {
135
+ if (error instanceof DiscoveryError) {
136
+ logger.warn("Remote MCP registry error", {
137
+ url: registryUrl,
138
+ error: error.message,
139
+ });
140
+ }
141
+ else {
142
+ const message = error instanceof Error ? error.message : String(error);
143
+ logger.warn("Failed to fetch remote MCP registry", {
144
+ url: registryUrl,
145
+ error: message,
146
+ });
147
+ }
148
+ // Remote failures are non-fatal — return empty and rely on local
149
+ return [];
150
+ }
151
+ }
152
+ /**
153
+ * Deduplicate server lists. Local entries take priority over remote.
154
+ * Sorts by: number of matching tags (desc), then alphabetically.
155
+ */
156
+ deduplicateServers(local, remote) {
157
+ const seen = new Set();
158
+ const merged = [];
159
+ // Local first (higher priority)
160
+ for (const server of local) {
161
+ if (!seen.has(server.name)) {
162
+ seen.add(server.name);
163
+ merged.push(server);
164
+ }
165
+ }
166
+ // Remote fills gaps
167
+ for (const server of remote) {
168
+ if (!seen.has(server.name)) {
169
+ seen.add(server.name);
170
+ merged.push(server);
171
+ }
172
+ }
173
+ return merged.sort((a, b) => {
174
+ const tagDiff = b.relevantTags.length - a.relevantTags.length;
175
+ if (tagDiff !== 0)
176
+ return tagDiff;
177
+ return a.name.localeCompare(b.name);
178
+ });
179
+ }
180
+ }
181
+ // ── Helpers ──────────────────────────────────────────────────────────
182
+ /**
183
+ * Convert a raw McpServerEntry to a McpServerRecommendation.
184
+ *
185
+ * @param entry - Raw entry from YAML or remote
186
+ * @param source - Where this entry was discovered
187
+ * @returns Normalized recommendation
188
+ */
189
+ function entryToRecommendation(entry, source) {
190
+ return {
191
+ name: entry.name,
192
+ description: entry.description,
193
+ command: entry.command,
194
+ args: entry.args,
195
+ env: entry.env,
196
+ relevantTags: entry.tags,
197
+ category: entry.category,
198
+ url: entry.url,
199
+ source,
200
+ };
201
+ }
202
+ //# sourceMappingURL=mcp-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-discovery.js","sourceRoot":"","sources":["../../src/registry/mcp-discovery.ts"],"names":[],"mappings":"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"}
@@ -27,4 +27,8 @@ export declare class AnalysisError extends ForgeError {
27
27
  export declare class TemplateParseError extends ForgeError {
28
28
  constructor(filePath: string, reason: string);
29
29
  }
30
+ /** Remote MCP server discovery failed. */
31
+ export declare class DiscoveryError extends ForgeError {
32
+ constructor(message: string, url?: string);
33
+ }
30
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4CAA4C;AAC5C,qBAAa,UAAW,SAAQ,KAAK;IACnC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAErC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAKnE;AAED,iEAAiE;AACjE,qBAAa,qBAAsB,SAAQ,UAAU;gBACvC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAM1C;AAED,+CAA+C;AAC/C,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAG5C;AAED,oCAAoC;AACpC,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAG9C;AAED,0CAA0C;AAC1C,qBAAa,aAAc,SAAQ,UAAU;gBAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG/D;AAED,kDAAkD;AAClD,qBAAa,kBAAmB,SAAQ,UAAU;gBACpC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG7C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4CAA4C;AAC5C,qBAAa,UAAW,SAAQ,KAAK;IACnC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAErC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAKnE;AAED,iEAAiE;AACjE,qBAAa,qBAAsB,SAAQ,UAAU;gBACvC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAM1C;AAED,+CAA+C;AAC/C,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAG5C;AAED,oCAAoC;AACpC,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAG9C;AAED,0CAA0C;AAC1C,qBAAa,aAAc,SAAQ,UAAU;gBAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG/D;AAED,kDAAkD;AAClD,qBAAa,kBAAmB,SAAQ,UAAU;gBACpC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG7C;AAED,0CAA0C;AAC1C,qBAAa,cAAe,SAAQ,UAAU;gBAChC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;CAG1C"}
@@ -41,4 +41,10 @@ export class TemplateParseError extends ForgeError {
41
41
  super(`Failed to parse template: ${reason}`, { filePath, reason });
42
42
  }
43
43
  }
44
+ /** Remote MCP server discovery failed. */
45
+ export class DiscoveryError extends ForgeError {
46
+ constructor(message, url) {
47
+ super(message, { url });
48
+ }
49
+ }
44
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/errors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4CAA4C;AAC5C,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnB,OAAO,CAA0B;IAEjD,YAAY,OAAe,EAAE,UAAmC,EAAE;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,iEAAiE;AACjE,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IACnD,YAAY,GAAW,EAAE,OAAgB;QACvC,KAAK,CACH,2BAA2B,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACxE,EAAE,GAAG,EAAE,OAAO,EAAE,CACjB,CAAC;IACJ,CAAC;CACF;AAED,+CAA+C;AAC/C,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAY,OAAe,EAAE,KAAc;QACzC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,oCAAoC;AACpC,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAY,OAAe,EAAE,QAAgB;QAC3C,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,0CAA0C;AAC1C,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3C,YAAY,OAAe,EAAE,OAAiC;QAC5D,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC;CACF;AAED,kDAAkD;AAClD,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAChD,YAAY,QAAgB,EAAE,MAAc;QAC1C,KAAK,CAAC,6BAA6B,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/errors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4CAA4C;AAC5C,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnB,OAAO,CAA0B;IAEjD,YAAY,OAAe,EAAE,UAAmC,EAAE;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,iEAAiE;AACjE,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IACnD,YAAY,GAAW,EAAE,OAAgB;QACvC,KAAK,CACH,2BAA2B,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACxE,EAAE,GAAG,EAAE,OAAO,EAAE,CACjB,CAAC;IACJ,CAAC;CACF;AAED,+CAA+C;AAC/C,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAY,OAAe,EAAE,KAAc;QACzC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,oCAAoC;AACpC,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAY,OAAe,EAAE,QAAgB;QAC3C,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,0CAA0C;AAC1C,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3C,YAAY,OAAe,EAAE,OAAiC;QAC5D,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC;CACF;AAED,kDAAkD;AAClD,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAChD,YAAY,QAAgB,EAAE,MAAc;QAC1C,KAAK,CAAC,6BAA6B,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;CACF;AAED,0CAA0C;AAC1C,MAAM,OAAO,cAAe,SAAQ,UAAU;IAC5C,YAAY,OAAe,EAAE,GAAY;QACvC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1B,CAAC;CACF"}
@@ -5,7 +5,7 @@
5
5
  * structures are defined here as the single source of truth.
6
6
  */
7
7
  /** All supported project classification tags. */
8
- export declare const ALL_TAGS: readonly ["UNIVERSAL", "WEB-REACT", "WEB-STATIC", "API", "DATA-PIPELINE", "ML", "HEALTHCARE", "FINTECH", "WEB3", "REALTIME", "STATE-MACHINE", "GAME", "SOCIAL", "CLI", "LIBRARY", "INFRA", "MOBILE", "ANALYTICS"];
8
+ export declare const ALL_TAGS: readonly ["UNIVERSAL", "WEB-REACT", "WEB-STATIC", "API", "DATA-PIPELINE", "ML", "HEALTHCARE", "FINTECH", "WEB3", "REALTIME", "STATE-MACHINE", "GAME", "SOCIAL", "CLI", "LIBRARY", "INFRA", "MOBILE", "ANALYTICS", "HIPAA", "SOC2", "DATA-LINEAGE", "OBSERVABILITY-XRAY", "MEDALLION-ARCHITECTURE", "ZERO-TRUST"];
9
9
  export type Tag = (typeof ALL_TAGS)[number];
10
10
  /** Description metadata for a single tag. */
11
11
  export interface TagInfo {
@@ -206,6 +206,7 @@ export interface TagTemplateSet {
206
206
  readonly structure?: StructureTemplate;
207
207
  readonly hooks?: HookTemplate[];
208
208
  readonly review?: ReviewTemplate;
209
+ readonly mcpServers?: McpServersTemplate;
209
210
  /**
210
211
  * @deprecated Use `instructions` instead. Alias kept for backward compatibility.
211
212
  */
@@ -223,6 +224,48 @@ export interface McpServerConfig {
223
224
  readonly args: string[];
224
225
  readonly env?: Record<string, string>;
225
226
  }
227
+ /** Category grouping for MCP server recommendations. */
228
+ export type McpServerCategory = "scaffolding" | "code-search" | "testing" | "debugging" | "devtools" | "deployment" | "database" | "documentation" | "game-engine" | "ai-ml" | "monitoring" | "general";
229
+ /** An MCP server entry in a curated registry YAML file. */
230
+ export interface McpServerEntry {
231
+ readonly name: string;
232
+ readonly description: string;
233
+ readonly command: string;
234
+ readonly args: string[];
235
+ readonly env?: Record<string, string>;
236
+ readonly tags: Tag[];
237
+ readonly category: McpServerCategory;
238
+ readonly url?: string;
239
+ }
240
+ /** Shape of the mcp-servers.yaml template file. */
241
+ export interface McpServersTemplate {
242
+ readonly tag: Tag;
243
+ readonly section: "mcp-servers";
244
+ readonly servers: McpServerEntry[];
245
+ }
246
+ /** Source of a discovered MCP server recommendation. */
247
+ export type McpServerSource = "built-in" | "community" | "remote";
248
+ /** A recommended MCP server with discovery metadata. */
249
+ export interface McpServerRecommendation {
250
+ readonly name: string;
251
+ readonly description: string;
252
+ readonly command: string;
253
+ readonly args: string[];
254
+ readonly env?: Record<string, string>;
255
+ readonly relevantTags: Tag[];
256
+ readonly category: McpServerCategory;
257
+ readonly url?: string;
258
+ readonly source: McpServerSource;
259
+ }
260
+ /** Options for controlling MCP server discovery behavior. */
261
+ export interface McpDiscoveryOptions {
262
+ /** Whether to also fetch from a remote registry. Defaults to false. */
263
+ readonly includeRemote?: boolean;
264
+ /** Override the default remote registry URL. */
265
+ readonly remoteRegistryUrl?: string;
266
+ /** Request timeout in milliseconds for remote fetches. Defaults to 5000. */
267
+ readonly remoteTimeoutMs?: number;
268
+ }
226
269
  /** User override configuration from forgecraft.yaml / .forgecraft.json. */
227
270
  export interface ForgeCraftConfig {
228
271
  /** Human-readable project name. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,12 @@ export const ALL_TAGS = [
24
24
  "INFRA",
25
25
  "MOBILE",
26
26
  "ANALYTICS",
27
+ "HIPAA",
28
+ "SOC2",
29
+ "DATA-LINEAGE",
30
+ "OBSERVABILITY-XRAY",
31
+ "MEDALLION-ARCHITECTURE",
32
+ "ZERO-TRUST",
27
33
  ];
28
34
  /** All valid content tiers as a constant array for schema validation. */
29
35
  export const CONTENT_TIERS = ["core", "recommended", "optional"];