μ λΆμ§μμ¬μ ν΅ν© MCP μλ² β PRD v1.3 (MCP-GOV-001)
Claude Desktop Β· Cursor λ± MCP νΈν ν΄λΌμ΄μΈνΈμμ μμ°μ΄ νλλ‘
μ λΆμ§μμ¬μ
νμ β μ격 νμ β μ μ² μ€λΉ β μν κ΄λ¦¬ μ λ¨κ³λ₯Ό μλνν©λλ€.
- νλ‘μ νΈ κ°μ
- ꡬνλ Tool μ 체 λͺ©λ‘
- μ¬μ© μλ리μ€
- μν€ν μ²
- νμ API λ° ν€ μ μ²
- μ€μΉ λ° λΉλ
- Cursorμ MCP λ±λ‘
- Claude Desktopμ MCP λ±λ‘
- κ°λ° λͺ λ Ήμ΄
- νλ‘μ νΈ κ΅¬μ‘°
- κ°λ° λ‘λλ§΅
μ λΆμ§μμ¬μ
μ μ°κ° μμ² κ±΄μ΄ κ°λ³ λΆμ²Β·μ§μ체·곡곡기κ΄μ ν΅ν΄ λΆμ° κ³΅κ³ λ©λλ€.
μ€μκΈ°μ
Β·λ³μ μ΄λ¬΄νμ΄ μ΄λ₯Ό μμμ
μΌλ‘ λͺ¨λν°λ§νκ³ , μ격μ νμΈνλ©°, μλ₯λ₯Ό μ€λΉνλ λ° λ§μ μκ°μ΄ μμλ©λλ€.
λ³Έ MCP μλ²λ κΈ°μ λ§λΉ(bizinfo) Β· K-Startup Β· μ€μλ²€μ²24 κ³΅κ° APIλ₯Ό νλλ‘ λ¬Άμ΄, μμ°μ΄λ§μΌλ‘ λ€μ νλ¦μ μ²λ¦¬ν©λλ€.
- μ°λ¦¬ μ‘°μ§μ λ§λ μ§μμ¬μ ν΅ν© νμ (μ€λ³΅ μλ μ κ±°)
- μ격쑰건 λΆμ λ° κ²ν ν¬μΈνΈ μ 리
- νμ μλ₯Β·μ€λΉ μΌμ Β·μ¬μ κ³νμ μ΄μ μλ μμ±
- κΈ°μ‘΄ μν μ΄λ ₯, μ§μΆ λ΄μ, μ μ° λ³΄κ³ μ κ΄λ¦¬
| νλͺ© | λ΄μ© |
|---|---|
| λ¬Έμ λ²νΈ | MCP-GOV-001 v1.3 |
| μλ² λ²μ | v1.0.0 |
| κΈ°μ μ€ν | TypeScript 5.x Β· @modelcontextprotocol/sdk Β· Node.js 20 LTS Β· pnpm |
| μ£Όμ μ¬μ©μ | μ΄λ¬΄ν Β· κ²½μμ§μν Β· λνμ (μ€μκΈ°μ / λ³μ / μ€ννΈμ ) |
| ꡬνλ Tool | 12κ° (PRD μ 체 μμ±) |
| Tool | μ€λͺ | μν |
|---|---|---|
searchGovernmentSupport |
κΈ°μ
λ§λΉΒ·K-StartupΒ·μ€μλ²€μ²24 λ³λ ¬ ν΅ν© κ²μ + Jaccard dedup ν€μλΒ·λΆμΌΒ·μ§μΒ·μμ€ νν° μ§μ |
β |
compareByRegion |
μ΅λ 8κ° μ§μμ κ³΅κ³ μΒ·λΆμΌ λΆν¬ λΉκ΅ν λ°ν | β |
checkEligibility |
κ³΅κ³ ν
μ€νΈ + νμ¬ νλ‘νμΌ κΈ°λ° μ격 νμ likely_eligible / review_needed / likely_ineligible + μ‘°κ±΄λ³ μΆ©μ‘± μ¬λΆ |
β |
| Tool | μ€λͺ | μν |
|---|---|---|
generateDocumentChecklist |
κ³΅κ³ ν
μ€νΈμμ μλ₯ μΆμΆ + νμ€ μλ₯ DB(15μ’
) λ§€μΉ λ°κΈκΈ°κ΄Β·μμμΌμΒ·μμ§ κΈ°ν ν¬ν¨ |
β |
buildApplicationTimeline |
λ§κ°μΌ μμ° 9λ¨κ³ νμλΌμΈ μλ₯μμ§ β κ³νμ β λ΄λΆκ²ν β μ μΆ β μ¬μ¬κ²°κ³Ό β νμ½ |
β |
draftBusinessPlan |
κ³΅κ³ +νμ¬ μ 보 κΈ°λ° 6μΉμ
μ¬μ
κ³νμ ꡬ쑰 μ΄μ νκ° κΈ°μ€ ννΈΒ·λ―ΈκΈ°μ νλͺ© λͺ©λ‘ ν¬ν¨ |
β |
| Tool | μ€λͺ | μν |
|---|---|---|
manageAlertProfile |
μλ¦Ό νλ‘νμΌ CRUD (ν€μλΒ·λΆμΌΒ·μ§μΒ·λμ 쑰건 μ μ₯)list / get / create / update / delete |
β |
manageBenefitHistory |
μν μ΄λ ₯ CRUD + μ§μΆ μΆκ° + λ§μΌμ€ν€ κΈ°λ‘ μ§νλ₯ Β·μμ‘ μλ κ³μ° |
β |
draftSettlementReport |
μν μ΄λ ₯ κΈ°λ° μ μ° λ³΄κ³ μ μ΄μ λΉλͺ©λ³ μ§ν νν©Β·μ²¨λΆ μλ₯ λͺ©λ‘ ν¬ν¨ |
β |
| Tool | λ°μ΄ν° | μν |
|---|---|---|
search_gov_support_bizinfo |
κΈ°μ λ§λΉ(bizinfo.go.kr) β 1,285건+ | β |
search_gov_support_kstartup |
K-Startup(k-startup.go.kr) β 28,302건+ | β |
search_gov_support_smes24 |
μ€μλ²€μ²24(smes.go.kr) | β
ν€ λ°κΈ μλ£ Β· |
iοΈ μ€μλ²€μ²24 IP νμ© μλ΄
API ν€ λ°κΈμ μλ£λ μνμ λλ€.
smes.go.kr Open APIλ μ¬μ λ±λ‘λ μλ² IPμμλ§ μλ΅νλ―λ‘ λ‘컬(κ°λ° PC) νκ²½μμλ νμμμμ΄ λ°μν©λλ€.
μλ²(AWS Β· Render λ±) λ°°ν¬ ν κ³ μ IPλ₯Ό μ€μλ²€μ²24 μ΄μν(044-300-0990)μ λ±λ‘νλ©΄ μ μ μλν©λλ€.
μλ λ¬Έμ₯μ Claude Desktop λλ Cursor μ±ν μ κ·Έλλ‘ μ λ ₯νλ©΄ Toolμ΄ μλ νΈμΆλ©λλ€.
μ°λ¦¬ λ³μ μ 보μΌ.
- μμΈ μμ¬ λ΄κ³ΌΒ·μΈκ³Ό 2μ°¨ λ³μ, λ³μ 150κ°, μλ£μΈλ ₯ 80λͺ
- λ²μΈλ³μ, μ€λ¦½ 12λ
μ°¨, μ°λ§€μΆ 120μ΅
- μ¬ν΄ μ κ· κ°νΈμ¬ 10λͺ
μ±μ© κ³ν
1. searchGovernmentSupportλ‘ μΈλ ₯Β·κ²½μ λΆμΌ μ€λ³΅ μμ΄ ν΅ν© μ‘°νν΄μ€
2. κ° κ³΅κ³ λ§λ€ μ°λ¦¬ λ³μμ΄ μ격λλμ§ checkEligibilityλ‘ νμ ν΄μ€
3. μ격 λ κ² κ°μ κ² μ€ λ§κ° μλ°ν TOP 3 μΆλ €μ€
4. TOP 3 κ°κ° μλ₯ 체ν¬λ¦¬μ€νΈλ νμλΌμΈλ λ½μμ€
AI ν¬μ€μΌμ΄ μ€ννΈμ
, 2023λ
μ°½μ
, μ§μ 12λͺ
, μμΈ, λ§€μΆ 3μ΅.
1. compareByRegionμΌλ‘ μμΈΒ·κ²½κΈ°Β·μ κ΅ μ°½μ
μ§μμ¬μ
νν© λΉκ΅ν΄μ€
2. μμΈμ΄ λ λ§μΌλ©΄ μμΈ κΈ°μ€ μ°½μ
λΆμΌ κ³΅κ³ μμ 10κ° λ³΄μ¬μ€
3. μ΄ μ‘°κ±΄(μ°½μ
Β·κΈ°μ λΆμΌ, AI ν€μλ, μμΈΒ·μ κ΅)μΌλ‘ μλ¦Ό νλ‘νμΌ μ μ₯ν΄μ€
4. κ°μ₯ μ λ§ν κ³΅κ³ 1κ° μ¬μ
κ³νμ μ΄μλ μ‘μμ€
(μ ν: AI κΈ°λ° μ격 μλ£ μλ΄ νλ«νΌ, λͺ©ν μμ₯: μ€μλ³μ)
κ²½κΈ°λ μμ° κΈμ κ°κ³΅ μ μ‘°μ
, μ§μ 45λͺ
, μ°λ§€μΆ 80μ΅.
μμΆ 30%(μΌλ³ΈΒ·λλ¨μ), μ°κ΅¬μ λ΄λΆμΒ·ISO9001 보μ .
μ¬μ
μλ²νΈ: 123-45-67890
1. μμΆΒ·κΈ°μ λΆμΌ ν΅ν© κ²μν΄μ μ§μκΈ ν΄ κ² κ°μ κ³΅κ³ 5κ° μ°Ύμμ€
2. κ° κ³΅κ³ μ격 체ν¬νκ³ μ μ² κ°λ₯ν κ²λ§ λ¨κ²¨μ€
3. κ°μ₯ μ’μ κ³΅κ³ 1κ° κ³¨λΌμ:
- μλ₯ 체ν¬λ¦¬μ€νΈ λ½μμ€ (λ§κ°μΌ 20260530)
- μμ° νμλΌμΈ λ§λ€μ΄μ€
- μ¬μ
κ³νμ μ΄μ μ‘μμ€
4. μ΄ νμ¬ νλ‘νμΌμ μ μ₯ν΄λ¬
μ€λ§νΈν©ν 리 μ¬μ
μ μ μ λ°μμ΄.
- κ³΅κ³ : 2026λ
μ€μκΈ°μ
μ€λ§νΈμ μ‘° νμ μ§μμ¬μ
- κΈ°κ΄: μ€μλ²€μ²κΈ°μ
λΆ
- μΉμΈκΈμ‘: 5000λ§μ, μ¬μ
κΈ°κ°: 2026εΉ΄03ζ01ζ₯ ~ 2026εΉ΄12ζ31ζ₯
1. μν μ΄λ ₯ λ±λ‘ν΄μ€ (μ¬μ
μλ²νΈ: 123-45-67890, νμ¬λͺ
: μμ°μ λ°μ μ‘°)
2. μ§μΆ λ΄μ μΆκ°ν΄μ€:
- μΈκ±΄λΉ 1,200λ§μ (2026εΉ΄04ζ30ζ₯, κΉOO μΈ 2λͺ
μΈκ±΄λΉ)
- μ₯λΉκ΅¬λ§€ 800λ§μ (2026εΉ΄04ζ15ζ₯, λΉμ κ²μ¬ μΉ΄λ©λΌ ꡬ맀)
3. νμ¬ μ§νλ₯ μ΄λ μμ‘ νμΈν΄μ€
4. μλ°κΈ° μ μ° λ³΄κ³ μ μ΄μ λ§λ€μ΄μ€ (2026εΉ΄03ζ01ζ₯ ~ 2026εΉ΄06ζ30ζ₯)
ν΄μ§ ν μΉνκ²½ μμ¬ B2B μ€ννΈμ
μ€λΉ μ€. λ²μΈ λ―Έμ€λ¦½, νΉν 1건 보μ .
μμΈ κ±°μ£Ό, 40λ μ€λ°, μ΄κΈ° μκΈ 5μ²λ§μ.
1. K-Startup μλΉμ°½μ
μ λμ κ³΅κ³ + κΈ°μ
λ§λΉ μ°½μ
λΆμΌ ν΅ν© μ‘°νν΄μ€
2. λ²μΈ μ€λ¦½ μ μ μ² κ°λ₯ κ³΅κ³ , νΉν μ°λ κ³΅κ³ κ°κ° νμν΄μ€
3. μ§μκΈ νν(보쑰κΈ/μ΅μ/곡κ°/κ΅μ‘)λ³λ‘ λΆλ₯ν΄μ€
4. κ΄μ¬ κ³΅κ³ μ€ λ§κ° κ°μ₯ λΉ λ₯Έ κ² κ³¨λΌμ νμλΌμΈ μ§μ€
5. μ΄ μ‘°κ±΄μΌλ‘ μ κΈ° μλ¦Ό νλ‘νμΌ μ μ₯ν΄μ€
IT μλΉμ€μ
, μμΈ, μ§μ 200λͺ
, μ½μ€λ₯ μμ₯.
1. μ΄λ² λ¬ λ§κ° κ³΅κ³ ν΅ν© μ‘°νν΄μ μλ νμ νλ‘ μ 리ν΄μ€:
| κ³΅κ³ λͺ
| μ§μκΈ°κ΄ | μ§μκΈμ‘ | λ§κ°μΌ | μ격μ건 ν΅μ¬ | κΆμ₯ μ¬λΆ |
2. "μμ₯μ¬ μ μΈ" λλ "μ€μκΈ°μ
λ§" 쑰건 κ³΅κ³ μ μΈν΄μ€
3. μμΈΒ·κ²½κΈ°Β·μ κ΅ κ³΅κ³ νν© μ§μ λΉκ΅λ μΆκ°ν΄μ€
4. μ μ² κΆμ₯ TOP 3 μμ½ + κ°κ° μλ₯ 체ν¬λ¦¬μ€νΈ 첨λΆν΄μ€
Claude Desktop / Cursor / MCP ν΄λΌμ΄μΈνΈ
β
β MCP stdio
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β gov-support-mcp (server.ts) v1.0.0 β
β β
β Core λ μ΄μ΄ β
β β core/dedup.ts β Jaccard μ€λ³΅ μ κ±° μμ§ β
β β core/store.ts β JSON νμΌ μμμ± μ μ₯μ β
β β core/cache.ts β μΈλ©λͺ¨λ¦¬ TTL μΊμ β
β β smesQueryEncoding.ts β μ΄μ€ μΈμ½λ© λ°©μ§ μ νΈ β
β β
β β
λͺ¨λ 1: ν΅ν© νμ β
β β searchGovernmentSupport (3μμ€ ν΅ν© + dedup) β
β β compareByRegion β
β β search_gov_support_bizinfo β
β β search_gov_support_kstartup β
β β search_gov_support_smes24 β
ν€λ°κΈ(μλ²IPλ±λ‘εΎ) β
β β
β β
λͺ¨λ 2: νμ β
β β checkEligibility β
β β
β β
λͺ¨λ 3: μ€λΉ β
β β generateDocumentChecklist β
β β buildApplicationTimeline β
β β draftBusinessPlan β
β β
β β
λͺ¨λ 4: κ΄λ¦¬ β
β β manageAlertProfile β
β β manageBenefitHistory β
β β draftSettlementReport β
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
μΈλΆ API: bizinfo β
Β· K-Startup β
Β· μ€μλ²€μ²24 β
ν€λ°κΈμλ£(μλ²IP λ±λ‘ ν μμ νμ±) Β· λ²€μ²νμΈ π²(μΆν)
μμ λ°μ΄ν°: data/alertProfiles.json Β· benefitHistory.json Β· companyProfiles.json
| # | APIλͺ | μ κ³΅κΈ°κ΄ | νκ²½λ³μ | μν |
|---|---|---|---|---|
| 1 | κΈ°μ λ§λΉ μ§μμ¬μ μ 보 | μ€μλ²€μ²κΈ°μ λΆ | BIZINFO_API_KEY |
β μ μ |
| 2 | K-Startup μ°½μ μ§μμ¬μ | μ°½μ μ§ν₯μ | PUBLIC_DATA_SERVICE_KEY |
β μ μ |
| 3 | μ€μλ²€μ²24 κ³΅κ³ μ 보 | μ€κΈ°κΈ°μ μ 보μ§ν₯μ | SMES24_API_KEY |
β
ν€ λ°κΈ μλ£ Β· |
| 4 | λ²€μ²κΈ°μ νμΈμ | μ€μλ²€μ²κΈ°μ λΆ | PUBLIC_DATA_SERVICE_KEY |
π² μΆν ꡬν |
- data.go.kr νμκ°μ λ° λ‘κ·ΈμΈ
- κ° λ°μ΄ν°μ
νμ΄μ§μμ νμ©μ μ² ν΄λ¦
- K-Startup: 15125364
- μΉμΈ ν λ§μ΄νμ΄μ§ β μΈμ¦ν€ β Encoding ν€ λ³΅μ¬
- smes.go.kr β Open API μ μ
- μ μ² μμ μμ± (κΈ°κ΄λͺ Β·λΆμΒ·λ΄λΉμΒ·μλ² IP μ 보 νμ)
- μ¬μ¬ μλ£ ν μ΄λ©μΌλ‘ ν ν° μμ
- λ¬Έμ: 044-300-0990
- bizinfo.go.kr API μ μ² μ μ
- λ³λ μΈμ¦ν€ μ μ² (data.go.kr ν€μ λ€λ¦)
cp .env.example .env
# .env νμΌμ λ°κΈλ°μ ν€ μ
λ ₯# 곡곡λ°μ΄ν°ν¬νΈ(data.go.kr) Encoding serviceKey β K-Startupμ μ¬μ© PUBLIC_DATA_SERVICE_KEY=μ¬κΈ°μ_ν¬νΈ_Encoding_ν€ # μ€μλ²€μ²24 μ μ© ν ν° β smes.go.kr λ³λ μ μ² Β· μλ² IP νμ© νμ # Encoding ν€(%2B, %2F λ±)λ₯Ό κ·Έλλ‘ λΆμ¬ λ£μΌμΈμ (μ½λμμ μλ μ²λ¦¬) SMES24_API_KEY=μ¬κΈ°μ_μ€μλ²€μ²24_ν ν° # κΈ°μ λ§λΉ(bizinfo.go.kr) API μΈμ¦ν€ β bizinfo.go.kr μ체 ν¬νΈμμ μ μ² BIZINFO_API_KEY=μ¬κΈ°μ_bizinfo_ν€
.envνμΌμ.gitignoreμ ν¬ν¨λμ΄ μμ΄ μ λ 컀λ°λμ§ μμ΅λλ€.
Node.js 20 LTS μ΄μ, pnpmμ΄ νμν©λλ€.
# μ μ₯μ ν΄λ‘ git clone https://github.com/boam79/gov_support_mcp.git cd gov_support_mcp # μμ‘΄μ± μ€μΉ pnpm install # νκ²½λ³μ μ€μ cp .env.example .env # .env νμΌμ API ν€ μ λ ₯ # TypeScript λΉλ pnpm build
~/.cursor/mcp.json νμΌμ μλ λ΄μ©μ μΆκ°ν©λλ€.
{
"mcpServers": {
"gov-support-mcp": {
"command": "node",
"args": ["/μ λκ²½λ‘/gov_support_mcp/dist/server.js"],
"env": {
"PUBLIC_DATA_SERVICE_KEY": "λ°κΈλ°μ_ν¬νΈ_Encoding_ν€",
"SMES24_API_KEY": "λ°κΈλ°μ_μ€μλ²€μ²24_ν ν°",
"BIZINFO_API_KEY": "λ°κΈλ°μ_bizinfo_ν€"
}
}
}
}
argsκ²½λ‘λ μ€μ μ λ κ²½λ‘λ‘ λ³κ²½ν΄μΌ ν©λλ€.
νμΌμ΄ μμΌλ©΄ μλ‘ λ§λ€κ³ , Cursorλ₯Ό μμ ν μ’ λ£ ν μ¬μμνλ©΄ λκ΅¬κ° νμ±νλ©λλ€.
λ±λ‘ νμΈ: μ±ν
μμ "κΈ°μ
λ§λΉμ΄λ K-Startup μ°½μ
λΆμΌ ν΅ν©μΌλ‘ μ°Ύμμ€" λΌκ³ μ
λ ₯νλ©΄ Toolμ΄ λμν©λλ€.
~/Library/Application Support/Claude/claude_desktop_config.json νμΌμ μΆκ°ν©λλ€.
{
"mcpServers": {
"gov-support-mcp": {
"command": "node",
"args": ["/μ λκ²½λ‘/gov_support_mcp/dist/server.js"],
"env": {
"PUBLIC_DATA_SERVICE_KEY": "λ°κΈλ°μ_ν¬νΈ_Encoding_ν€",
"SMES24_API_KEY": "λ°κΈλ°μ_μ€μλ²€μ²24_ν ν°",
"BIZINFO_API_KEY": "λ°κΈλ°μ_bizinfo_ν€"
}
}
}
}Claude Desktopμ μμ ν μ’ λ£(Cmd+Q) ν μ¬μμν΄μΌ MCPκ° λ‘λλ©λλ€.
λ±λ‘ νμΈ: μ±ν μ°½ μΌμͺ½ νλ¨ π§ μμ΄μ½μ΄ νμλλ©΄ μ°κ²° μ±κ³΅μ λλ€.
{
"mcpServers": {
"gov-support-mcp": {
"command": "pnpm",
"args": ["--dir", "/μ λκ²½λ‘/gov_support_mcp", "dev"],
"env": {
"PUBLIC_DATA_SERVICE_KEY": "λ°κΈλ°μ_ν¬νΈ_Encoding_ν€",
"SMES24_API_KEY": "λ°κΈλ°μ_μ€μλ²€μ²24_ν ν°",
"BIZINFO_API_KEY": "λ°κΈλ°μ_bizinfo_ν€"
}
}
}
}pnpm install # μμ‘΄μ± μ€μΉ pnpm build # TypeScript β dist/ μ»΄νμΌ pnpm test # λ¨μ ν μ€νΈ (vitest) pnpm dev # MCP μλ² μ€ν (stdio, κ°λ°μ©) pnpm gov:spike # 3κ° API λμ μ€λͺ¨ν¬ ν μ€νΈ
gov_support_mcp/
βββ src/
β βββ server.ts # MCP μλ² μ§μ
μ Β· 12κ° Tool νΈλ€λ¬ (v1.0.0)
β βββ govSupport/
β β βββ env.ts # νκ²½λ³μ λ‘λ (3κ° ν€ κ²μ¦)
β β βββ smesQueryEncoding.ts # Encoding ν€ μ΄μ€ μΈμ½λ© λ°©μ§ μ νΈ
β β βββ clients/
β β β βββ bizinfoSupport.ts # κΈ°μ
λ§λΉ API ν΄λΌμ΄μΈνΈ β
β β β βββ kstartupSupport.ts # K-Startup API ν΄λΌμ΄μΈνΈ β
β β β βββ smes24PublicNotice.ts # μ€μλ²€μ²24 API ν΄λΌμ΄μΈνΈ β οΈ
β β βββ core/
β β β βββ cache.ts # μΈλ©λͺ¨λ¦¬ TTL μΊμ
β β β βββ dedup.ts # Jaccard κΈ°λ° μ€λ³΅ μ κ±° μμ§ β
β β β βββ store.ts # JSON νμΌ μμμ± μ μ₯μ β
β β βββ tools/
β β β βββ unifiedSearch.ts # searchGovernmentSupport ꡬν β
β β β βββ compareByRegion.ts # compareByRegion ꡬν β
β β β βββ eligibility.ts # checkEligibility ꡬν β
β β β βββ documentChecklist.ts # generateDocumentChecklist ꡬν β
β β β βββ timeline.ts # buildApplicationTimeline ꡬν β
β β β βββ alertProfile.ts # manageAlertProfile ꡬν β
β β β βββ benefitHistory.ts # manageBenefitHistory ꡬν β
β β β βββ draftTools.ts # draftBusinessPlan Β· draftSettlementReport β
β β βββ types/
β β βββ bizinfo.ts # κΈ°μ
λ§λΉ API μλ΅ νμ
β β βββ kstartup.ts # K-Startup API μλ΅ νμ
β β βββ smes24.ts # μ€μλ²€μ²24 API μλ΅ νμ
β β βββ common.ts # κ³΅ν΅ νμ
(Announcement, CompanyProfile λ±)
β βββ utils/
β βββ logger.ts # ꡬ쑰ν λ‘κ±°
βββ data/ # μμ λ°μ΄ν° λλ ν°λ¦¬ (gitignore)
β βββ alertProfiles.json # μλ¦Ό νλ‘νμΌ μ μ₯μ
β βββ benefitHistory.json # μν μ΄λ ₯ μ μ₯μ
β βββ companyProfiles.json # νμ¬ νλ‘νμΌ μ μ₯μ
βββ scripts/
β βββ gov-spike.ts # 3κ° API μ€λͺ¨ν¬ ν
μ€νΈ
β βββ probe-smes-paths.ts # SMES24 μλν¬μΈνΈ νμ μ€ν¬λ¦½νΈ
βββ tests/
β βββ smes24PublicNotice.test.ts
β βββ smesQueryEncoding.test.ts
βββ .env.example
βββ .gitignore
βββ package.json
βββ tsconfig.json
βββ vitest.config.ts
| Phase | μ£Όμ μμ | μν |
|---|---|---|
| 1 | νλ‘μ νΈ μΈν , Core λ μ΄μ΄, SMES24 ν΄λΌμ΄μΈνΈ | β μλ£ |
| 2 | κΈ°μ λ§λΉΒ·K-Startup ν΄λΌμ΄μΈνΈ, λ¨μΌ μμ€ MCP Tool 3κ° | β μλ£ |
| 3 | ν΅ν© νμ(searchGovernmentSupport) + Jaccard dedup μμ§ |
β μλ£ |
| 4 | μ격 νμ (checkEligibility), μλ₯ 체ν¬λ¦¬μ€νΈ, νμλΌμΈ |
β μλ£ |
| 5 | μ¬μ κ³νμΒ·μ μ° λ³΄κ³ μ μ΄μ, μλ¦ΌΒ·μν μ΄λ ₯ κ΄λ¦¬, μ§μ λΉκ΅ | β μλ£ |
| 6 | λ²€μ²κΈ°μ νμΈμ API μ°λ, HTML κ³΅κ³ μμΈ μ€ν¬λν | π² μμ |
ISC
PRD λ¬Έμ λ²νΈ: MCP-GOV-001 v1.3 (2026εΉ΄04ζ20ζ₯)