문제 (Problem)
MCP(Model Context Protocol) 서버 개발자들이 직면하는 테스트 문제:
- 도구 호출의 정확성을 검증하기 위해 매번 테스트 코드를 수동 작성
- MCP 프로토콜의 입출력 스키마, 에러 처리, 스트리밍 응답을 수동으로 커버하기 어려움
- MCP Inspector(공식 도구)는 수동/GUI 전용 — CI/CD 통합 불가
- 2026년 2월 기준 Show HN의 20%+ 프로젝트가 MCP 관련 — 생태계 폭발적 성장 중
Pain Point 강도: 8/10 - MCP 서버를 배포할 때마다 반복되는 일상적 마찰
시장 (Market)
- 1차 시장: MCP 서버를 구축하는 백엔드/풀스택 개발자
- 세그먼트: AI 에이전트 통합을 구축하는 개발자, 마켓플레이스에 MCP 도구를 배포하는 팀
- TAM: 50,000-150,000 활성 MCP 서버 개발자 (12-18개월 내), $17M-$142M ARR
- 검증 신호:
- Alpic: €5.1M 프리시드 (MCP 네이티브 클라우드 플랫폼)
- Manufact: $6.3M 시드, 5M SDK 다운로드, 6주 만에 6자리 ARR, US Fortune 500의 20% 사용
- PactFlow(SmartBear): 전용 MCP Server 제품 출시 — 테스팅 수요 직접 검증
솔루션 (Solution)
MCPSpec - MCP 서버를 위한 스펙 기반 계약 테스트. YAML 선언으로 테스트 코드 없이 MCP 서버 검증
핵심 기능
- 제로 코드 테스트 작성: YAML/JSON 스펙 파일로 예상 동작 선언 → 자동 테스트 생성/실행
- 스트리밍 응답 검증: MCP 고유의 스트리밍 도구 호출 응답 네이티브 지원
- CI/CD 통합: GitHub Actions, GitLab CI 즉시 연동
- 스펙 템플릿 라이브러리: 공통 MCP 도구 패턴별 사전 정의 스펙 제공
스펙 파일 예시
# mcpspec.yaml - MCP 서버 테스트 스펙
server:
name: "weather-mcp-server"
command: "node dist/index.js"
transport: stdio
tools:
- name: get_weather
description: "도시의 현재 날씨 조회"
# 정상 케이스 테스트
tests:
- name: "유효한 도시로 날씨 조회"
input:
city: "Seoul"
units: "celsius"
expect:
status: success
output:
contains: ["temperature", "humidity"]
schema:
temperature: { type: number, min: -50, max: 60 }
humidity: { type: number, min: 0, max: 100 }
# 에러 처리 테스트
- name: "존재하지 않는 도시 에러 처리"
input:
city: "NotARealCity12345"
expect:
status: error
error:
code: "CITY_NOT_FOUND"
message: { contains: "not found" }
# 스트리밍 응답 테스트
- name: "5일 예보 스트리밍 응답"
input:
city: "Seoul"
forecast_days: 5
expect:
streaming: true
chunks:
min_count: 5
each:
schema:
date: { type: string, format: date }
high: { type: number }
low: { type: number }
# CLI 실행
# $ mcpspec run --spec mcpspec.yaml
#
# ✓ get_weather: 유효한 도시로 날씨 조회 (245ms)
# ✓ get_weather: 존재하지 않는 도시 에러 처리 (89ms)
# ✓ get_weather: 5일 예보 스트리밍 응답 (1.2s, 5 chunks)
#
# 3/3 tests passed
경쟁 (Competition)
| 경쟁사 | 가격 | 약점 |
|---|---|---|
| MCP Inspector (공식) | 무료/OSS | 수동 GUI만, CI/CD 불가, 계약 테스트 없음 |
| PactFlow (SmartBear) | $300+/월 | MCP 프로토콜 미인식, 범용 계약 테스트 |
| Postman | $49/사용자/월 | MCP 시맨틱 미지원, 도구 호출 스키마 비인식 |
| 수동 테스트 (curl/scripts) | 무료 | 반복성 없음, CI 통합 불가 |
| Pact OSS | 무료 | MCP 미인식, 설정 부담 큼 |
경쟁 강도: Low-Medium - MCP 특화 테스트 프레임워크는 전무 차별점: MCP 네이티브 스펙 기반 테스트의 최초 상용 도구, 제로 코드, CI/CD 즉시 통합
MVP 개발 (MVP)
- MVP 기간: 6주
- 풀 버전: 5개월
- 기술 복잡도: Medium
- 필요 스택: TypeScript (MCP 클라이언트 SDK), Python (pytest 플러그인), Go (CLI 바이너리), GitHub Actions
MVP 범위
- TypeScript MCP 클라이언트 라이브러리 (도구 호출 자동화)
- YAML 스펙 파서 + 테스트 러너 엔진
- CLI 도구 + 기본 리포팅
- GitHub Actions 통합
수익 모델 (Revenue)
- 모델: Freemium + Subscription
- 가격:
- Free: 로컬 CLI, MCP 서버 3개, 기본 리포팅
- Pro: $29/개발자/월 (무제한 서버, CI 통합, 스펙 템플릿, 팀 공유)
- Team: $79/5석/월 (조직 대시보드, 정책 강제, 프라이빗 스펙 레지스트리)
- 예상 MRR (6개월): $3,000-8,000 (100-275 유료 개발자/팀)
- 예상 MRR (12개월): $18,000-45,000 (MCP 메인스트림 채택 시)
리스크 (Risk)
| 유형 | 수준 | 대응 |
|---|---|---|
| 기술 | Low-Medium | MCP 스펙 변경 가능 → Anthropic 체인지로그 추적, 호환성 매트릭스 유지 |
| 시장 | Medium | Postman/PactFlow가 MCP 지원 추가 가능 → 6-12개월 선점 필요 |
| 실행 | Low | 잘 정의된 범위, 1인 개발자 6주 MVP 가능, HN+Discord 배포 채널 확보 |
추천 (Recommendation)
점수: 83/100 ⭐⭐⭐⭐
추천 이유
- 폭발적 생태계 타이밍: MCP가 AI 에이전트의 사실상 표준 프로토콜로 자리잡는 초기 메인스트림 단계
- 완벽한 기술 적합: 백엔드/API/CLI/DevOps 20년 경력이 직접 활용되는 도구
- 빠른 MVP: 6주 만에 출시 가능 → 시장 검증 속도 최대화
- 오픈소스 + SaaS: OSS로 커뮤니티 확보 → Pro/Team 유료 전환 모델
리스크 요인
- Postman이 MCP 네이티브 테스팅을 빠르게 출시할 수 있음 (6-12개월 윈도우)
- 개발자 도구의 무료 기대치가 높아 유료 전환율이 낮을 수 있음
- MCP 스펙 자체가 아직 초기 단계로 빠른 변경 가능
첫 번째 액션
- TypeScript MCP 클라이언트로 3개 인기 MCP 서버(GitHub, Slack, filesystem)의 자동 테스트 PoC
- YAML 스펙 포맷 설계 + 파서 구현
- GitHub Actions 통합 PoC → Show HN + MCP Discord에 런칭
이 아이디어는 “MCPSpec – Ship reliable MCP servers without writing test code” Show HN 프로젝트에서 영감을 받아, MCP 생태계의 폭발적 성장 속에서 아직 아무도 체계적으로 해결하지 않은 “MCP 서버 테스팅” 문제를 정확히 겨냥합니다.