get_business_trends
Analyze recent startup trends and industry growth/decline patterns to identify emerging business opportunities and sector performance.
Instructions
최근 창업 트렌드와 업종별 성장/쇠퇴 현황을 분석합니다. 어떤 업종이 뜨고 있는지 알려드립니다.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | 지역 (선택, 예: 서울, 부산, 전국) | |
| category | No | 관심 업종 카테고리 (선택) | |
| period | No | 분석 기간, 기본값: 6개월 | 6months |
Implementation Reference
- src/tools/business-trends.ts:91-141 (handler)The core handler function implementing the get_business_trends tool logic. It processes inputs to generate business trends data including rising/declining sectors, insights, and recommendations using predefined data sources.export async function getBusinessTrends( region?: string, category?: string, _period?: "3months" | "6months" | "1year" ): Promise<ApiResult<BusinessTrends>> { try { // 지역별 인사이트 추가 let insights = [...TREND_DATA.insights]; if (region) { const normalizedRegion = Object.keys(REGIONAL_TRENDS).find((r) => region.includes(r) ); if (normalizedRegion) { insights = [ ...REGIONAL_TRENDS[normalizedRegion].map((t) => `[${normalizedRegion}] ${t}`), ...insights, ]; } } // 추천 메시지 생성 const recommendation = generateRecommendation(region, category); return { success: true, data: { period: TREND_DATA.period, region: region || "전국", rising: TREND_DATA.rising, declining: TREND_DATA.declining, insights, recommendation, }, meta: { source: "소상공인시장진흥공단 통계", timestamp: new Date().toISOString(), }, }; } catch (error) { console.error("트렌드 조회 실패:", error); return { success: false, error: { code: "TREND_FAILED", message: "트렌드 정보 조회 중 오류가 발생했습니다.", suggestion: "잠시 후 다시 시도해주세요.", }, }; } }
- src/types.ts:120-134 (schema)TypeScript interfaces defining the output structure for BusinessTrends and TrendingBusiness used by the tool.export interface TrendingBusiness { name: string; growthRate: number; count: number; } // 창업 트렌드 결과 export interface BusinessTrends { period: string; region: string; rising: TrendingBusiness[]; declining: TrendingBusiness[]; insights: string[]; recommendation: string; }
- src/index.ts:107-126 (registration)MCP server registration of the 'get_business_trends' tool, including name, description, Zod input schema, and wrapper handler that calls the core implementation.server.tool( "get_business_trends", "최근 창업 트렌드와 업종별 성장/쇠퇴 현황을 분석합니다. 어떤 업종이 뜨고 있는지 알려드립니다.", { region: z.string().optional().describe("지역 (선택, 예: 서울, 부산, 전국)"), category: z.string().optional().describe("관심 업종 카테고리 (선택)"), period: z .enum(["3months", "6months", "1year"]) .optional() .default("6months") .describe("분석 기간, 기본값: 6개월"), }, async ({ region, category, period }) => { const result = await getBusinessTrends(region, category, period); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], isError: !result.success, }; } );
- src/tools/business-trends.ts:47-64 (helper)Helper function to generate personalized recommendations based on category input, used within the main handler.function generateRecommendation( region?: string, category?: string ): string { if (category) { const rising = TREND_DATA.rising.find((t) => t.name.includes(category)); const declining = TREND_DATA.declining.find((t) => t.name.includes(category)); if (rising) { return `${category} 업종은 현재 성장세(+${rising.growthRate}%)입니다. 시장 진입에 좋은 시기입니다.`; } if (declining) { return `${category} 업종은 현재 하락세(${declining.growthRate}%)입니다. 진입 시 차별화 전략이 필수입니다.`; } } return "무인매장, 반려동물 서비스, 건강식 등 성장 업종을 고려해보세요. 일반 커피전문점, 치킨은 포화 상태입니다."; }