에이전트가 내 DB 를 지웠다
데이터 & AI 엔지니어링 · 중급 · 이론 4 · 퀴즈 4 · 실습 3
SDK 없이 json·sys·sqlite3 만으로 MCP stdio 서버를 만듭니다. initialize 와 tools/list·tools/call 을 스펙대로 처리하고, run_sql 하나로 무엇이든 하던 서버가 DROP TABLE 을 실행하는 사고를 재현한 뒤 허용 목록·읽기 전용 모드·확인 단계로 막습니다. 마지막에 감사 로그·스키마 검증·타임아웃·호출 제한을 넣어 운영할 수 있는 서버로 끝냅니다. API 를 하나 운영해 본 분을 위한 과정입니다.
커리큘럼
MCP 가 정한 것
메시지 세 종류, initialize 순서, 도구 계약과 오류 두 종류
표준 라이브러리로 짜는 stdio 서버
줄 단위 JSON-RPC 루프, 알림 무시, tools/list·tools/call, stdout 위생
에이전트가 DB 를 지우기 전에
사고 재현 → 읽기 전용 모드 → 허용 목록 → 파괴적 도구의 확인 단계
누가 언제 무엇을 불렀나
감사 로그, 실행 전 스키마 검증, 도구 타임아웃, 로그 알림, 호출 제한