피드로 돌아가기
Dev.toBackend
원문 읽기
DB 직접 접근을 배제한 API Boundary 중심의 MCP 아키텍처 설계
MCP should not mean letting AI touch your database
AI 요약
Context
AI Agent가 MCP(Model Context Protocol)를 통해 Production Database에 직접 SQL 쿼리를 실행하는 구조의 위험성 식별. DB 계층에서는 Application 수준의 Validation, Authorization, Tenant Isolation 등 핵심 비즈니스 로직을 강제할 수 없다는 한계 존재.
Technical Solution
- AI Agent $\rightarrow$ MCP Tool $\rightarrow$ HTTP API $\rightarrow$ Handler $\rightarrow$ Use Case $\rightarrow$ Repository로 이어지는 엄격한 계층 구조 설계
- OpenAPI 스펙을 MCP Tool 정의의 Contract로 활용하여 API 기반의 정형화된 인터페이스 제공
- Read, Write, Admin, Destructive 단계의 Safety Level을 정의하여 기능별 접근 권한 및 검증 강도 차등 적용
- RFC 9457 Problem Details 표준을 적용하여 AI Agent가 인식 가능한 구조화된 Error Response 반환
- nene-mcp 브릿지를 통한 stdio JSON-RPC와 HTTP API 간의 Sidecar 구조 구현으로 비즈니스 경계 유지
- Credentials를 Repository에서 분리하고 환경 변수 기반의 Scope 관리 체계 도입
실천 포인트
- MCP Tool 설계 시 '일반 HTTP 클라이언트가 동일한 API로 수행 가능한가'를 검토하여 전용 경로 생성 지양 - Write/Destructive Tool 도입 시 Audit Logging 및 Request ID 전파 메커니즘 필수 구현 - AI-readability 확보를 위해 예측 가능한 JSON Schema와 구조화된 에러 컨트랙트 정의 - DB 직접 접근 쿼리 대신 기존 Application Boundary 내의 Repository 패턴 호출 경로 강제