피드로 돌아가기
Dev.toAI/ML
원문 읽기
JSON-RPC 기반 표준 프로토콜 MCP를 통한 AI-외부 컨텍스트 통합 구조 설계
Building an MCP server with Node.js
AI 요약
Context
AI 호스트와 외부 데이터/액션을 연결할 때 발생하는 Ad-hoc 플러그인 방식의 파편화 문제를 해결하기 위해 등장함. 개별 서비스마다 다른 인터페이스를 정의해야 하는 비효율성을 표준화된 프로토콜로 대체하는 구조임.
Technical Solution
- JSON-RPC 기반의 표준 통신 규격을 채택하여 Transport 계층(stdio, HTTP)에 독립적인 메시지 교환 구조 설계
- Tool(쓰기/실행), Resource(읽기 전용 데이터), Prompt(템플릿)로 역할과 권한을 분리하여 모델의 인터랙션 범위 제한
- Zod 스키마를 통한 Input Validation 계층을 구축하여 모델이 생성한 인자의 타입 안정성 확보 및 런타임 에러 방지
- Factory 패턴을 적용한 서버 정의 구조를 통해 단일 로직으로 stdio 및 HTTP 등 다양한 전송 계층 대응 가능
- Client-Server 간의 Initialization Handshake 과정을 통해 런타임 전 가용 기능(Capabilities)을 동적으로 탐색하는 구조 구현
실천 포인트
1. Tool의 입력값에 Zod 스키마를 적용하여 타입 검증 단계가 포함되었는가
2. 데이터 수정 작업은 Tool로, 단순 조회는 Resource로 명확히 분리했는가
3. stdio 전송 방식 사용 시 로그 출력을 stdout이 아닌 stderr로 설정했는가
4. 공용 HTTPS 엔드포인트 노출 시 Streamable HTTP 및 OAuth
2.1 인증 체계를 검토했는가