@stacksfinder/mcp-server 1.4.0 → 1.5.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 (52) hide show
  1. package/CHANGELOG.md +23 -4
  2. package/README.md +58 -3
  3. package/dist/annotations.d.ts +4 -0
  4. package/dist/annotations.d.ts.map +1 -1
  5. package/dist/annotations.js +16 -0
  6. package/dist/annotations.js.map +1 -1
  7. package/dist/http.js +15 -2
  8. package/dist/http.js.map +1 -1
  9. package/dist/server.d.ts.map +1 -1
  10. package/dist/server.js +42 -4
  11. package/dist/server.js.map +1 -1
  12. package/dist/tools/analyze.d.ts.map +1 -1
  13. package/dist/tools/analyze.js +14 -1
  14. package/dist/tools/analyze.js.map +1 -1
  15. package/dist/tools/api-keys.d.ts +29 -0
  16. package/dist/tools/api-keys.d.ts.map +1 -1
  17. package/dist/tools/api-keys.js +133 -3
  18. package/dist/tools/api-keys.js.map +1 -1
  19. package/dist/tools/audit.d.ts.map +1 -1
  20. package/dist/tools/audit.js +49 -17
  21. package/dist/tools/audit.js.map +1 -1
  22. package/dist/tools/blueprint.d.ts.map +1 -1
  23. package/dist/tools/blueprint.js +12 -4
  24. package/dist/tools/blueprint.js.map +1 -1
  25. package/dist/tools/compare.d.ts.map +1 -1
  26. package/dist/tools/compare.js +19 -1
  27. package/dist/tools/compare.js.map +1 -1
  28. package/dist/tools/estimator.d.ts.map +1 -1
  29. package/dist/tools/estimator.js +15 -15
  30. package/dist/tools/estimator.js.map +1 -1
  31. package/dist/tools/list-techs.d.ts.map +1 -1
  32. package/dist/tools/list-techs.js +12 -1
  33. package/dist/tools/list-techs.js.map +1 -1
  34. package/dist/tools/recommend-demo.d.ts.map +1 -1
  35. package/dist/tools/recommend-demo.js +19 -29
  36. package/dist/tools/recommend-demo.js.map +1 -1
  37. package/dist/tools/recommend.d.ts.map +1 -1
  38. package/dist/tools/recommend.js +7 -2
  39. package/dist/tools/recommend.js.map +1 -1
  40. package/dist/tools/workflow-guide.d.ts +87 -0
  41. package/dist/tools/workflow-guide.d.ts.map +1 -0
  42. package/dist/tools/workflow-guide.js +374 -0
  43. package/dist/tools/workflow-guide.js.map +1 -0
  44. package/dist/utils/config.d.ts +43 -0
  45. package/dist/utils/config.d.ts.map +1 -1
  46. package/dist/utils/config.js +109 -0
  47. package/dist/utils/config.js.map +1 -1
  48. package/dist/utils/errors.d.ts +18 -1
  49. package/dist/utils/errors.d.ts.map +1 -1
  50. package/dist/utils/errors.js +35 -1
  51. package/dist/utils/errors.js.map +1 -1
  52. package/package.json +2 -2
@@ -1,8 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { apiRequest } from '../utils/api-client.js';
3
- import { McpError, ErrorCode } from '../utils/errors.js';
3
+ import { McpError, ErrorCode, checkProAccess } from '../utils/errors.js';
4
4
  import { debug } from '../utils/logger.js';
5
- import { hasApiKey } from '../utils/config.js';
6
5
  // ============================================================================
7
6
  // SCHEMAS
8
7
  // ============================================================================
@@ -26,7 +25,7 @@ export const EstimateProjectInputSchema = z.object({
26
25
  .optional()
27
26
  .default('france')
28
27
  .describe('Region for pricing reference'),
29
- includeMarket: z.boolean().optional().default(true).describe('Include market analysis (Pro tier)')
28
+ includeMarket: z.boolean().optional().default(true).describe('Include market analysis')
30
29
  });
31
30
  /**
32
31
  * Input schema for get_estimate_quota tool.
@@ -42,12 +41,11 @@ export const estimateProjectToolDefinition = {
42
41
  Provides:
43
42
  - Detailed hour breakdown by feature (with complexity assessment)
44
43
  - Price ranges by team seniority level (junior/mid/senior/expert)
45
- - Competitor analysis and market trends (real-time via Perplexity) [Pro tier]
46
- - Market size and gaps identification [Pro tier]
44
+ - Competitor analysis and market trends (real-time via Perplexity)
45
+ - Market size and gaps identification
47
46
  - Risk identification with mitigation suggestions
48
47
 
49
48
  Perfect for freelancers and agencies creating quotes.
50
- Requires API key with estimate:write scope.
51
49
 
52
50
  **Pricing is 100% deterministic** - same inputs always produce same outputs.
53
51
  Market analysis is best-effort and may vary with web data changes.`,
@@ -74,7 +72,7 @@ Market analysis is best-effort and may vary with web data changes.`,
74
72
  },
75
73
  includeMarket: {
76
74
  type: 'boolean',
77
- description: 'Include market analysis (default: true, Pro tier only)'
75
+ description: 'Include market analysis (default: true)'
78
76
  }
79
77
  },
80
78
  required: ['specs']
@@ -96,9 +94,10 @@ export const getEstimateQuotaToolDefinition = {
96
94
  * Execute estimate_project tool.
97
95
  */
98
96
  export async function executeEstimateProject(input) {
99
- if (!hasApiKey()) {
100
- throw new McpError(ErrorCode.CONFIG_ERROR, 'API key required for estimate_project. Set STACKSFINDER_API_KEY environment variable.', ['Get API key at https://stacksfinder.com/settings/api']);
101
- }
97
+ // Check Pro access
98
+ const tierCheck = await checkProAccess('estimate_project');
99
+ if (tierCheck)
100
+ return tierCheck;
102
101
  debug(`[estimate_project] Estimating project (${input.specs.length} chars)`);
103
102
  try {
104
103
  const response = await apiRequest('/api/v1/estimate', {
@@ -126,9 +125,10 @@ export async function executeEstimateProject(input) {
126
125
  * Execute get_estimate_quota tool.
127
126
  */
128
127
  export async function executeGetEstimateQuota(_input) {
129
- if (!hasApiKey()) {
130
- throw new McpError(ErrorCode.CONFIG_ERROR, 'API key required for get_estimate_quota. Set STACKSFINDER_API_KEY environment variable.', ['Get API key at https://stacksfinder.com/settings/api']);
131
- }
128
+ // Check Pro access
129
+ const tierCheck = await checkProAccess('get_estimate_quota');
130
+ if (tierCheck)
131
+ return tierCheck;
132
132
  debug('[get_estimate_quota] Fetching quota');
133
133
  try {
134
134
  const response = await apiRequest('/api/v1/estimate', {
@@ -250,7 +250,7 @@ function formatEstimateResult(response) {
250
250
  }
251
251
  else if (!_meta.marketIncluded) {
252
252
  text += `### Market Analysis\n\n`;
253
- text += `_Market analysis not included. Upgrade to Pro for real-time market research._\n\n`;
253
+ text += `_Market analysis not included in this request._\n\n`;
254
254
  }
255
255
  // Risks
256
256
  if (scope.risks.length > 0) {
@@ -292,7 +292,7 @@ function formatQuotaResult(response) {
292
292
  text += `**Remaining**: ${formatLimit(quota.marketAnalysis.remaining)}\n`;
293
293
  }
294
294
  else {
295
- text += `**Available**: No (upgrade to Pro for market analysis)\n`;
295
+ text += `**Available**: No\n`;
296
296
  }
297
297
  return text;
298
298
  }
@@ -1 +1 @@
1
- {"version":3,"file":"estimator.js","sourceRoot":"","sources":["../../src/tools/estimator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"estimator.js","sourceRoot":"","sources":["../../src/tools/estimator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-techs.d.ts","sourceRoot":"","sources":["../../src/tools/list-techs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;EAK/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;CAcnC,CAAC;AAYF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAyC9D"}
1
+ {"version":3,"file":"list-techs.d.ts","sourceRoot":"","sources":["../../src/tools/list-techs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;EAK/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;CAwBnC,CAAC;AAYF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAyC9D"}
@@ -14,7 +14,18 @@ export const ListTechsInputSchema = z.object({
14
14
  */
15
15
  export const listTechsToolDefinition = {
16
16
  name: 'list_technologies',
17
- description: 'Lists all available technology IDs for use with other tools. Essential for discovering valid technology identifiers.',
17
+ description: `Lists all available technology IDs grouped by category. Essential starting point for discovery.
18
+
19
+ **Prerequisites**: None - this is typically the first tool to call.
20
+
21
+ **Next Steps**:
22
+ - Analyze a specific tech: \`analyze_tech({ technology: "nextjs" })\`
23
+ - Compare techs: \`compare_techs({ technologies: ["nextjs", "sveltekit"] })\`
24
+ - Get stack recommendation: \`recommend_stack_demo({ projectType: "saas" })\`
25
+
26
+ **Categories**: ${CATEGORIES.join(', ')}
27
+
28
+ **Example**: \`list_technologies({ category: "frontend" })\``,
18
29
  inputSchema: {
19
30
  type: 'object',
20
31
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"list-techs.js","sourceRoot":"","sources":["../../src/tools/list-techs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,UAAU,EAEV,YAAY,EACZ,yBAAyB,EACzB,gCAAgC,EAChC,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,QAAQ,EAAE,CAAC;SACT,IAAI,CAAC,UAAU,CAAC;SAChB,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;CAChE,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACtC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACV,sHAAsH;IACvH,WAAW,EAAE;QACZ,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACX,QAAQ,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,+BAA+B;aAC5C;SACD;KACD;CACD,CAAC;AAEF;;GAEG;AACH,SAAS,cAAc,CAAC,QAAkB,EAAE,KAA0C;IACrF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACxD,OAAO,MAAM,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAqB;IACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE3B,IAAI,QAAQ,EAAE,CAAC;QACd,8BAA8B;QAC9B,MAAM,KAAK,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,cAAc,CAC/B,QAAQ,EACR,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAC9C,CAAC;QAEF,OAAO,8BAA8B,QAAQ,MAAM,KAAK,CAAC,MAAM;;EAE/D,SAAS;;gBAEK,YAAY,EAAE,CAAC;IAC9B,CAAC;IAED,4CAA4C;IAC5C,MAAM,OAAO,GAAG,gCAAgC,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CACZ,cAAc,CACb,GAAG,EACH,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAC9C,CACD,CAAC;YACF,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;QACvB,CAAC;IACF,CAAC;IAED,OAAO,2BAA2B,KAAK;;EAEtC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;gBAEP,YAAY,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"list-techs.js","sourceRoot":"","sources":["../../src/tools/list-techs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,UAAU,EAEV,YAAY,EACZ,yBAAyB,EACzB,gCAAgC,EAChC,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,QAAQ,EAAE,CAAC;SACT,IAAI,CAAC,UAAU,CAAC;SAChB,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;CAChE,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACtC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE;;;;;;;;;kBASI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;6DAEsB;IAC5D,WAAW,EAAE;QACZ,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACX,QAAQ,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,+BAA+B;aAC5C;SACD;KACD;CACD,CAAC;AAEF;;GAEG;AACH,SAAS,cAAc,CAAC,QAAkB,EAAE,KAA0C;IACrF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACxD,OAAO,MAAM,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAqB;IACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE3B,IAAI,QAAQ,EAAE,CAAC;QACd,8BAA8B;QAC9B,MAAM,KAAK,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,cAAc,CAC/B,QAAQ,EACR,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAC9C,CAAC;QAEF,OAAO,8BAA8B,QAAQ,MAAM,KAAK,CAAC,MAAM;;EAE/D,SAAS;;gBAEK,YAAY,EAAE,CAAC;IAC9B,CAAC;IAED,4CAA4C;IAC5C,MAAM,OAAO,GAAG,gCAAgC,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CACZ,cAAc,CACb,GAAG,EACH,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAC9C,CACD,CAAC;YACF,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;QACvB,CAAC;IACF,CAAC;IAED,OAAO,2BAA2B,KAAK;;EAEtC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;gBAEP,YAAY,EAAE,CAAC;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"recommend-demo.d.ts","sourceRoot":"","sources":["../../src/tools/recommend-demo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiCxB;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;EAGxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;GAEG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;CAsB5C,CAAC;AA0FF;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,uBAAuB,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CA8ErC"}
1
+ {"version":3,"file":"recommend-demo.d.ts","sourceRoot":"","sources":["../../src/tools/recommend-demo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiCxB;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;EAGxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;GAEG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;CAgC5C,CAAC;AA0FF;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,uBAAuB,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CA0DrC"}
@@ -32,10 +32,20 @@ export const RecommendStackDemoInputSchema = z.object({
32
32
  */
33
33
  export const recommendStackDemoToolDefinition = {
34
34
  name: 'recommend_stack_demo',
35
- description: `Try StacksFinder's tech stack recommendations for FREE - once per day, no account required.
35
+ description: `Quick tech stack recommendation based on project type and scale.
36
36
 
37
- Returns the optimal technology for each category based on deterministic scoring.
38
- For unlimited access, priorities, constraints, and AI-generated narratives, upgrade to Pro at https://stacksfinder.com/pricing`,
37
+ **Prerequisites**: None - great starting point for new users.
38
+
39
+ **Next Steps**:
40
+ - Analyze a specific tech: \`analyze_tech({ technology: "recommended-id" })\`
41
+ - Full recommendation with priorities: \`recommend_stack()\`
42
+
43
+ **Output includes**:
44
+ - Optimal technology for each category (frontend, backend, database, etc.)
45
+ - Score and grade for each recommendation
46
+ - Based on 100% deterministic scoring (no AI hallucinations)
47
+
48
+ **Example**: \`recommend_stack_demo({ projectType: "saas", scale: "mvp" })\``,
39
49
  inputSchema: {
40
50
  type: 'object',
41
51
  properties: {
@@ -140,20 +150,7 @@ export function executeRecommendStackDemo(input) {
140
150
  return {
141
151
  text: `## Daily Demo Limit Reached
142
152
 
143
- You've already used your free demo today.
144
-
145
- **Options:**
146
- 1. Come back tomorrow for another free demo
147
- 2. Create a free account at https://stacksfinder.com/register
148
- 3. Upgrade to Pro for unlimited recommendations: https://stacksfinder.com/pricing
149
-
150
- **Pro benefits:**
151
- - Unlimited stack recommendations
152
- - Custom priorities (time-to-market, scalability, security, etc.)
153
- - Technology constraints
154
- - AI-generated implementation narratives
155
- - API access for automation
156
- - MCP integration with full features
153
+ You've already used the demo today. Try again tomorrow or use \`recommend_stack()\` for full access.
157
154
 
158
155
  ---
159
156
  *Device ID: ${deviceId.slice(0, 8)}...*`,
@@ -183,20 +180,13 @@ You've already used your free demo today.
183
180
 
184
181
  ---
185
182
 
186
- ### Want More?
187
-
188
- This is a **simplified demo**. The full version includes:
189
- - Custom priorities (time-to-market, scalability, security, etc.)
190
- - Technology constraints ("must use PostgreSQL", "no AWS")
191
- - Compatibility scoring between all selected technologies
192
- - AI-generated implementation narrative with setup guides
193
- - Confidence scoring (high/medium/low) based on your inputs
194
-
195
- **Upgrade to Pro**: https://stacksfinder.com/pricing
196
- **Create free account**: https://stacksfinder.com/register
183
+ **Next steps:**
184
+ - Analyze a tech: \`analyze_tech({ technology: "nextjs" })\`
185
+ - Compare alternatives: \`compare_techs({ technologies: ["nextjs", "sveltekit"] })\`
186
+ - Full recommendation with priorities: \`recommend_stack()\`
197
187
 
198
188
  ---
199
- *Data version: ${DATA_VERSION} | Demo (1/day limit)*`;
189
+ *Data version: ${DATA_VERSION}*`;
200
190
  return { text };
201
191
  }
202
192
  //# sourceMappingURL=recommend-demo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recommend-demo.js","sourceRoot":"","sources":["../../src/tools/recommend-demo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recommend-demo.js","sourceRoot":"","sources":["../../src/tools/recommend-demo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../../src/tools/recommend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsCxB;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAUpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BxC,CAAC;AAmEF;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,KAAK,EAAE,mBAAmB,GACxB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAkC9C"}
1
+ {"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../../src/tools/recommend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsCxB;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAUpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BxC,CAAC;AAmEF;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,KAAK,EAAE,mBAAmB,GACxB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAwC9C"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { scoreRequest } from '../utils/api-client.js';
3
- import { McpError, ErrorCode } from '../utils/errors.js';
3
+ import { McpError, ErrorCode, checkProAccess } from '../utils/errors.js';
4
4
  import { debug } from '../utils/logger.js';
5
5
  /**
6
6
  * Project types supported by the API.
@@ -51,7 +51,7 @@ export const RecommendStackInputSchema = z.object({
51
51
  */
52
52
  export const recommendStackToolDefinition = {
53
53
  name: 'recommend_stack',
54
- description: 'Recommends the best tech stack for a project using real-time scoring with context adjustments. Requires API key.',
54
+ description: 'Recommends the best tech stack for a project using real-time scoring with context adjustments.',
55
55
  inputSchema: {
56
56
  type: 'object',
57
57
  properties: {
@@ -121,6 +121,11 @@ ${JSON.stringify({ stacks, confidence: response.confidence?.level, appliedWeight
121
121
  * Execute recommend_stack tool.
122
122
  */
123
123
  export async function executeRecommendStack(input) {
124
+ // Check Pro access first
125
+ const tierCheck = await checkProAccess('recommend_stack', 'recommend_stack_demo');
126
+ if (tierCheck) {
127
+ return tierCheck;
128
+ }
124
129
  const { projectType, scale = 'mvp', priorities = [], constraints = [] } = input;
125
130
  // Deduplicate priorities
126
131
  const uniquePriorities = [...new Set(priorities)].slice(0, 3);
@@ -1 +1 @@
1
- {"version":3,"file":"recommend.js","sourceRoot":"","sources":["../../src/tools/recommend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recommend.js","sourceRoot":"","sources":["../../src/tools/recommend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Goals that users can have when using StacksFinder
4
+ */
5
+ export declare const WORKFLOW_GOALS: readonly ["discover", "setup_api_key", "get_recommendation", "audit_project", "migrate_stack", "install_mcp", "compare_techs", "create_blueprint"];
6
+ /**
7
+ * Client contexts for adapted snippets
8
+ */
9
+ export declare const WORKFLOW_CONTEXTS: readonly ["chatgpt", "claude", "cursor", "cli"];
10
+ /**
11
+ * User tiers
12
+ */
13
+ export declare const USER_TIERS: readonly ["free", "pro", "unknown"];
14
+ export type WorkflowGoal = (typeof WORKFLOW_GOALS)[number];
15
+ export type WorkflowContext = (typeof WORKFLOW_CONTEXTS)[number];
16
+ export type UserTier = (typeof USER_TIERS)[number];
17
+ /**
18
+ * Input schema for get_workflow_guide tool
19
+ */
20
+ export declare const GetWorkflowGuideInputSchema: z.ZodObject<{
21
+ current_goal: z.ZodOptional<z.ZodEnum<["discover", "setup_api_key", "get_recommendation", "audit_project", "migrate_stack", "install_mcp", "compare_techs", "create_blueprint"]>>;
22
+ completed_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
23
+ user_tier: z.ZodDefault<z.ZodOptional<z.ZodEnum<["free", "pro", "unknown"]>>>;
24
+ known_constraints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
25
+ context: z.ZodDefault<z.ZodOptional<z.ZodEnum<["chatgpt", "claude", "cursor", "cli"]>>>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ context: "cli" | "cursor" | "chatgpt" | "claude";
28
+ user_tier: "free" | "pro" | "unknown";
29
+ current_goal?: "compare_techs" | "create_blueprint" | "setup_api_key" | "discover" | "get_recommendation" | "audit_project" | "migrate_stack" | "install_mcp" | undefined;
30
+ completed_tools?: string[] | undefined;
31
+ known_constraints?: string[] | undefined;
32
+ }, {
33
+ context?: "cli" | "cursor" | "chatgpt" | "claude" | undefined;
34
+ current_goal?: "compare_techs" | "create_blueprint" | "setup_api_key" | "discover" | "get_recommendation" | "audit_project" | "migrate_stack" | "install_mcp" | undefined;
35
+ completed_tools?: string[] | undefined;
36
+ user_tier?: "free" | "pro" | "unknown" | undefined;
37
+ known_constraints?: string[] | undefined;
38
+ }>;
39
+ export type GetWorkflowGuideInput = z.infer<typeof GetWorkflowGuideInputSchema>;
40
+ /**
41
+ * Tool definition for MCP registration
42
+ */
43
+ export declare const getWorkflowGuideToolDefinition: {
44
+ name: string;
45
+ description: string;
46
+ inputSchema: {
47
+ type: "object";
48
+ properties: {
49
+ current_goal: {
50
+ type: string;
51
+ enum: string[];
52
+ description: string;
53
+ };
54
+ completed_tools: {
55
+ type: string;
56
+ items: {
57
+ type: string;
58
+ };
59
+ description: string;
60
+ };
61
+ user_tier: {
62
+ type: string;
63
+ enum: string[];
64
+ description: string;
65
+ };
66
+ known_constraints: {
67
+ type: string;
68
+ items: {
69
+ type: string;
70
+ };
71
+ description: string;
72
+ };
73
+ context: {
74
+ type: string;
75
+ enum: string[];
76
+ description: string;
77
+ };
78
+ };
79
+ };
80
+ };
81
+ /**
82
+ * Execute the workflow guide tool
83
+ */
84
+ export declare function executeGetWorkflowGuide(input: GetWorkflowGuideInput): {
85
+ text: string;
86
+ };
87
+ //# sourceMappingURL=workflow-guide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-guide.d.ts","sourceRoot":"","sources":["../../src/tools/workflow-guide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;GAEG;AACH,eAAO,MAAM,cAAc,oJASjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB,iDAAkD,CAAC;AAEjF;;GAEG;AACH,eAAO,MAAM,UAAU,qCAAsC,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;EAuBtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;sBAyBJ,MAAM,EAAE;;;;;;;;;;;;sBAUZ,MAAM,EAAE;;;;;;;;;;;;sBAUD,MAAM,EAAE;;;;;CAKjD,CAAC;AA6LF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CA6GtF"}