새벽 3시 서버 터지면? AI 에이전트가 대신 고칩니다 — MCP DevOps 실전


새벽 3시, 핸드폰 알림이 울립니다. 서버 터졌습니다. 잠에서 일어나서 노otebook 열고, SSH 접속하고, 로그 확인하고, 원인 찾고, 해결하고… 이게 개발자의 숙명이었죠? 이제 AI 에이전트가 새벽 3시에 대신 일하게 만들 수 있습니다.

오늘은 MCP (Model Context Protocol)로 AI 에이전트가 서버를 직접 관리하게 만드는 방법을 다룹니다. Anthropic이 만든 프로토콜인데, AI가 외부 도구(파일 시스템, 데이터베이스, API)에 직접 접근해서 작업할 수 있게 해줍니다.

MCP란?

MCP는 AI와 외부 도구 사이의 표준 연결 규격입니다. 비유하자면, AI를 위한 “USB 포트” 같은 겁니다. 예전엔 각 도구마다 따로 연결해야 했는데, 이제 표준 포트가 생겨서 꽂기만 하면 됩니다.

지금까지 AI한테 “서버 상태 확인해줘” 하면, AI가 “이 명령어를 실행하세요” 하고 가이드만 줬습니다. 실행은 내가 직접 해야 했죠. MCP가 있으면 AI가 “알겠습니다, 처리했습니다” 하고 직접 실행합니다. AI가 읽기만 하던 시대에서, AI가 직접 손을 움직이는 시대로 넘어가는 겁니다.

MCP 서버 설정: 파일 시스템 + 셸

VPS에 MCP 환경을 구축합니다. 기본이 되는 두 가지 MCP 서버를 설정합니다: @anthropic/mcp-server-filesystem@anthropic/mcp-server-shell.

보안이 핵심입니다. filesystem 서버의 args에 경로를 지정하면, AI는 그 경로 안의 파일만 읽을 수 있습니다. /를 주면 시스템 전체를 마음대로 뒤지게 되니, /var/log, /etc/nginx, /home/user/projects처럼 필요한 경로만 지정하세요. shell 서버는 더 위험합니다 — AI가 임의의 명령어를 실행할 수 있거든요. 프로덕션 서버에서는 shell 접근을 아예 안 주거나, 화이트리스트 명령어만 실행 가능하게 제한하는 게 좋습니다.

Python으로 커스텀 MCP 서버도 만들 수 있습니다. check_disk_usage, clean_old_logs, check_service_status 같은 도구를 만들면, AI가 직접 호출할 수 있습니다.

AI 에이전트로 로그 분석 자동화

MCP filesystem 서버를 통해 AI가 /var/log에 접근할 수 있습니다. “최근 24시간 동안 nginx 에러 로그를 분석해줘”라고 하면 AI가:

  1. filesystem MCP로 로그 파일 읽기
  2. 최근 24시간 로그 필터링
  3. 에러 패턴 분석 (빈도, 유형)
  4. 원인과 해결책까지 제시

단순히 “429 에러가 1,247회 발생했습니다” 하고 숫자만 알려주는 게 아니라, “이 에러는 특정 IP에서 집중적으로 발생하고 있으니, 봇 공격일 가능성이 높습니다. Fail2ban이나 UFW 방화벽으로 차단하세요” 하고 원인과 해결책까지 분석합니다.

디스크 자동 정리 에이전트

디스크가 가득 차면 서버가 멈춥니다. AI가 정기적으로 체크하고 정리하게 만듭니다. daily_health_check.py를 cron에 등록하면, 매일 아침 6시에 AI가 서버를 점검하고, 문제가 있으면 알림을 보냅니다.

로그 정리 정책도 중요합니다. 무조건 삭제하면 안 되고, 보존 기간을 정해야 합니다. 7일 이상 된 로그를 삭제하되, 중요한 로그는 /backup/logs/에 백업해두는 게 좋습니다. VPS 셸 스크립팅 자동화 가이드의 백업 스크립트와 연동하면 더 체계적인 로그 관리가 가능합니다.

장애 감지 및 알림 자동화

마지막으로, n8n과 MCP를 연동한 장애 감지 시스템입니다. MCP는 “두뇌” 역할, n8n은 “손발” 역할입니다. MCP가 “디스크 사용량 90% 감지, 정리 실행” 판단하면, n8n이 Discord 알림 발송, 이메일 전송을 담당합니다.

기존 모니터링(Prometheus + Grafana)은 수치를 수집하고 그래프를 그려줍니다. 하지만 “왜 95%인지”는 알려주지 않습니다. MCP 기반 AI 에이전트는 “CPU 95%의 원인이 nginx worker_connections 부족”까지 분석합니다. “데이터 수집은 Prometheus, 분석과 조치는 AI 에이전트” 이렇게 역할을 나누면 최고의 조합이 됩니다.

실전 팁: MCP 도입 시 주의사항 3가지

1. 권한은 최소한으로. AI에게 root 권한을 주면 안 됩니다. 전용 사용자를 만들고, sudo 권한은 특정 명령어만 허용하세요. 예를 들어 systemctl restart nginx만 가능하도록 sudoers를 설정하는 것이 안전합니다.

2. 변경 사항은 반드시 로그로 남기기. AI가 실행한 모든 명령어와 결과를 파일에 기록하세요. 나중에 “왜 이 설정이 바뀌었지?”라고 할 때 추적할 수 있어야 합니다. MCP 서버 자체에 audit log 기능을 추가하는 것을 권장합니다.

3. 프로덕션에서는 dry-run 먼저. 실제 서비스에 영향을 주는 명령어(서비스 재시작, 패키지 설치 등)는 AI가 바로 실행하지 못하게 하고, 먼저 dry-run으로 결과를 확인한 뒤 사람이 승인하는 2단계 프로세스를 만드세요.

자주 하는 질문 (FAQ)

Q: MCP 없이 기존 모니터링 도구로는 부족한가요?
기존 도구(Prometheus, Grafana, Datadog)는 수치를 수집하고 알림을 주는 데 탁월합니다. 하지만 “왜 이 수치가 이런가?”라는 질문에는 답하지 못합니다. MCP 기반 AI 에이전트는 수치의 원인을 분석하고 해결책까지 제시합니다. 기존 도구를 대체하는 것이 아니라, 분석과 조치 단계를 보완하는 것으로 이해하시면 됩니다.

Q: 프로덕션 서버에 바로 적용해도 되나요?
먼저 개발/스테이징 환경에서 충분히 테스트하세요. 특히 shell 접근 권한은 보안 위험이 크므로, 파일 시스템 읽기 전용으로 시작해서 점진적으로 권한을 확장하는 것을 권장합니다. dry-run 모드를 먼저 사용하고, 안정적이라고 판단되면 프로덕션에 적용하세요.

W35-W40 AI 인프라 시리즈 정리

주차 주제 핵심
W35 Ollama + Open WebUI 나만의 AI 서버 구축
W36 AI 코딩 툴 비교 뭘 쓸지 결정
W37 n8n 자동화 AI 워크플로
W38 Vibe Coding AI로 프로젝트 만들기
W39 RAG AI에게 지식 주입
W40 MCP Agent AI가 서버 관리

결국 VPS 1대 + AI = 1인 기업의 인프라가 됩니다. 한 번 구축해두면 계속 쓸 수 있으니까, MCP 설정만 해두면 여러분의 서버 관리가 완전히 달라질 겁니다. nicepang AI 카테고리에서 더 많은 AI 인프라 가이드를 확인할 수 있습니다.

관련 글