gov-support-mcp
gov-support-mcp
정부지원사업 통합 MCP 서버 — PRD v1.3 (MCP-GOV-001)
Claude Desktop · Cursor 등 MCP 호환 클라이언트에서 자연어 하나로
정부지원사업 탐색 → 자격 판정 → 신청 준비 → 수혜 관리 전 단계를 자동화합니다.
목차
Related MCP server: Dolbom Navi MCP
1. 프로젝트 개요
배경 및 목적
정부지원사업은 연간 수천 건이 개별 부처·지자체·공공기관을 통해 분산 공고됩니다.
중소기업·병원 총무팀이 이를 수작업으로 모니터링하고, 자격을 확인하며, 서류를 준비하는 데 많은 시간이 소요됩니다.
본 MCP 서버는 기업마당(bizinfo) · K-Startup · 중소벤처24 공개 API를 하나로 묶어, 자연어만으로 다음 흐름을 처리합니다.
우리 조직에 맞는 지원사업 통합 탐색 (중복 자동 제거)
자격조건 분석 및 검토 포인트 정리
필요 서류·준비 일정·사업계획서 초안 자동 생성
기존 수혜 이력, 지출 내역, 정산 보고서 관리
메타 정보
항목 | 내용 |
문서 번호 | MCP-GOV-001 v1.3 |
서버 버전 | v1.2.3 |
기술 스택 | TypeScript 5.x · |
주요 사용자 | 총무팀 · 경영지원팀 · 대표자 (중소기업 / 병원 / 스타트업 / 예비창업자) |
구현된 Tool | 14개 (PRD + 심사 지원 확장) |
2. 구현된 Tool 전체 목록
통합 탐색 / 분석
Tool | 설명 | 상태 |
| 기업마당·K-Startup·중소벤처24 병렬 통합 검색 + Jaccard dedup키워드·분야·지역·소스 필터 지원 · | ✅ |
| 최대 8개 지역의 공고 수·분야 분포 비교표 반환 | ✅ |
| 공고 텍스트 + 회사 프로파일 기반 자격 판정 | ✅ |
신청 준비 도구
Tool | 설명 | 상태 |
| 공고 텍스트에서 서류 추출 + 표준 서류 DB(15종) 매칭발급기관·소요일수·수집 기한 포함 | ✅ |
| 마감일 역산 9단계 타임라인서류수집 → 계획서 → 내부검토 → 제출 → 심사결과 → 협약 | ✅ |
| 공고+회사 정보 기반 사업계획서 구조 초안 | ✅ |
관리 도구
Tool | 설명 | 상태 |
| 알림 프로파일 CRUD (키워드·분야·지역·대상 조건 저장) | ✅ |
| 수혜 이력 CRUD + 지출 추가 + 마일스톤 기록집행률·잔액 자동 계산 | ✅ |
| 수혜 이력 기반 정산 보고서 초안비목별 집행 현황·첨부 서류 목록 포함 | ✅ |
심사 지원 도구
Tool | 설명 | 상태 |
| 예비창업패키지 등 심사 점수 예측①기술성·혁신성(20점) ②사업성(30점) ③시장성(25점) ④창업자·팀(25점) + 가점(5점)축별 점수·등급·강점·개선 권고 + 제출 전 체크리스트 반환 | ✅ |
| 작성된 사업계획서 텍스트 품질 측정gov/psst 두 템플릿 모두 지원①구체성 지수(모호 표현 감지) ②섹션 완성도 ③일관성 검사(TAM/SAM/SOM·예산 오류)④설득 구조 분석 ⑤심사위원 예상 질문 자동 생성 ⑥제출 가능 여부 판정 | ✅ |
단일 소스 조회 (개별 API 직접 호출)
Tool | 데이터 | 상태 |
| 기업마당(bizinfo.go.kr) — 1,285건+ | ✅ |
| K-Startup(k-startup.go.kr) — 28,302건+ | ✅ |
| 중소벤처24(smes.go.kr) | ✅ 키 발급 완료 · ⚠️ 서버 IP 등록 필요 |
ℹ️ 중소벤처24 IP 허용 안내
API 키 발급은 완료된 상태입니다.
smes.go.kr Open API는 사전 등록된 서버 IP에서만 응답하므로 로컬(개발 PC) 환경에서는 타임아웃이 발생합니다.
서버(AWS · Render 등) 배포 후 고정 IP를 중소벤처24 운영팀(044-300-0990)에 등록하면 정상 작동합니다.
3. 사용 시나리오
아래 문장을 Claude Desktop 또는 Cursor 채팅에 그대로 입력하면 Tool이 자동 호출됩니다.
시나리오 1 — 통합 탐색 + 자격 판정 (병원 총무팀)
우리 병원 정보야.
- 서울 소재 내과·외과 2차 병원, 병상 150개, 의료인력 80명
- 법인병원, 설립 12년차, 연매출 120억
- 올해 신규 간호사 10명 채용 계획
1. searchGovernmentSupport로 인력·경영 분야 중복 없이 통합 조회해줘
2. 각 공고마다 우리 병원이 자격되는지 checkEligibility로 판정해줘
3. 자격 될 것 같은 것 중 마감 임박한 TOP 3 추려줘
4. TOP 3 각각 서류 체크리스트랑 타임라인도 뽑아줘시나리오 2 — 지역별 비교 + 알림 설정 (스타트업)
AI 헬스케어 스타트업, 2023년 창업, 직원 12명, 서울, 매출 3억.
1. compareByRegion으로 서울·경기·전국 창업 지원사업 현황 비교해줘
2. 서울이 더 많으면 서울 기준 창업 분야 공고 상위 10개 보여줘
3. 이 조건(창업·기술 분야, AI 키워드, 서울·전국)으로 알림 프로파일 저장해줘
4. 가장 유망한 공고 1개 사업계획서 초안도 잡아줘
(제품: AI 기반 원격 의료 상담 플랫폼, 목표 시장: 중소병원)시나리오 3 — 전체 신청 프로세스 자동화 (중소기업)
경기도 안산 금속 가공 제조업, 직원 45명, 연매출 80억.
수출 30%(일본·동남아), 연구전담부서·ISO9001 보유.
사업자번호: 123-45-67890
1. 수출·기술 분야 통합 검색해서 지원금 클 것 같은 공고 5개 찾아줘
2. 각 공고 자격 체크하고 신청 가능한 것만 남겨줘
3. 가장 좋은 공고 1개 골라서:
- 서류 체크리스트 뽑아줘 (마감일 20260530)
- 역산 타임라인 만들어줘
- 사업계획서 초안 잡아줘
4. 이 회사 프로파일을 저장해둬시나리오 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)시나리오 5 — 예비창업자 지원사업 매칭 + 일정 계획
퇴직 후 친환경 소재 B2B 스타트업 준비 중. 법인 미설립, 특허 1건 보유.
서울 거주, 40대 중반, 초기 자금 5천만원.
1. K-Startup 예비창업자 대상 공고 + 기업마당 창업 분야 통합 조회해줘
2. 법인 설립 전 신청 가능 공고, 특허 우대 공고 각각 표시해줘
3. 지원금 형태(보조금/융자/공간/교육)별로 분류해줘
4. 관심 공고 중 마감 가장 빠른 것 골라서 타임라인 짜줘
5. 이 조건으로 정기 알림 프로파일 저장해줘시나리오 6 — 임원 보고용 요약 + 지역 비교
IT 서비스업, 서울, 직원 200명, 코스닥 상장.
1. 이번 달 마감 공고 통합 조회해서 아래 형식 표로 정리해줘:
| 공고명 | 지원기관 | 지원금액 | 마감일 | 자격요건 핵심 | 권장 여부 |
2. "상장사 제외" 또는 "중소기업만" 조건 공고 제외해줘
3. 서울·경기·전국 공고 현황 지역 비교도 추가해줘
4. 신청 권장 TOP 3 요약 + 각각 서류 체크리스트 첨부해줘시나리오 7 — 예비창업패키지 사업계획서 점수 예측 + 개선 (예비창업자)
예비창업패키지 신청 준비 중이야. 점수 예측해줘.
기술:
- AI 기반 탄소 발자국 자동 측정 SaaS (제조업 설비 IoT 연동)
- 국내 특허 1건 출원 중
- 파일럿 3개사 테스트 완료, 만족도 4.2/5
사업:
- 월 30만원 구독형, 첫해 20개사 목표 → 2년 100개사 → 3년 300개사
- 지원 신청액: 5000만원 (인건비 3000만원 / 개발외주 1500만원 / 마케팅 500만원)
- 월별 로드맵: 1~2월 MVP고도화, 3~4월 영업·파일럿 10개사, 5~6월 온보딩 자동화
시장:
- TAM: 탄소측정 솔루션 국내 시장 2조원 (한국환경산업기술원 2025)
- SAM: 중소 제조업체 ESG 의무 대상 3만개사 × 300만원 = 약 9000억원
- SOM: 1년 내 서울·경기 집중 공략 100개사 = 3억원
팀:
- 창업자: 삼성SDS IoT 플랫폼 개발 10년 (과장 퇴직)
- 공동창업자: ESG 컨설팅 7년 경력 (전 딜로이트)
- 자문: 환경공학 교수 1명
사회적 가치: 중소 제조업 탄소중립 지원, 정부 2030 탄소감축 목표 기여
1. evaluateStartupApplication으로 점수 예측해줘
2. 취약 축 개선 방안 2가지씩 알려줘
3. 개선 후 PSST 형식 사업계획서 초안도 만들어줘4. draftBusinessPlan 템플릿 상세
draftBusinessPlan 도구는 template 파라미터로 두 가지 형식을 지원합니다.
template: "gov" — 정부보조금 신청용 (기본값)
정부 지원사업 공모 신청서에 최적화된 6섹션 공문서 구조입니다.
섹션 | 내용 |
1. 신청 기업 개요 | 회사명·업종·임직원·설립일·매출 (입력 정보 자동 기입) |
2. 사업 목적 및 필요성 | 문제점 + 공고 목적 연계성 |
3. 기술 및 사업화 방안 | 솔루션·시장·사업화 전략 |
4. 추진 일정 및 마일스톤 | 기간별 활동·산출물 표 |
5. 사업비 집행 계획 | 비목별 금액 표 (합계 자동 입력) |
6. 기대 성과 및 파급 효과 | 정량 KPI + 사회적 효과 |
template: "psst" — 창업패키지·액셀러레이터·VC 심사용
PSST = Problem · Solution · Scale-up · Team 프레임워크입니다.
예비창업패키지·초기창업패키지·민간 액셀러레이터·VC 투자 심사에서 표준으로 쓰이는 형식입니다.
축 | 섹션 | 주요 내용 |
P | Problem — 문제 정의 | 핵심 Pain Point · 기존 대안 한계 · TAM/SAM/SOM |
S | Solution — 해결책 | 솔루션 작동 원리 · 차별화(Unfair Advantage) · 고객 검증 현황 |
S | Scale-up — 성장 전략 | 수익 모델 · 연도별 성장 로드맵 · GTM 전략 |
T | Team — 팀 | 창업자·핵심팀 경력 · 팀 강점 · 채용 계획 |
PSST 전용 추가 입력 파라미터:
companyProfile.scaleUpStrategy — 성장·확장 전략
companyProfile.teamBackground — 창업자·팀 경력 요약
companyProfile.competitors — 주요 경쟁사 목록
companyProfile.revenueModel — 수익 모델 (구독/수수료 등)
companyProfile.marketSize — 시장 규모 (TAM/SAM/SOM)사용 예시:
예비창업패키지 신청을 위한 PSST 형식 사업계획서 초안 만들어줘.
template은 psst로 설정해줘.
회사 정보:
- 서비스명: AI 기반 탄소 발자국 측정 SaaS
- 문제: 중소 제조업체의 탄소 배출량 측정이 너무 어렵고 비용이 높음
- 솔루션: 설비 데이터 연동으로 자동 측정, 월 30만원 구독
- 타겟: 국내 중소 제조업체 5만개사 (TAM 2조원)
- 팀: 전 삼성SDS IoT·AI 개발 10년
- 신청금액: 5,000만원5. evaluateStartupApplication 평가 기준 상세
evaluateStartupApplication 도구는 실제 예비창업패키지 심사 기준(창업진흥원 2026 공고 기준)을 반영한 루브릭으로 점수를 산출합니다.
⚠️ 배점은 주관기관(창업보육센터·대학·연구원 등)마다 ±5점 내외 차이가 있습니다. 결과는 참고용이며, 최종 판단은 심사위원의 종합 평가로 결정됩니다.
5대 평가 축 + 가점
축 | 배점 | 주요 평가 항목 |
① 기술성·혁신성 | 20점 | 기술 원리 명확성(6점) · 차별화(7점) · 특허·IP(4점) · 고객 검증(3점) |
② 사업성 | 30점 | 수익 모델(8점) · 3개년 매출 계획(8점) · 월별 사업화 일정(7점) · 지원금 집행 계획(7점) |
③ 시장성 | 25점 | TAM·SAM·SOM(9점) · 데이터 출처 신뢰도(7점) · 경쟁 분석(5점) · GTM 전략(4점) |
④ 창업자·팀 역량 | 25점 | 도메인 경력 연수(10점) · 경력-사업 연관성(8점) · 팀 구성 완성도(7점) |
(+) 정책부합성·사회적 가치 | 가점 최대 5점 | 사회적 가치(2점) · 정책 방향 연계(2점) · 고용 창출(1점) |
총 100점 + 가점 5점
도구 출력 구조
{
"summary": {
"baseScore": 82,
"bonusScore": 3,
"totalScore": 85,
"grade": "A",
"label": "우수",
"prediction": "서류 합격 가능성 높음",
"scoreBar": "▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░ 85점"
},
"axisResults": [
{
"axis": "② 사업성",
"maxScore": 30,
"score": 24,
"grade": "B",
"strengths": ["수익 모델이 구체적으로 정의됨"],
"improvements": ["3개년 매출 계획을 고객 수 × 단가 공식으로 보수적으로 산출하세요."]
}
],
"topPriorityImprovements": ["[② 사업성] 3개년 매출 계획 보완 ..."],
"finalChecklist": [
{ "item": "3개년 매출 계획 수치 포함 여부", "required": true, "done": true }
]
}3단계 심사 프로세스 (예비창업패키지 기준)
1단계 서류 평가 (온라인 제출)
→ 사업계획서 PDF + 첨부서류 검토
→ 평가 기준: ①②③④ 4개 축 100점 + 가점
→ 통과 기준: 보통 상위 20~30% (주관기관별 상이)
2단계 사전 창업교육 (온라인 과정)
→ 창업 기초 교육 이수 (온라인, 약 3~5시간)
→ 별도 배점 없음 (이수 여부만 확인)
3단계 발표 심사 (대면/비대면)
→ 7~10분 발표 + 5~10분 질의응답
→ 서류 평가 점수와 합산하여 최종 선발6. assessBusinessPlanQuality 품질 측정 상세
assessBusinessPlanQuality 도구는 공식 공고문 기반 PSST 배점표(30/30/20/20) 로 품질을 분석합니다.
기존 임의 휴리스틱 중심이 아니라, 중기부 공고문·창업진흥원 세부관리기준에서 확인된 항목을 기준으로 점수화합니다.
3단계 활용 흐름
① draftBusinessPlan (template: "psst" 또는 "gov")
↓ 초안 생성
② assessBusinessPlanQuality
↓ 품질 점수 + 즉시 수정 항목 + 심사위원 예상 질문
사람이 문서 보완
↓
③ evaluateStartupApplication
↓ 심사 점수 예측 + 합격 가능성 확인
제출공식 근거 문서
출처 | URL | 반영 내용 |
중소벤처기업부 2025년 예비창업패키지 예비창업자 모집공고(제2025-105호) | 서류평가→발표평가 프로세스, PSST 평가항목·총점 | |
창업진흥원 예비창업패키지 세부관리기준(2025년) | 항목 정의(Problem/Solution/Scale-up/Team), 배점 30/30/20/20 |
공식 배점 기반 분석 축 (총 100점)
항목 | 배점 | 공식 항목 요지 |
문제인식 (Problem) | 30점 | 개발 동기 및 사업 목적(필요성), 해결 문제(고객 불편) |
실현가능성 (Solution) | 30점 | 개발/사업화 전략, 고객 요구사항(Pain Point) 대응방안 |
성장전략 (Scale-up) | 20점 | 자금 조달·집행 계획, 사업화 일정, 시장진입/성과창출 전략 |
팀구성 (Team) | 20점 | 대표자·팀 보유역량, 추가 인력 채용, 협력기관 활용 계획 |
도구 출력
항목별 점수 및 공식 기준 대비 충족도
발표평가 예상 질문(취약 항목 중심)
제출 판정: ✅ 제출 가능 / ⚠️ 보완 후 제출 / ❌ 전면 보강 필요
출력 예시
{
"evidenceBasis": {
"model": "PSST 공식 항목 기반",
"officialSources": [
"중기부 모집공고",
"창업진흥원 세부관리기준"
]
},
"summary": {
"weightedScore": 74,
"grade": "B",
"scoreBar": "▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░ 74점",
"submitVerdict": "⚠️ 보완 후 제출 권장",
"scoringFormula": "문제인식(30)+실현가능성(30)+성장전략(20)+팀구성(20)",
"axisScores": [
"문제인식 (Problem): 22/30 (B)",
"실현가능성 (Solution): 24/30 (A)",
"성장전략 (Scale-up): 14/20 (B)",
"팀구성 (Team): 14/20 (B)"
],
"stageReadiness": {
"documentReview": "통과 가능권",
"presentationReview": "예상질문 대비 보강 필요"
}
},
"immediateFixes": [
"[성장전략 (Scale-up)] 자금 조달/집행 계획을 구체화하세요.",
"[팀구성 (Team)] 추가 인력 채용 계획을 명시하세요."
],
"expectedQuestions": {
"count": 4,
"questions": [
"[실현가능성] 아이템 구현 원리와 고객 요구사항 대응 방안을 설명해 주십시오.",
"[성장전략] 지원금 집행계획이 매출로 연결되는 경로를 설명해 주십시오."
]
}
}사용 예시
방금 만든 PSST 사업계획서 초안의 품질 측정해줘.
assessBusinessPlanQuality로 template은 psst로 분석하고,
공식 평가항목(문제인식/실현가능성/성장전략/팀구성) 기준으로 부족한 항목부터 보완안 제시해줘.7. 아키텍처
Claude Desktop / Cursor / MCP 클라이언트
│
│ MCP stdio
▼
┌──────────────────────────────────────────────────┐
│ gov-support-mcp (server.ts) v1.2.3 │
│ │
│ 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 │
│ │
│ ✅ 모듈 5: 심사 지원 │
│ ├ evaluateStartupApplication (5대 평가축 루브릭) │
│ └ assessBusinessPlanQuality (공식 PSST 30/30/20/20) │
└──────────────────────────────────────────────────┘
│
▼
외부 API: bizinfo ✅ · K-Startup ✅ · 중소벤처24 ✅ 키발급완료(서버IP 등록 후 완전 활성) · 벤처확인 🔲(추후)
영속 데이터: data/alertProfiles.json · benefitHistory.json · companyProfiles.json8. 필요 API 및 키 신청
API 목록
# | API명 | 제공기관 | 환경변수 | 상태 |
1 | 기업마당 지원사업정보 | 중소벤처기업부 |
| ✅ 정상 |
2 | K-Startup 창업지원사업 | 창업진흥원 |
| ✅ 정상 |
3 | 중소벤처24 공고정보 | 중기기술정보진흥원 |
| ✅ 키 발급 완료 · ⚠️ 서버 IP 등록 후 사용 |
4 | 벤처기업확인서 | 중소벤처기업부 |
| 🔲 추후 구현 |
키 신청 방법
① 공공데이터포털 serviceKey — K-Startup · 벤처확인서 공통
data.go.kr 회원가입 및 로그인
각 데이터셋 페이지에서 활용신청 클릭
K-Startup: 15125364
승인 후 마이페이지 → 인증키 → Encoding 키 복사
② 중소벤처24 Open API 토큰
신청 양식 작성 (기관명·부서·담당자·서버 IP 정보 필요)
심사 완료 후 이메일로 토큰 수신
문의: 044-300-0990
③ 기업마당 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_키
# (선택) MCP 도구 응답 JSON을 들여쓰기(가독성). 미설정 시 compact JSON으로 LLM 컨텍스트 토큰 절감
# GOV_MCP_JSON_PRETTY=1MCP 응답·통합 검색 기본값
모든 도구의 텍스트 응답은 기본 compact JSON(한 줄, 공백 최소) 직렬화입니다. 주 클라이언트(Claude·Cursor)의 토큰 사용을 줄이기 위한 동작이며, JSON 구조·필드는 이전과 동일합니다.
채팅에서 사람이 읽기 쉽게 보려면
.env또는 MCPenv에GOV_MCP_JSON_PRETTY=1(또는true)을 설정하세요.searchGovernmentSupport의maxPerSource기본값은 소스당 20건입니다. 이전과 같이 더 많이 보려면 호출 시maxPerSource: 30등으로 지정하면 됩니다.
.env파일은.gitignore에 포함되어 있어 절대 커밋되지 않습니다.
9. 설치 및 빌드
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 build10. Cursor에 MCP 등록
~/.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를 완전히 종료 후 재시작하면 도구가 활성화됩니다.
(선택) MCPenv에"GOV_MCP_JSON_PRETTY": "1"을 넣으면 도구 응답 JSON이 들여쓰기됩니다. 생략 시 compact(토큰 절감).
등록 확인: 채팅에서 "기업마당이랑 K-Startup 창업 분야 통합으로 찾아줘" 라고 입력하면 Tool이 동작합니다.
11. Claude Desktop에 MCP 등록
~/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가 로드됩니다.
등록 확인: 채팅창 왼쪽 하단 🔧 아이콘이 표시되면 연결 성공입니다.
(선택)env에"GOV_MCP_JSON_PRETTY": "1"— 도구 응답 들여쓰기. 생략 시 compact.
개발 중 pnpm dev 모드로 연결
{
"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_키"
}
}
}
}12. 개발 명령어
pnpm install # 의존성 설치
pnpm build # TypeScript → dist/ 컴파일
pnpm test # 단위 테스트 (vitest)
pnpm dev # MCP 서버 실행 (stdio, 개발용)
pnpm gov:spike # 3개 API 동시 스모크 테스트13. 프로젝트 구조
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 ✅
│ │ │ ├── evaluateStartup.ts # evaluateStartupApplication (5대 평가축 루브릭) ✅
│ │ │ └── assessQuality.ts # assessBusinessPlanQuality (텍스트 품질 6축) ✅
│ │ └── 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.ts14. 버전 히스토리
v1.2.3 — 2026-05-02
LLM 컨텍스트 토큰 절감(보수적)
MCP 도구 응답 JSON 기본을 compact 직렬화로 변경(
JSON.stringify들여쓰기 제거). 선택적으로GOV_MCP_JSON_PRETTY=1이면 이전처럼 들여쓰기 출력.searchGovernmentSupport의maxPerSource기본값 30 → 20(소스당). 필요 시 파라미터로 조정 가능..env.example·README에 위 동작 및 환경변수 안내 추가.
v1.1.0 — 2026-04-21
draftBusinessPlan PSST 템플릿 추가
template파라미터 신규 지원"gov"(기본값) — 정부보조금 신청용 6섹션 공문서 형식 (기존 유지)"psst"— Problem · Solution · Scale-up · Team 창업패키지·VC 심사용 형식
PSST 전용 입력 필드 추가:
scaleUpStrategy,teamBackground,competitors,revenueModel,marketSizePSST 4축 12소섹션 구성 (핵심 Pain Point / 기존 대안 한계 / TAM·SAM·SOM / 솔루션 작동 원리 / Unfair Advantage / 고객 검증 / 수익 모델 / 성장 로드맵 / GTM 전략 / 팀 구성 / 팀 강점 / 채용 계획)
v1.2.2 — 2026-04-22
공식 근거 기반 품질측정 검증 테스트 추가 + 버전업
변경:
assessBusinessPlanQuality단위 테스트 신규 추가 (tests/assessQuality.test.ts)스키마 검증(최소 길이/기본 템플릿)
공식 근거 메타데이터(
evidenceBasis) 반환 검증고품질 입력 시 제출 가능 판정 검증
저품질 입력 시 보완/질문 생성 검증
서버/문서 버전
v1.2.1→v1.2.2
v1.2.1 — 2026-04-22
품질 측정 기준을 공식 근거 기반으로 재정의
변경:
assessBusinessPlanQuality점수 체계를 임의 6축 휴리스틱에서 공식 PSST 배점표로 변경문제인식 30점 · 실현가능성 30점 · 성장전략 20점 · 팀구성 20점 (총 100점)
출력에
evidenceBasis추가 (공식 근거 문서 URL/반영 항목 명시)발표평가 대비 예상질문 생성 로직을 공식 항목 취약점 중심으로 재작성
서버/문서 버전
v1.2.0→v1.2.1
근거 문서:
중소벤처기업부 2025년 예비창업패키지 예비창업자 모집공고(제2025-105호)
창업진흥원 예비창업패키지 세부관리기준(2025년)
v1.2.0 — 2026-04-20
사업계획서 텍스트 품질 측정 도구 추가 — 13개 → 14개
신규 도구:
도구 | 내용 |
| 작성된 사업계획서 텍스트 품질 6축 분석gov/psst 두 템플릿 모두 지원①구체성 지수 ②섹션 완성도 ③일관성 검사 ④설득 구조 ⑤심사위원 예상 질문 ⑥제출 판정 |
기타:
서버 버전
v1.1.0→v1.2.0README.md섹션 6 신규 추가: 품질 측정 상세 + 3단계 활용 흐름 설명draftBusinessPlan → assessBusinessPlanQuality → evaluateStartupApplication3단계 순환 구조 문서화
v1.1.0 — 2026-04-20
예비창업패키지 심사 점수 예측 도구 추가 — 12개 → 13개
신규 도구:
도구 | 내용 |
| 5대 평가축 루브릭 기반 심사 점수 예측①기술성·혁신성(20) ②사업성(30) ③시장성(25) ④창업자·팀(25) + 가점(5)축별 점수·등급·강점·개선 권고 + 제출 전 체크리스트 반환 |
기타:
서버 버전
v1.0.0→v1.1.0아키텍처 다이어그램 모듈 5(심사 지원) 추가
README.md섹션 5 신규 추가: 평가 기준 상세 + 3단계 심사 프로세스 설명사용 시나리오 7 추가: 심사 점수 예측 + 개선 + PSST 계획서 연계 흐름
v1.0.0 — 2026-04-20
PRD v1.3 Phase 3~5 전체 도구 구현 — 3개 → 12개
신규 도구 9개:
도구 | 내용 |
| bizinfo·K-Startup·SMES24 병렬 통합 검색 + Jaccard dedup |
| 최대 8개 지역 공고 수·분야 분포 비교 |
| 공고 텍스트 키워드 매칭 자격 판정 + 회사 프로파일 저장 |
| 표준 서류 DB(15종) + 공고 텍스트 추출, 발급기관·소요일수 포함 |
| 마감일 역산 9단계 타임라인 |
| 알림 프로파일 CRUD (JSON 파일 영속성) |
| 수혜 이력 CRUD + 지출 추가 + 마일스톤 기록 |
| 공고+회사 정보 기반 6섹션 사업계획서 구조 초안 |
| 수혜 이력 기반 정산 보고서 초안 |
신규 코어 모듈:
core/dedup.ts— source-id → title+agency exact → Jaccard fuzzy(≥0.75) 3단계 중복 제거core/store.ts— JSON 파일 기반 알림프로파일·수혜이력·회사프로파일 저장소
v0.3.0 — 2026-04-20
K-Startup API 클라이언트 추가 + SMES24 날짜 파라미터 수정
search_gov_support_kstartupTool 추가 (K-Startup 창업지원사업 조회)K-Startup API Encoding 키 이중 인코딩 문제 수정 (
normalizeSmesPortalToken적용)SMES24
extPblancInfoAPI에strDt·endDt필수 파라미터 추가 (운영팀 안내 기준)SMES24 미입력 시 자동으로 오늘 기준 30일 전~오늘 기본값 적용
v0.2.0 — 2026-04-20
기업마당(bizinfo) API 클라이언트 추가
search_gov_support_bizinfoTool 추가 (기업마당 지원사업 공고 조회)BIZINFO_API_KEY환경변수 지원 (bizinfo.go.kr자체 발급 키)분야 필터 클라이언트 사이드 처리 (서버 사이드 미지원 확인)
bizinfo API 응답 타입 정의 (
types/bizinfo.ts)
v0.1.0 — 2026-04-20
독립 프로젝트 초기 구현 (PRD v1.3 Phase 1)
public-data-api-finder에서 분리된 독립 프로젝트로 시작search_gov_support_smes24Tool 구현 (중소벤처24 공고정보 API)Encoding 키 이중 인코딩 방지 유틸 (
smesQueryEncoding.ts)인메모리 TTL 캐시 (
core/cache.ts)MCP stdio 서버 기본 구조 (
server.ts)프로젝트 기본 구성: TypeScript 5.x ·
@modelcontextprotocol/sdk· Node.js 20 LTS · pnpm · Vitest
15. 개발 로드맵
Phase | 주요 작업 | 상태 |
1 | 프로젝트 세팅, Core 레이어, SMES24 클라이언트 | ✅ 완료 |
2 | 기업마당·K-Startup 클라이언트, 단일 소스 MCP Tool 3개 | ✅ 완료 |
3 | 통합 탐색( | ✅ 완료 |
4 | 자격 판정( | ✅ 완료 |
5 | 사업계획서·정산 보고서 초안, 알림·수혜 이력 관리, 지역 비교 | ✅ 완료 |
5.5 | 예비창업패키지 심사 점수 예측 ( | ✅ 완료 |
5.6 | 사업계획서 텍스트 품질 측정 ( | ✅ 완료 |
6 | 벤처기업확인서 API 연동, HTML 공고 상세 스크래핑 | 🔲 예정 |
라이선스
ISC
PRD 문서 번호: MCP-GOV-001 v1.3 (2026-04-20)
Available Tools
12 toolsbuildApplicationTimelineC
【일정 관리】마감일 기준으로 서류 수집→계획서 작성→내부검토→제출까지 역산 타임라인을 생성합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| announcementTitle | Yes | ||
| deadline | Yes | 신청 마감일 (YYYYMMDD 또는 YYYY-MM-DD) | |
| startDate | No | 사업 시작 예정일 | |
| announcementDate | No | 공고 게재일 | |
| projectPeriodMonths | No | 사업 기간(개월, 기본 12) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool creates a timeline but doesn't describe what the output looks like (e.g., format, structure), whether it's a one-time generation or editable, or any side effects like saving data. For a tool with no annotations and no output schema, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core function in a single sentence. It uses efficient language without redundancy, though the inclusion of '【일정 관리】' (schedule management) as a tag adds slight noise. Overall, it's appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain the output format or behavioral details, leaving the agent uncertain about what to expect. Without annotations or output schema, the description should provide more context on how the timeline is generated and presented, but it falls short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, providing a solid baseline. The description adds minimal value beyond the schema, as it doesn't explain parameter meanings or interactions (e.g., how 'deadline' drives the reverse calculation, or the role of 'projectPeriodMonths'). It implies a process flow but doesn't clarify parameter semantics, so it meets the baseline for high schema coverage without compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '역산 타임라인을 생성합니다' (creates a reverse timeline) for the application process from document collection to submission. It specifies the resource (application timeline) and verb (create), though it doesn't explicitly differentiate from sibling tools like 'draftBusinessPlan' or 'generateDocumentChecklist' which might have overlapping domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions the process flow but doesn't specify prerequisites, exclusions, or compare it to siblings like 'checkEligibility' or 'draftBusinessPlan' that might be related to application preparation. Usage is implied by the context of managing deadlines, but no explicit instructions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkEligibilityB
【자격 판정】공고 텍스트와 회사 프로파일을 분석해 지원 자격 충족 여부를 판정합니다. 조건별 충족/미충족/불확실 여부와 권고 사항을 반환합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| announcementTitle | Yes | 공고 제목 | |
| announcementText | Yes | 공고 본문 또는 주요 자격 요건 텍스트 | |
| announcementUrl | No | 공고 URL (선택) | |
| businessNumber | No | 사업자등록번호 (저장된 프로파일 조회 시 사용) | |
| companyProfile | No | 회사 프로파일 (저장된 프로파일과 병합됨) | |
| saveProfile | No | 회사 프로파일을 저장할지 여부 (기본 false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks critical behavioral details. It mentions returning status and recommendations but does not disclose authentication requirements, rate limits, data handling (e.g., profile merging), or whether the analysis is deterministic or AI-based. This leaves significant gaps for safe and effective tool invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core purpose in a single sentence. However, the inclusion of Korean characters (【자격 판정】) adds minor redundancy without functional value, slightly detracting from efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 6 parameters, nested objects, and no output schema, the description is moderately complete. It covers the high-level purpose but lacks details on output structure, error handling, and behavioral constraints. Without annotations or output schema, the agent has insufficient context for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing detailed parameter documentation. The description adds minimal value beyond the schema, only implicitly referencing 'announcement text' and 'company profile' without explaining parameter interactions or the merging logic for saved profiles. Baseline 3 is appropriate given the schema's comprehensive coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: analyzing announcement text and company profiles to determine eligibility for support. It specifies the verb ('analyze'), resources ('announcement text and company profile'), and output ('eligibility fulfillment status with recommendations'), distinguishing it from sibling tools like search or draft functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (evaluating eligibility for government support) but does not explicitly state when to use this tool versus alternatives like searchGovernmentSupport or compareByRegion. No exclusions or prerequisites are mentioned, leaving the agent to infer appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compareByRegionC
【지역 비교】여러 지역의 정부지원사업 공고 수와 분야 분포를 비교합니다. 지역별 공고 현황표와 상위 공고 목록을 반환합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| regions | Yes | 비교할 지역 목록 (예: ["서울","경기","전국"], 최대 8개) | |
| field | No | 필터링할 지원 분야 | |
| keyword | No | 검색 키워드 | |
| maxPerRegion | No | 지역별 최대 공고 수 (기본 20) | |
| sources | No | 검색 소스 (기본: [bizinfo, kstartup]) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool returns a comparison table and top announcements list, but doesn't describe important behavioral aspects like whether this is a read-only operation, what format the returns take, whether there are rate limits, authentication requirements, or how results are sorted/filtered beyond the parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that efficiently convey the core functionality. The first sentence explains what the tool does, and the second describes what it returns. There's no unnecessary verbiage, though it could be slightly more structured for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain the return format, how results are presented in the comparison table, what 'top announcements' means, or important behavioral constraints. The description leaves too much undefined for proper agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description doesn't add meaningful semantic context beyond what's in the schema - it mentions comparing regions and filtering by field, but the schema already describes regions, field enum values, keyword filtering, maxPerRegion defaults, and source options with clear descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool compares government support announcements across regions, listing number of announcements and field distribution, and returns a comparison table and top announcements. It specifies the resource (government support announcements) and action (compare by region), but doesn't explicitly differentiate from sibling tools like searchGovernmentSupport or other search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While it mentions what the tool does, it doesn't indicate when this comparison functionality is appropriate versus using search tools, eligibility checks, or other sibling tools for different purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
draftBusinessPlanC
【계획서 작성】공고 텍스트와 회사 정보를 분석해 사업계획서 구조화 초안을 생성합니다. 섹션별 작성 가이드와 채워야 할 항목 목록을 포함합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| announcementTitle | Yes | ||
| announcementText | Yes | 공고 전문 또는 주요 내용 | |
| businessNumber | No | ||
| companyProfile | No | ||
| requestedAmount | No | 신청 금액(원) | |
| projectPeriodMonths | No | 사업 기간(개월) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates a structured draft with section guides and item lists, which implies a creative/writing operation. However, it lacks details on permissions needed, rate limits, output format (e.g., text, JSON), whether it's idempotent, or error handling. For a tool with no annotations and complex inputs, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with two sentences that directly state the purpose and output features. There's no wasted text, and it efficiently communicates the core functionality. However, it could be slightly more structured by separating usage context from output details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, nested objects, no output schema, and no annotations), the description is incomplete. It explains the high-level function but lacks details on behavioral traits, parameter usage, and output expectations. For a tool that generates structured documents, more context on the output format and process is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions analyzing '공고 텍스트와 회사 정보' (announcement text and company information), which aligns with parameters like 'announcementText' and 'companyProfile'. However, schema description coverage is 50%, and the description doesn't add meaning for undocumented parameters (e.g., 'announcementTitle', 'businessNumber', 'requestedAmount', 'projectPeriodMonths') or clarify usage. It provides marginal context but doesn't fully compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '공고 텍스트와 회사 정보를 분석해 사업계획서 구조화 초안을 생성합니다' (analyzes announcement text and company information to generate a structured draft business plan). It specifies the verb (analyze and generate), resource (business plan draft), and scope (structured with sections). However, it doesn't explicitly differentiate from sibling tools like 'draftSettlementReport' or 'generateDocumentChecklist', which might also generate documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions what it does but doesn't specify prerequisites, ideal scenarios, or exclusions. For example, it doesn't indicate if this should be used before or after tools like 'checkEligibility' or 'searchGovernmentSupport', or if it's for initial drafting versus finalization.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
draftSettlementReportA
【정산 보고서】수혜 이력 ID를 기반으로 집행 내역·실적·첨부 서류 목록을 포함한 정산 보고서 초안을 생성합니다. 먼저 manageBenefitHistory 로 이력을 등록하고 지출(add_expense)을 기록한 후 사용하세요.
| Name | Required | Description | Default |
|---|---|---|---|
| benefitRecordId | Yes | 수혜 이력 ID | |
| reportingPeriodStart | Yes | 보고 기간 시작일 (YYYY-MM-DD) | |
| reportingPeriodEnd | Yes | 보고 기간 종료일 (YYYY-MM-DD) | |
| achievements | No | 실적 달성 내용 | |
| remainingBalance | No | 잔액 (생략 시 자동 계산) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool creates a draft report, implying a write operation, but doesn't specify permissions, rate limits, or what the output looks like (e.g., format, structure). It adds some context about prerequisites, but lacks details on behavioral traits like error handling or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, with the first sentence stating the core purpose and the second providing essential usage guidelines. Every sentence earns its place without redundancy, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a report generation tool with 5 parameters and no output schema), the description is fairly complete. It explains the purpose, prerequisites, and key parameters implicitly, but lacks details on output format or error conditions. With no annotations and no output schema, it could benefit from more behavioral context, but it covers essential usage aspects adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds minimal semantic value beyond the schema, mentioning the benefitRecordId as the basis but not elaborating on parameter interactions or usage nuances. Baseline 3 is appropriate as the schema handles most documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('생성합니다' - creates) and resources ('정산 보고서 초안' - settlement report draft), and distinguishes it from siblings by specifying it generates a draft report based on benefit history ID, unlike tools like manageBenefitHistory or add_expense which handle different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidelines, stating when to use this tool ('먼저 manageBenefitHistory 로 이력을 등록하고 지출(add_expense)을 기록한 후 사용하세요' - first register history with manageBenefitHistory and record expenses with add_expense, then use this) and naming alternatives (manageBenefitHistory, add_expense), which clarifies prerequisites and workflow context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generateDocumentChecklistB
【서류 준비】공고 텍스트에서 필요 서류를 추출하고 발급기관·소요일수·수집 기한을 포함한 체크리스트를 생성합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| announcementTitle | Yes | 공고 제목 | |
| announcementText | Yes | 공고 본문 또는 제출 서류 섹션 텍스트 | |
| deadline | No | 신청 마감일 (YYYYMMDD 또는 YYYY-MM-DD) | |
| businessType | No | 기업 형태 (기본 법인) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it describes the core function, it lacks critical behavioral details: what format the checklist output takes, whether this is a read-only analysis or creates persistent data, error handling for malformed input, or any rate limits. For a tool with 4 parameters and no output schema, this leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient Korean sentence that front-loads the core purpose. Every element serves a purpose: identifies the task, source material, and output attributes. While concise, it could potentially benefit from slightly more structure for non-Korean readers, but within the Korean context it's well-formed and waste-free.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (document extraction and checklist generation with 4 parameters), no annotations, and no output schema, the description is minimally adequate but incomplete. It covers the what but not the how or what results to expect. For a tool that presumably returns structured checklist data, the absence of output information is a significant gap, though the purpose is clearly stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing good parameter documentation. The description adds marginal value by contextualizing the parameters as coming from '공고 텍스트' (announcement text), but doesn't provide additional semantics beyond what's in the schema. It doesn't explain relationships between parameters or provide usage examples. Baseline 3 is appropriate given the comprehensive schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: extracting required documents from announcement text and generating a checklist with specific attributes (issuing authority, processing time, collection deadline). It uses specific verbs ('추출하다' - extract, '생성하다' - generate) and identifies the resource (documents from announcements). However, it doesn't explicitly differentiate from sibling tools that might also process announcement data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning '공고 텍스트' (announcement text) and document preparation, suggesting it's for processing government/business announcements. However, it provides no explicit guidance on when to use this tool versus alternatives like 'checkEligibility' or 'searchGovernmentSupport', nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manageAlertProfileA
【알림 관리】지원사업 알림 프로파일을 생성·조회·수정·삭제합니다. 키워드·분야·지역·대상 유형별 알림 조건을 저장합니다. action: list | get | create | update | delete
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | 수행할 작업 | |
| id | No | 프로파일 ID (get/update/delete 시 필수) | |
| name | No | 프로파일 이름 (create/update 시) | |
| keywords | No | 감시 키워드 목록 | |
| fields | No | 지원 분야 목록 | |
| regions | No | 지역 목록 | |
| targetTypes | No | 대상 유형 목록 | |
| sources | No | 소스 목록 (bizinfo/kstartup/smes24) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions CRUD operations but lacks details on permissions required, whether changes are reversible, rate limits, or what happens to existing data during updates/deletes. For a tool with multiple mutation actions (create, update, delete) and no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core purpose in the first sentence and listing actions and condition types efficiently. It uses minimal sentences with no wasted words. However, the inclusion of Korean characters and mixed formatting slightly reduces readability, preventing a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, multiple mutation actions) and lack of annotations and output schema, the description is incomplete. It does not cover behavioral aspects like authentication needs, error handling, or response formats, which are crucial for an agent to use this tool effectively. The schema covers parameters well, but the description fails to compensate for missing context elsewhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 8 parameters thoroughly. The description adds minimal value beyond the schema by listing the condition types (keywords, fields, regions, target types) and specifying the action parameter values, but it does not provide additional syntax, format, or usage details for parameters. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: managing alert profiles for government support notifications through CRUD operations (create, retrieve, update, delete). It specifies the resource ('alert profiles'), the actions, and the types of alert conditions stored (keywords, fields, regions, target types). This is specific and distinguishes it from sibling tools which focus on searching, drafting, or checking eligibility rather than profile management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: for managing alert profiles with specific condition types. It lists the available actions (list, get, create, update, delete), which helps guide usage. However, it does not explicitly state when NOT to use it or name alternatives among sibling tools (e.g., searchGovernmentSupport for finding supports vs. managing alerts).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manageBenefitHistoryC
【이력 관리】정부지원 수혜 이력을 관리합니다. 사업 선정 등록, 지출 내역 추가, 마일스톤 기록이 가능합니다. action: list | get | create | update | add_expense | add_milestone | delete
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| id | No | 수혜 이력 ID | |
| businessNumber | No | 사업자등록번호 (list 필터, create 필수) | |
| companyName | No | ||
| announcementId | No | ||
| announcementTitle | No | ||
| agency | No | ||
| approvedAmount | No | 승인 금액(원) | |
| currency | No | 통화 (기본 KRW) | |
| periodStart | No | 사업 시작일 | |
| periodEnd | No | 사업 종료일 | |
| status | No | ||
| memo | No | ||
| usedAmount | No | 집행 금액(원) | |
| expense | No | 지출 항목 (add_expense 시) | |
| milestone | No | 마일스톤 항목 (add_milestone 시) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but provides minimal information. It mentions the available actions but doesn't describe what each action does behaviorally (e.g., whether 'delete' is permanent, whether 'create' requires specific permissions, what format results return, or any rate limits). The description doesn't contradict annotations since none exist, but it fails to provide essential behavioral context for a multi-action tool with 16 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise with two sentences that cover the tool's purpose and available actions. The action list is efficiently presented. However, the Korean text followed by English action list creates minor structural inconsistency, and the description could be more front-loaded with critical information about the tool's primary use cases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 16 parameters, no annotations, no output schema, and multiple actions, the description is inadequate. It doesn't explain the relationships between actions and parameters, doesn't describe return formats, and provides no behavioral context. The description fails to address the tool's complexity, leaving significant gaps in understanding how to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 56% schema description coverage, the description adds minimal value beyond what the schema provides. It mentions the available actions but doesn't explain when each parameter is required or how they interact with different actions. The schema already documents most parameters adequately, so the baseline of 3 is appropriate, but the description doesn't compensate for the 44% coverage gap in parameters like 'companyName', 'announcementId', or 'memo'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: managing government support benefit history with specific operations like business selection registration, expense addition, and milestone recording. It distinguishes itself from siblings by focusing on historical data management rather than eligibility checking, searching, or document generation. However, it doesn't explicitly contrast with similar-sounding tools like 'searchGovernmentSupport'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While it lists available actions, it doesn't explain when to choose 'list' versus 'get', or when to use this tool instead of sibling tools like 'searchGovernmentSupport' or 'checkEligibility'. There's no mention of prerequisites, dependencies, or typical workflow contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchGovernmentSupportA
【통합 탐색】기업마당·K-Startup·중소벤처24를 동시에 검색하고 중복 공고를 제거한 통합 결과를 반환합니다. 키워드·분야·지역·소스 선택이 가능합니다. 기본 소스는 bizinfo + kstartup 입니다.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | No | 검색 키워드 (제목·기관명 포함 검색) | |
| field | No | 지원 분야 필터 | |
| region | No | 지역 필터 (예: 서울, 경기, 전국) | |
| sources | No | 검색 소스 (기본: [bizinfo, kstartup]) | |
| onlyRecruiting | No | 모집중인 공고만 조회 (기본 true) | |
| maxPerSource | No | 소스별 최대 조회 건수 (기본 30, 최대 100) | |
| strDt | No | SMES24 조회 시작일 (YYYYMMDD) | |
| endDt | No | SMES24 조회 종료일 (YYYYMMDD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by describing the deduplication behavior and default source selection. However, it doesn't mention important behavioral aspects like rate limits, authentication requirements, pagination, error conditions, or what the unified result format looks like. For a complex 8-parameter search tool with no annotations, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two sentences that convey the core functionality and key capabilities. Every sentence earns its place by providing essential information about the tool's integrated search approach and parameter options. It could be slightly more front-loaded by mentioning the deduplication earlier, but overall it's well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, no annotations, no output schema), the description provides good context about the integrated search approach and deduplication. However, it doesn't explain the return format, error handling, or important behavioral constraints. For a search tool that aggregates multiple sources, more information about result structure and limitations would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all 8 parameters thoroughly. The description mentions keyword, field, region, and source selection capabilities, but adds no additional semantic context beyond what's already in the parameter descriptions. The baseline of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('통합 탐색', '동시에 검색', '중복 공고를 제거', '통합 결과를 반환') and resources ('기업마당·K-Startup·중소벤처24'). It explicitly distinguishes itself from sibling tools by mentioning it searches multiple sources simultaneously and removes duplicates, unlike the single-source search_gov_support_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance by stating it searches multiple sources simultaneously and removes duplicate announcements. It also specifies the default sources (bizinfo + kstartup) and mentions alternative sources can be selected, clearly differentiating it from the single-source sibling tools (search_gov_support_bizinfo, search_gov_support_kstartup, search_gov_support_smes24).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_gov_support_bizinfoB
기업마당(bizinfo.go.kr) 지원사업 공고를 단독 조회합니다. 분야별 검색이 가능합니다. BIZINFO_API_KEY 환경변수가 필요합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| field | No | 지원 분야 (미입력 시 전체) | |
| pageIndex | No | 페이지 번호 (기본 1) | |
| pageUnit | No | 페이지당 건수 (기본 10, 최대 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the need for an API key (authentication requirement) and implies search functionality, but it doesn't describe key behaviors such as rate limits, pagination details (beyond what's in the schema), error handling, or the format of returned data. For a search tool with no annotations, this leaves significant gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with two sentences that efficiently state the purpose, search capability, and authentication requirement. There's no wasted text, and it's appropriately sized for the tool's complexity. However, it could be slightly more structured (e.g., separating usage notes) to reach the highest score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (search with pagination), no annotations, and no output schema, the description is incomplete. It covers the basic purpose and authentication but lacks details on behavioral traits (e.g., rate limits), output format, and differentiation from siblings. For a tool without structured output documentation, more context is needed to be fully helpful to an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, providing clear details for all parameters (field, pageIndex, pageUnit) including enums and defaults. The description adds minimal value beyond the schema, only implying field-based search without specifying syntax or additional constraints. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '기업마당(bizinfo.go.kr) 지원사업 공고를 단독 조회합니다' (retrieves government support announcements from bizinfo.go.kr). It specifies the resource (support announcements) and action (retrieve/search). However, it doesn't explicitly distinguish this tool from sibling tools like 'searchGovernmentSupport' or 'search_gov_support_kstartup', which appear to serve similar purposes, so it doesn't reach the highest clarity level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage context: '분야별 검색이 가능합니다' (field-based search is possible) and mentions the required BIZINFO_API_KEY environment variable. However, it doesn't explicitly state when to use this tool versus alternatives like 'searchGovernmentSupport' or 'search_gov_support_smes24', nor does it provide exclusions or detailed prerequisites beyond the API key. Usage is implied rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_gov_support_kstartupB
K-Startup(k-startup.go.kr) 창업지원사업 공고를 단독 조회합니다. PUBLIC_DATA_SERVICE_KEY 환경변수(data.go.kr 발급)가 필요합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| supt_biz_clsfc | No | 지원사업 분류 (미입력 시 전체) | |
| supt_regin | No | 지원 지역 | |
| rcrt_prgs_yn | No | 모집중 여부 (기본 Y) | |
| pageNo | No | ||
| numOfRows | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the authentication requirement (PUBLIC_DATA_SERVICE_KEY), which is valuable context. However, it lacks critical behavioral details such as whether this is a read-only operation, potential rate limits, pagination behavior (implied by pageNo/numOfRows but not explained), error handling, or what the output format looks like. The description is insufficient for a tool with 5 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences: one stating the purpose and resource, and another noting the authentication requirement. It's front-loaded with the core functionality. No wasted words, though it could be slightly more structured (e.g., separating purpose from prerequisites).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, no annotations, no output schema), the description is incomplete. It covers authentication and high-level purpose but misses behavioral traits (e.g., read-only status, pagination), output details, and guidance on parameter use. For a search tool with multiple filters and pagination, this leaves significant gaps for an AI agent to operate effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 60% (3 of 5 parameters have descriptions: supt_biz_clsfc, supt_regin, rcrt_prgs_yn), while pageNo and numOfRows lack descriptions. The description adds no parameter-specific information beyond what the schema provides—it doesn't explain parameter interactions, default values beyond rcrt_prgs_yn's 'Y', or usage examples. With moderate schema coverage, the baseline is 3 as the description doesn't compensate for the gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('단독 조회합니다' - retrieves/single query) and resource ('K-Startup(k-startup.go.kr) 창업지원사업 공고' - K-Startup startup support project announcements). It distinguishes from siblings like 'searchGovernmentSupport' by specifying the specific K-Startup platform, though it doesn't explicitly contrast with 'search_gov_support_bizinfo' or 'search_gov_support_smes24' which likely target different data sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning the required environment variable (PUBLIC_DATA_SERVICE_KEY) for authentication, which suggests when this tool is applicable (when that key is available). However, it provides no explicit guidance on when to use this tool versus sibling tools like 'searchGovernmentSupport', 'search_gov_support_bizinfo', or 'search_gov_support_smes24', leaving the agent to infer based on platform names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_gov_support_smes24C
중소벤처24 공고 API(extPblancInfo)를 단독 조회합니다. SMES24_API_KEY 및 서버 IP 허용이 필요합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| strDt | No | 조회 시작일 (YYYYMMDD) | |
| endDt | No | 조회 종료일 (YYYYMMDD) | |
| pageNo | No | ||
| numOfRows | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions authentication requirements (API key and IP allowance), which is useful. However, it lacks details on rate limits, error handling, response format, or whether the operation is read-only or has side effects. For a tool with no annotations, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and to the point, consisting of two sentences that cover the core functionality and prerequisites without unnecessary elaboration. It is front-loaded with the main action. However, it could be slightly more structured by separating usage notes from the core purpose for better clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a search tool with four parameters, no output schema, and no annotations), the description is incomplete. It lacks details on output format, error conditions, pagination behavior, and differentiation from sibling tools. While it covers authentication needs, it doesn't provide enough context for an agent to use the tool effectively without additional assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (two of four parameters have descriptions in the schema). The description does not add any information about parameters beyond what the schema provides, such as explaining the purpose of 'pageNo' and 'numOfRows' for pagination or detailing date format constraints. With moderate schema coverage, the baseline score of 3 reflects that the description doesn't compensate for the gaps but doesn't worsen them either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('단독 조회합니다' - 'retrieves individually') and the resource ('중소벤처24 공고 API(extPblancInfo)' - 'SME Venture 24 announcement API'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'searchGovernmentSupport' or 'search_gov_support_bizinfo', which likely serve similar purposes but target different resources or APIs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions prerequisites ('SMES24_API_KEY 및 서버 IP 허용이 필요합니다' - 'requires SMES24_API_KEY and server IP allowance'), which provides some context for when to use it. However, it offers no guidance on when to choose this tool over alternatives like 'searchGovernmentSupport' or 'search_gov_support_bizinfo', nor does it specify exclusions or ideal scenarios for its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
12 tool updates
v1.0.0- First observed
buildApplicationTimeline - First observed
checkEligibility - First observed
compareByRegion - First observed
draftBusinessPlan - First observed
draftSettlementReport - First observed
generateDocumentChecklist - First observed
manageAlertProfile - First observed
manageBenefitHistory - First observed
search_gov_support_bizinfo - First observed
search_gov_support_kstartup - First observed
search_gov_support_smes24 - First observed
searchGovernmentSupport
TDQS
Scored across 12 tools
Most tools have distinct purposes, such as timeline building, eligibility checking, and document drafting. However, the three search tools (search_gov_support_bizinfo, search_gov_support_kstartup, search_gov_support_smes24) overlap in functionality with the integrated search tool (searchGovernmentSupport), which could cause confusion about when to use each. The descriptions clarify the differences, but the overlap is notable.
The naming conventions are mixed: some tools use camelCase (e.g., buildApplicationTimeline, checkEligibility), while others use snake_case (e.g., search_gov_support_bizinfo). This inconsistency reduces predictability, though the names remain readable. A few tools like manageAlertProfile and manageBenefitHistory follow a consistent verb_noun pattern, but the overall set lacks uniformity.
With 12 tools, the count is well-suited for the server's purpose of supporting government grant applications. It covers a comprehensive range of tasks from search and eligibility checks to document drafting and history management, without feeling overloaded or sparse. Each tool appears to serve a specific, valuable function in the workflow.
The tool set provides complete coverage for the domain of government support applications. It includes search, eligibility assessment, timeline planning, document drafting (e.g., business plans, settlement reports), checklist generation, and management of alerts and benefit histories. There are no obvious gaps; agents can handle end-to-end workflows from discovery to reporting.
Maintenance
Related MCP Connectors
- mcpweaveOAuthcom.mcpweave
Korea-native MCP gateway: Korean commerce, payments, messaging, gov & finance APIs for AI agents.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
AI governance MCP server for EU AI Act compliance and jurisdiction verification
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that automates government and enterprise tender workflows, including RFP parsing, proposal generation, and compliance tracking. It provides 18 specialized tools for technical and financial proposal assembly, partner coordination, and hybrid search across past proposal archives.1-
- FlicenseNot gradedqualityDmaintenanceA remote MCP server for navigating Korean senior-care support, routing questions across welfare, medical, and administrative services using official sources.-
- FlicenseAqualityDmaintenanceAn MCP server that enables searching Korean government startup grants, checking eligibility, scoring applications, and writing business plans with deterministic coaching.13-
- FlicenseAqualityCmaintenanceMCP server that searches and matches youth policies and subsidies, checks eligibility conditions against user profiles, and returns detailed reasons (eligible/ineligible/needs_more_info) to drive an agentic question-answer loop.6-