Skip to main content
Glama
re171113-byte

Startup Helper MCP

recommend_policy_funds

Recommends government and local policy funds for startups based on business type, stage, and region to access loans, subsidies, and mentoring programs.

Instructions

창업자 조건에 맞는 정부/지자체 정책지원금을 추천합니다. 융자, 보조금, 멘토링 프로그램 등을 안내합니다.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
business_typeYes창업 업종 (예: 카페, 음식점, IT서비스)
stageYes창업 단계
regionYes창업 지역 (예: 서울, 경기 성남, 부산)
founder_typeNo창업자 유형
founder_ageNo창업자 나이

Implementation Reference

  • Main handler function implementing the recommend_policy_funds tool logic: matches policy funds to user criteria using helpers, generates tips, and formats ApiResult response.
    export async function recommendPolicyFunds(
      businessType: string,
      stage: "예비창업" | "초기창업" | "운영중" | "재창업",
      region: string,
      founderType?: "청년" | "중장년" | "여성" | "장애인" | "일반",
      founderAge?: number
    ): Promise<ApiResult<PolicyFundRecommendation>> {
      try {
        // 조건에 맞는 지원금 매칭
        const matchedFunds = matchFunds(
          businessType,
          stage,
          region,
          founderType,
          founderAge
        );
    
        // 추천 팁 생성
        const tip = generateTip(matchedFunds, stage, founderType);
    
        return {
          success: true,
          data: {
            userProfile: {
              businessType,
              stage,
              region,
              founderType,
            },
            matchedFunds,
            totalCount: matchedFunds.length,
            tip,
          },
          meta: {
            source: DATA_SOURCES.bizinfoApi,
            timestamp: new Date().toISOString(),
          },
        };
      } catch (error) {
        console.error("정책지원금 추천 실패:", error);
    
        return {
          success: false,
          error: {
            code: "POLICY_FUND_FAILED",
            message: `정책지원금 조회 중 오류가 발생했습니다.`,
            suggestion: "기업마당(bizinfo.go.kr)에서 직접 검색해보세요.",
          },
        };
      }
    }
  • src/index.ts:61-87 (registration)
    MCP server.tool registration for 'recommend_policy_funds', including description, Zod input schema, and wrapper that calls the handler.
    server.tool(
      "recommend_policy_funds",
      "창업자 조건에 맞는 정부/지자체 정책지원금을 추천합니다. 융자, 보조금, 멘토링 프로그램 등을 안내합니다.",
      {
        business_type: z.string().describe("창업 업종 (예: 카페, 음식점, IT서비스)"),
        stage: z.enum(["예비창업", "초기창업", "운영중", "재창업"]).describe("창업 단계"),
        region: z.string().describe("창업 지역 (예: 서울, 경기 성남, 부산)"),
        founder_type: z
          .enum(["청년", "중장년", "여성", "장애인", "일반"])
          .optional()
          .describe("창업자 유형"),
        founder_age: z.number().optional().describe("창업자 나이"),
      },
      async ({ business_type, stage, region, founder_type, founder_age }) => {
        const result = await recommendPolicyFunds(
          business_type,
          stage,
          region,
          founder_type,
          founder_age
        );
        return {
          content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
          isError: !result.success,
        };
      }
    );
  • TypeScript interfaces defining the PolicyFund and PolicyFundRecommendation structures used for input/output schema of the tool.
    export interface PolicyFund {
      id: string;
      name: string;
      organization: string;
      amount: string;
      type: "융자" | "보조금" | "멘토링" | "교육" | "복합";
      deadline?: string;
      requirements: string[];
      applyUrl: string;
      description?: string;
    }
    
    // 정책지원금 추천 결과
    export interface PolicyFundRecommendation {
      userProfile: {
        businessType: string;
        stage: string;
        region: string;
        founderType?: string;
      };
      matchedFunds: PolicyFund[];
      totalCount: number;
      tip: string;
    }
  • Helper function that filters the POLICY_FUNDS_DB based on business type, stage, region, founder type, and age.
    function matchFunds(
      businessType: string,
      stage: string,
      region: string,
      founderType?: string,
      founderAge?: number
    ): PolicyFund[] {
      return POLICY_FUNDS_DB.filter((fund) => {
        // 청년 조건 체크
        if (fund.requirements.some((r) => r.includes("39세 이하"))) {
          if (founderAge && founderAge > 39) return false;
          if (founderType && !["청년", "일반"].includes(founderType)) {
            // 청년이 아니면 제외할 수 있지만, 나이 정보 없으면 포함
            if (founderType === "중장년") return false;
          }
        }
    
        // 중장년 조건 체크
        if (fund.requirements.some((r) => r.includes("40세 이상"))) {
          if (founderAge && founderAge < 40) return false;
          if (founderType === "청년") return false;
        }
    
        // 여성 조건 체크
        if (fund.requirements.some((r) => r.includes("여성"))) {
          if (founderType && founderType !== "여성") return false;
        }
    
        // 지역 조건 체크
        if (fund.requirements.some((r) => r.includes("서울"))) {
          if (region && !region.includes("서울")) return false;
        }
    
        // 폐업자 조건 체크
        if (fund.requirements.some((r) => r.includes("폐업"))) {
          if (stage !== "재창업") return false;
        }
    
        return true;
      });
    }
  • Helper function that generates contextual tips based on matched funds, stage, and founder type.
    function generateTip(
      matchedFunds: PolicyFund[],
      stage: string,
      founderType?: string
    ): string {
      if (matchedFunds.length === 0) {
        return "현재 조건에 맞는 지원사업이 없습니다. 조건을 변경하거나 기업마당(bizinfo.go.kr)에서 직접 검색해보세요.";
      }
    
      const hasMentoring = matchedFunds.some((f) => f.type === "복합" || f.type === "멘토링");
      const hasGrant = matchedFunds.some((f) => f.type === "보조금");
      const hasLoan = matchedFunds.some((f) => f.type === "융자");
    
      if (stage === "예비창업" && hasMentoring) {
        return "예비창업자는 멘토링이 포함된 프로그램(창업사관학교 등)을 추천드립니다. 창업 성공률을 높일 수 있습니다.";
      }
    
      if (hasGrant && hasLoan) {
        return "보조금은 상환 의무가 없어 유리하지만 경쟁률이 높습니다. 융자와 보조금을 함께 준비하세요.";
      }
    
      if (founderType === "청년") {
        return "청년 대상 지원사업이 많습니다. 여러 개를 동시에 신청하면 선정 확률이 높아집니다.";
      }
    
      return "신청 기한을 확인하고 서류를 미리 준비하세요. 사업계획서 작성이 가장 중요합니다.";
    }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/re171113-byte/startup-helper-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server