ToolHive를 활용한 MCP 서버 개발 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
Go 언어와 MCP 프로토콜에 익숙한 개발자 및 DevOps 엔지니어 (중급~고급)
핵심 요약
- ToolHive는 MCP 서버 개발을 위한 경량 런타임으로, 인증, 트랜스포트 처리 등을 자동화해 개발자 생산성을 향상
- Go 기반 MCP 서버 개발 시
mcp-go
라이브러리,ko
컨테이너 빌더,testify
테스트 프레임워크가 핵심 도구 - KISS + DRY 원칙과 보안 중심 설계를 기반으로 최소한의 도구로 서버를 구축하고 실시간 테스트/리뷰를 강조
섹션별 세부 요약
1. ToolHive 소개
- ToolHive는 MCP 서버의 인증, 트랜스포트, 런타임 관리를 추상화해 개발자에게 구조적 자유도 제공
- fetch 및 github 서버 예시로, AI 클라이언트가 URL 호출 및 GitHub PR 생성 가능
- Dockerfile 없이 Go 바이너리 또는 컨테이너 이미지로 직접 실행 가능
2. 개발 스택 및 도구
- Go 언어 기반 MCP 서버 개발:
mcp-go
와mcp-go/server
라이브러리 사용 - ko 빌더로 Dockerfile 없이 최소한의 보안 컨테이너 생성
- testify로 테스트 작성, golangci-lint로 스타일 검증
- Anthropic Claude Sonnet 4 및 Roo Code LLM 클라이언트 활용
3. MCP 서버 개발 원칙
- Minimalism: 최소한의 도구로 복잡성을 줄임 (
mcp-go
중심) - Observability: 프로토콜, 요청, 오류 전반에 대한 모니터링 강화
- Security: non-root 컨테이너, 최소 기반 이미지, 입력 검증 적용
- Rapid feedback: 테스트 및 라이너 실행으로 개발 흐름 유지
4. 개발 워크플로우 예시
- Go 코드 작성 →
mcp-go
기반 MCP 서버 구현 - testify로 단위 테스트 작성 →
golangci-lint
로 스타일 검증 ko
로 컨테이너 빌드 또는 ToolHive로 직접 실행 (thv run go://./cmd/my-server
)- SSE, HTTP, 비컨테이너 서버 모두
thv run
단일 명령어로 실행 가능
5. 보안 및 운영 최적화
- 자동 업데이트, 최소 컨테이너 이미지, 취약점 스캔 등 소프트웨어 공학 표준 준수
- SBOM, 서명/출처 공개, 취약점 보고 체계 구축 (LLM 활용 가능)
결론
- ToolHive를 활용해 아이디어 → 테스트 → 배포까지 간결한 워크플로우 적용
- KISS 원칙과 LLM 협업을 통해 보안성, 유지보수성 극대화
thv run
명령어로 다양한 서버 유형 빠르게 생성 가능 (SSE, HTTP 등)