business-design-mcp 1.0.2 → 1.0.3

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.
@@ -12,6 +12,7 @@ export interface ParsedResearchResult {
12
12
  citations: Citation[];
13
13
  confidence: number;
14
14
  missingFields: string[];
15
+ warnings: string[];
15
16
  rawContent: string;
16
17
  }
17
18
  export declare function parseMarketSizingResearch(content: string, rawCitations: RawCitation[]): ParsedResearchResult;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/openai/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAmFD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CA4EtB;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CA4EtB;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAoEtB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAsCtB;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAmEtB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAwDtB;AAED,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAkDtB;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAyBtB"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/openai/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AA+JD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAyHtB;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAiItB;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAqEtB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAuCtB;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAoEtB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAyDtB;AAED,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAmDtB;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CA0BtB"}
@@ -1,7 +1,18 @@
1
1
  function generateCitationId() {
2
2
  return `cit-${Date.now()}-${Math.random().toString(36).substring(2, 7)}`;
3
3
  }
4
- function processCitations(rawCitations) {
4
+ // Map a citation to fields based on its position in content
5
+ function mapCitationToFields(citation, fieldSections) {
6
+ const relevantFields = [];
7
+ for (const [fieldName, range] of Object.entries(fieldSections)) {
8
+ // Citation falls within this section
9
+ if (citation.startIndex >= range.start && citation.startIndex < range.end) {
10
+ relevantFields.push(fieldName);
11
+ }
12
+ }
13
+ return relevantFields;
14
+ }
15
+ function processCitations(rawCitations, fieldSections) {
5
16
  const now = new Date().toISOString();
6
17
  const seen = new Set();
7
18
  return rawCitations
@@ -16,9 +27,40 @@ function processCitations(rawCitations) {
16
27
  title: c.title,
17
28
  url: c.url,
18
29
  accessedAt: now,
19
- relevantFields: [],
30
+ relevantFields: fieldSections ? mapCitationToFields(c, fieldSections) : [],
20
31
  }));
21
32
  }
33
+ // Extract section positions from content for citation mapping
34
+ function extractSectionPositions(content, sectionPatterns) {
35
+ const fieldSections = {};
36
+ const contentLength = content.length;
37
+ const positions = [];
38
+ for (const [fieldName, patternStr] of Object.entries(sectionPatterns)) {
39
+ const pattern = new RegExp(`##?\\s*(?:${patternStr})`, "i");
40
+ const match = content.match(pattern);
41
+ if (match && match.index !== undefined) {
42
+ positions.push({ field: fieldName, start: match.index });
43
+ }
44
+ }
45
+ // Sort by position
46
+ positions.sort((a, b) => a.start - b.start);
47
+ // Assign end positions (next section start or end of content)
48
+ for (let i = 0; i < positions.length; i++) {
49
+ const current = positions[i];
50
+ const nextStart = i + 1 < positions.length ? positions[i + 1].start : contentLength;
51
+ fieldSections[current.field] = { start: current.start, end: nextStart };
52
+ }
53
+ return fieldSections;
54
+ }
55
+ // Validation helpers for extracted data
56
+ function isReasonableMarketSize(value) {
57
+ // $1M to $100T is reasonable market size range
58
+ return value >= 1_000_000 && value <= 100_000_000_000_000;
59
+ }
60
+ function isReasonableGrowthRate(rate) {
61
+ // -50% to 500% is reasonable CAGR range
62
+ return rate >= -50 && rate <= 500;
63
+ }
22
64
  // Extract numerical values with units
23
65
  function extractNumber(text, patterns) {
24
66
  for (const pattern of patterns) {
@@ -68,8 +110,17 @@ function extractSection(text, sectionHeader) {
68
110
  return match && match[1] ? match[1].trim() : "";
69
111
  }
70
112
  export function parseMarketSizingResearch(content, rawCitations) {
71
- const citations = processCitations(rawCitations);
72
113
  const missingFields = [];
114
+ // Calculate section positions for citation mapping
115
+ const sectionPatterns = {
116
+ "tam": "TAM|Total Addressable Market",
117
+ "sam": "SAM|Serviceable Addressable Market",
118
+ "som": "SOM|Serviceable Obtainable Market",
119
+ "growthRate": "Growth|CAGR|Market Growth",
120
+ };
121
+ const fieldSections = extractSectionPositions(content, sectionPatterns);
122
+ // Process citations with section mapping
123
+ const citations = processCitations(rawCitations, fieldSections);
73
124
  // Currency patterns
74
125
  const currencyPatterns = [
75
126
  /\$\s*([\d,.]+)\s*(trillion|billion|million|t|b|m)?/i,
@@ -109,6 +160,35 @@ export function parseMarketSizingResearch(content, rawCitations) {
109
160
  confidence -= 10;
110
161
  if (citations.length === 0)
111
162
  confidence -= 20;
163
+ // Validation warnings
164
+ const warnings = [];
165
+ // Validate TAM >= SAM >= SOM relationship
166
+ if (tamValue && samValue && tamValue < samValue) {
167
+ warnings.push("Data inconsistency: TAM is smaller than SAM");
168
+ confidence -= 15;
169
+ }
170
+ if (samValue && somValue && samValue < somValue) {
171
+ warnings.push("Data inconsistency: SAM is smaller than SOM");
172
+ confidence -= 15;
173
+ }
174
+ // Validate market size reasonableness
175
+ if (tamValue && !isReasonableMarketSize(tamValue)) {
176
+ warnings.push(`TAM value ${tamValue} outside reasonable range ($1M - $100T)`);
177
+ confidence -= 10;
178
+ }
179
+ if (samValue && !isReasonableMarketSize(samValue)) {
180
+ warnings.push(`SAM value ${samValue} outside reasonable range ($1M - $100T)`);
181
+ confidence -= 10;
182
+ }
183
+ if (somValue && !isReasonableMarketSize(somValue)) {
184
+ warnings.push(`SOM value ${somValue} outside reasonable range ($1M - $100T)`);
185
+ confidence -= 10;
186
+ }
187
+ // Validate growth rate reasonableness
188
+ if (growthRate !== undefined && !isReasonableGrowthRate(growthRate)) {
189
+ warnings.push(`Growth rate ${growthRate}% outside reasonable range (-50% to 500%)`);
190
+ confidence -= 5;
191
+ }
112
192
  const data = {
113
193
  tam: {
114
194
  value: tamValue,
@@ -139,14 +219,44 @@ export function parseMarketSizingResearch(content, rawCitations) {
139
219
  citations,
140
220
  confidence: Math.max(0, confidence),
141
221
  missingFields,
222
+ warnings,
142
223
  rawContent: content,
143
224
  };
144
225
  }
145
226
  export function parseCompetitiveAnalysisResearch(content, rawCitations) {
146
- const citations = processCitations(rawCitations);
147
227
  const missingFields = [];
228
+ // Build section mapping for competitors and our position
229
+ // Find all competitor sections (## [Name] followed by ### Strengths/Weaknesses)
230
+ const fieldSections = {};
231
+ const competitorSectionPattern = /##\s+(?!Our\s+Position|Potential\s+Position|Summary|Overview|Market)([A-Za-z0-9\s&.-]+?)(?:\n)/gi;
232
+ let competitorIndex = 0;
233
+ let match;
234
+ while ((match = competitorSectionPattern.exec(content)) !== null) {
235
+ if (match.index !== undefined) {
236
+ const competitorName = match[1].trim();
237
+ // Find next ## section or end of content
238
+ const nextSectionMatch = content.slice(match.index + match[0].length).match(/\n##\s+/);
239
+ const endPos = nextSectionMatch
240
+ ? match.index + match[0].length + nextSectionMatch.index
241
+ : content.length;
242
+ fieldSections[`competitors[${competitorIndex}]`] = {
243
+ start: match.index,
244
+ end: endPos,
245
+ };
246
+ competitorIndex++;
247
+ }
248
+ }
249
+ // Add our position section
250
+ const ourPosMatch = content.match(/##\s*(?:Our\s+(?:Potential\s+)?Position)/i);
251
+ if (ourPosMatch && ourPosMatch.index !== undefined) {
252
+ fieldSections["ourPosition"] = {
253
+ start: ourPosMatch.index,
254
+ end: content.length,
255
+ };
256
+ }
257
+ // Process citations with section mapping
258
+ const citations = processCitations(rawCitations, fieldSections);
148
259
  // Extract competitor sections
149
- const competitorPattern = /##\s*(?:Competitor\s*\d+:?\s*)?([A-Za-z0-9\s]+?)(?:\n|$)/g;
150
260
  const competitors = [];
151
261
  // Simple extraction of competitor names and their strengths/weaknesses
152
262
  const sections = content.split(/##\s+/);
@@ -156,7 +266,7 @@ export function parseCompetitiveAnalysisResearch(content, rawCitations) {
156
266
  const lines = section.split("\n");
157
267
  const header = lines[0]?.trim();
158
268
  // Skip non-competitor sections
159
- if (/TAM|SAM|SOM|Market|Our Position|Summary|Overview/i.test(header || "")) {
269
+ if (/TAM|SAM|SOM|Market|Our Position|Potential Position|Summary|Overview/i.test(header || "")) {
160
270
  continue;
161
271
  }
162
272
  const sectionContent = section;
@@ -183,6 +293,21 @@ export function parseCompetitiveAnalysisResearch(content, rawCitations) {
183
293
  confidence -= 20;
184
294
  if (citations.length === 0)
185
295
  confidence -= 20;
296
+ // Validation warnings
297
+ const warnings = [];
298
+ // Warn if fewer than 3 competitors found
299
+ if (competitors.length > 0 && competitors.length < 3) {
300
+ warnings.push(`Only ${competitors.length} competitor(s) found; recommend at least 3 for thorough analysis`);
301
+ }
302
+ // Warn if any competitor has zero strengths or weaknesses
303
+ for (const competitor of competitors) {
304
+ if (competitor.strengths.length === 0) {
305
+ warnings.push(`Competitor "${competitor.name}" has no strengths identified`);
306
+ }
307
+ if (competitor.weaknesses.length === 0) {
308
+ warnings.push(`Competitor "${competitor.name}" has no weaknesses identified`);
309
+ }
310
+ }
186
311
  const data = {
187
312
  competitors: competitors.map((c) => ({
188
313
  name: c.name,
@@ -202,6 +327,7 @@ export function parseCompetitiveAnalysisResearch(content, rawCitations) {
202
327
  citations,
203
328
  confidence: Math.max(0, confidence),
204
329
  missingFields,
330
+ warnings,
205
331
  rawContent: content,
206
332
  };
207
333
  }
@@ -259,6 +385,7 @@ export function parseUserPersonaResearch(content, rawCitations) {
259
385
  citations,
260
386
  confidence: Math.max(0, confidence),
261
387
  missingFields,
388
+ warnings: [],
262
389
  rawContent: content,
263
390
  };
264
391
  }
@@ -297,6 +424,7 @@ export function parseSwotAnalysisResearch(content, rawCitations) {
297
424
  citations,
298
425
  confidence: Math.max(0, confidence),
299
426
  missingFields,
427
+ warnings: [],
300
428
  rawContent: content,
301
429
  };
302
430
  }
@@ -343,6 +471,7 @@ export function parseBusinessModelCanvasResearch(content, rawCitations) {
343
471
  citations,
344
472
  confidence: Math.max(0, confidence),
345
473
  missingFields,
474
+ warnings: [],
346
475
  rawContent: content,
347
476
  };
348
477
  }
@@ -387,6 +516,7 @@ export function parseLeanCanvasResearch(content, rawCitations) {
387
516
  citations,
388
517
  confidence: Math.max(0, confidence),
389
518
  missingFields,
519
+ warnings: [],
390
520
  rawContent: content,
391
521
  };
392
522
  }
@@ -427,6 +557,7 @@ export function parseValuePropositionCanvasResearch(content, rawCitations) {
427
557
  citations,
428
558
  confidence: Math.max(0, confidence),
429
559
  missingFields,
560
+ warnings: [],
430
561
  rawContent: content,
431
562
  };
432
563
  }
@@ -452,6 +583,7 @@ export function parseResearchResult(framework, content, rawCitations) {
452
583
  citations: processCitations(rawCitations),
453
584
  confidence: 0,
454
585
  missingFields: ["unknown-framework"],
586
+ warnings: [],
455
587
  rawContent: content,
456
588
  };
457
589
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/openai/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/openai/parser.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,6 @@ export interface ResearchContext {
7
7
  competitors?: string[];
8
8
  }
9
9
  export type FrameworkType = "market-sizing" | "competitive-analysis" | "user-persona" | "swot-analysis" | "business-model-canvas" | "lean-canvas" | "value-proposition-canvas";
10
- export declare const SYSTEM_PROMPT = "You are an expert business analyst and market researcher. Your task is to provide accurate, data-driven insights with proper citations.\n\nGuidelines:\n- Always cite sources for numerical data and statistics\n- Use recent data (prefer sources from the last 2 years)\n- Be specific with numbers (avoid vague terms like \"large\" or \"significant\")\n- Acknowledge uncertainty when data is limited\n- Structure your response clearly with headers and bullet points";
10
+ export declare const SYSTEM_PROMPT = "You are an expert business analyst and market researcher. Your task is to provide accurate, data-driven insights with proper citations.\n\n## Guidelines\n- Always cite sources for numerical data and statistics\n- Use recent data (prefer sources from the last 2 years)\n- Be specific with numbers (avoid vague terms like \"large\" or \"significant\")\n- Acknowledge uncertainty when data is limited\n\n## Structured Output Requirements\n- Use markdown with consistent headers: ## for main sections, ### for subsections\n- Cite data inline: \"[Source Title](URL)\" immediately after each data point\n- Always include explicit numeric values with units (e.g., \"$4.5 billion\" not \"large market\")\n- For percentages, use \"X.X%\" format (e.g., \"12.5%\" not \"around 12 percent\")\n- Each data point should have its source URL on the same line\n\n## Citation Format\nWhen providing numerical data, use this format:\n\"The market is valued at $X.X billion [Source Name](URL)\"\n\"Growth rate is X.X% CAGR [Source Name](URL)\"\n\nCite each data point with its source URL for traceability.";
11
11
  export declare function generateResearchPrompt(framework: FrameworkType, context: ResearchContext): string;
12
12
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/openai/prompts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,sBAAsB,GACtB,cAAc,GACd,eAAe,GACf,uBAAuB,GACvB,aAAa,GACb,0BAA0B,CAAC;AAE/B,eAAO,MAAM,aAAa,kdAOuC,CAAC;AAElE,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,eAAe,GACvB,MAAM,CAoVR"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/openai/prompts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,sBAAsB,GACtB,cAAc,GACd,eAAe,GACf,uBAAuB,GACvB,aAAa,GACb,0BAA0B,CAAC;AAE/B,eAAO,MAAM,aAAa,kkCAoBiC,CAAC;AAE5D,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,eAAe,GACvB,MAAM,CAuVR"}
@@ -1,11 +1,24 @@
1
1
  export const SYSTEM_PROMPT = `You are an expert business analyst and market researcher. Your task is to provide accurate, data-driven insights with proper citations.
2
2
 
3
- Guidelines:
3
+ ## Guidelines
4
4
  - Always cite sources for numerical data and statistics
5
5
  - Use recent data (prefer sources from the last 2 years)
6
6
  - Be specific with numbers (avoid vague terms like "large" or "significant")
7
7
  - Acknowledge uncertainty when data is limited
8
- - Structure your response clearly with headers and bullet points`;
8
+
9
+ ## Structured Output Requirements
10
+ - Use markdown with consistent headers: ## for main sections, ### for subsections
11
+ - Cite data inline: "[Source Title](URL)" immediately after each data point
12
+ - Always include explicit numeric values with units (e.g., "$4.5 billion" not "large market")
13
+ - For percentages, use "X.X%" format (e.g., "12.5%" not "around 12 percent")
14
+ - Each data point should have its source URL on the same line
15
+
16
+ ## Citation Format
17
+ When providing numerical data, use this format:
18
+ "The market is valued at $X.X billion [Source Name](URL)"
19
+ "Growth rate is X.X% CAGR [Source Name](URL)"
20
+
21
+ Cite each data point with its source URL for traceability.`;
9
22
  export function generateResearchPrompt(framework, context) {
10
23
  const prompts = {
11
24
  "market-sizing": (ctx) => `
@@ -14,33 +27,33 @@ Research the market for: ${ctx.businessDescription}
14
27
  Industry: ${ctx.industry || "Not specified - please identify"}
15
28
  Geography: ${ctx.geography || "Global"}
16
29
 
17
- Provide a comprehensive market sizing analysis:
30
+ Provide a comprehensive market sizing analysis with exact figures.
18
31
 
19
32
  ## TAM (Total Addressable Market)
20
- - Total market size in USD (annual revenue)
33
+ **Format:** TAM: $X.X billion (Source: [Name](URL))
34
+ - Total market size in USD (annual revenue) with source citation on same line
21
35
  - Calculation methodology (top-down or bottom-up)
22
- - Data sources with publication dates
23
36
  - Key assumptions
24
37
 
25
38
  ## SAM (Serviceable Addressable Market)
39
+ **Format:** SAM: $X.X billion (Source: [Name](URL))
26
40
  - Target segments that can realistically be served
27
41
  - Geographic or demographic constraints
28
- - Estimated market size for target segments
29
42
  - Percentage of TAM
30
43
 
31
44
  ## SOM (Serviceable Obtainable Market)
45
+ **Format:** SOM: $X.X million (Source: [Name](URL))
32
46
  - Realistic market share achievable in 3-5 years
33
47
  - Based on competitive landscape analysis
34
- - Capture strategy considerations
35
48
  - Percentage of SAM
36
49
 
37
50
  ## Market Growth
38
- - CAGR (Compound Annual Growth Rate)
51
+ **Format:** CAGR: X.X% (Source: [Name](URL))
39
52
  - Key growth drivers
40
53
  - Market trends affecting growth
41
54
  - Growth projections for next 5 years
42
55
 
43
- Provide specific numbers with sources. Format currency in USD.
56
+ Cite each data point with its source URL. Use explicit numbers (not "large" or "significant").
44
57
  `,
45
58
  "competitive-analysis": (ctx) => `
46
59
  Research competitors for: ${ctx.businessDescription}
@@ -48,44 +61,47 @@ Research competitors for: ${ctx.businessDescription}
48
61
  Industry: ${ctx.industry || "Not specified - please identify"}
49
62
  Known competitors to include: ${ctx.competitors?.join(", ") || "Research and identify top competitors"}
50
63
 
51
- Analyze 5-10 major competitors. For each provide:
64
+ Analyze 5-10 major competitors. Use exactly this structure for each competitor:
65
+
66
+ ## [Competitor Name]
52
67
 
53
- ## Competitor Profile
54
- - Company name
55
- - Website URL
56
- - Brief description (1-2 sentences)
57
- - Founded year
58
- - Funding status/amount (if startup)
59
- - Employee count estimate
68
+ Brief description (1-2 sentences). Website: [URL]
60
69
 
61
- ## Strengths (3-5 each)
62
- - What they do well
63
- - Competitive advantages
70
+ ### Strengths
71
+ - [Strength 1]
72
+ - [Strength 2]
73
+ - [Strength 3]
64
74
 
65
- ## Weaknesses (3-5 each)
66
- - Areas of weakness
67
- - Customer complaints
75
+ ### Weaknesses
76
+ - [Weakness 1]
77
+ - [Weakness 2]
78
+ - [Weakness 3]
68
79
 
69
- ## Pricing
70
- - Pricing model (subscription, usage-based, etc.)
71
- - Price range or tiers
72
- - Free tier availability
80
+ ### Pricing
81
+ - Pricing model: [subscription/usage-based/etc.]
82
+ - Price range: [$X-$Y/month or similar]
73
83
 
74
- ## Market Position
75
- - Estimated market share (if available)
76
- - Primary target audience
77
- - Geographic focus
84
+ ### Market Position
85
+ - Estimated market share: X% [Source](URL) (if available)
86
+ - Target audience: [description]
78
87
 
79
- ## Key Features
80
- - Core product features
81
- - Unique differentiators
88
+ ---
82
89
 
83
- After analyzing competitors, provide:
90
+ Repeat ## [Competitor Name] section for each competitor.
91
+
92
+ After all competitors, provide:
84
93
 
85
94
  ## Our Potential Position
86
- - Key differentiators we could leverage
87
- - Gaps in the market
88
- - Opportunities to exploit
95
+ ### Differentiators
96
+ - [What we could do better]
97
+
98
+ ### Gaps
99
+ - [Unserved needs in market]
100
+
101
+ ### Opportunities
102
+ - [Specific opportunities to pursue]
103
+
104
+ Cite each data point with its source URL.
89
105
  `,
90
106
  "user-persona": (ctx) => `
91
107
  Research target customers for: ${ctx.businessDescription}
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/openai/prompts.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;iEAOoC,CAAC;AAElE,MAAM,UAAU,sBAAsB,CACpC,SAAwB,EACxB,OAAwB;IAExB,MAAM,OAAO,GAA4D;QACvE,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;2BACH,GAAG,CAAC,mBAAmB;;YAEtC,GAAG,CAAC,QAAQ,IAAI,iCAAiC;aAChD,GAAG,CAAC,SAAS,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BrC;QAEG,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;4BACT,GAAG,CAAC,mBAAmB;;YAEvC,GAAG,CAAC,QAAQ,IAAI,iCAAiC;gCAC7B,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCrG;QAEG,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;iCACI,GAAG,CAAC,mBAAmB;;mBAErC,GAAG,CAAC,eAAe,IAAI,oCAAoC;YAClE,GAAG,CAAC,QAAQ,IAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC1C;QAEG,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;iDACmB,GAAG,CAAC,mBAAmB;;YAE5D,GAAG,CAAC,QAAQ,IAAI,iCAAiC;aAChD,GAAG,CAAC,SAAS,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BrC;QAEG,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;oDACc,GAAG,CAAC,mBAAmB;;YAE/D,GAAG,CAAC,QAAQ,IAAI,iCAAiC;oBACzC,GAAG,CAAC,eAAe,IAAI,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDrE;QAEG,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;8BACE,GAAG,CAAC,mBAAmB;;YAEzC,GAAG,CAAC,QAAQ,IAAI,iCAAiC;mBAC1C,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDjE;QAEG,0BAA0B,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;0DACiB,GAAG,CAAC,mBAAmB;;oBAE7D,GAAG,CAAC,eAAe,IAAI,2BAA2B;YAC1D,GAAG,CAAC,QAAQ,IAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwD1C;KACE,CAAC;IAEF,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/openai/prompts.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;2DAoB8B,CAAC;AAE5D,MAAM,UAAU,sBAAsB,CACpC,SAAwB,EACxB,OAAwB;IAExB,MAAM,OAAO,GAA4D;QACvE,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;2BACH,GAAG,CAAC,mBAAmB;;YAEtC,GAAG,CAAC,QAAQ,IAAI,iCAAiC;aAChD,GAAG,CAAC,SAAS,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BrC;QAEG,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;4BACT,GAAG,CAAC,mBAAmB;;YAEvC,GAAG,CAAC,QAAQ,IAAI,iCAAiC;gCAC7B,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CrG;QAEG,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;iCACI,GAAG,CAAC,mBAAmB;;mBAErC,GAAG,CAAC,eAAe,IAAI,oCAAoC;YAClE,GAAG,CAAC,QAAQ,IAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC1C;QAEG,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;iDACmB,GAAG,CAAC,mBAAmB;;YAE5D,GAAG,CAAC,QAAQ,IAAI,iCAAiC;aAChD,GAAG,CAAC,SAAS,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BrC;QAEG,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;oDACc,GAAG,CAAC,mBAAmB;;YAE/D,GAAG,CAAC,QAAQ,IAAI,iCAAiC;oBACzC,GAAG,CAAC,eAAe,IAAI,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDrE;QAEG,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;8BACE,GAAG,CAAC,mBAAmB;;YAEzC,GAAG,CAAC,QAAQ,IAAI,iCAAiC;mBAC1C,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDjE;QAEG,0BAA0B,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;0DACiB,GAAG,CAAC,mBAAmB;;oBAE7D,GAAG,CAAC,eAAe,IAAI,2BAA2B;YAC1D,GAAG,CAAC,QAAQ,IAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwD1C;KACE,CAAC;IAEF,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "business-design-mcp",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "MCP server for business and project design frameworks",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",