Real Faults in Model Context Protocol (MCP) Software: a Comprehensive Taxonomy

이 논문은 모델 컨텍스트 프로토콜 (MCP) 기반 소프트웨어의 실재 결함에 대한 첫 번째 대규모 분류 체계를 제시하고, 실무자 조사를 통해 그 유효성을 검증하여 보다 견고하고 안전한 AI 소프트웨어 개발에 필요한 통찰을 제공합니다.

Mina Taraghi, Mohammad Mehdi Morovati, Foutse Khomh

게시일 Mon, 09 Ma
📖 4 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

이 논문은 **"MCP(모델 컨텍스트 프로토콜)"**이라는 새로운 기술이 도입되면서 생긴 소프트웨어 문제들을 체계적으로 분석한 연구입니다.

쉽게 말해, **"인공지능 (AI) 이 외부 도구 (파일, 데이터베이스, 웹 등) 와 손잡고 일할 때 생기는 오작동들의 종류와 원인을 찾아낸 지도"**라고 볼 수 있습니다.

이 복잡한 내용을 일상적인 비유로 풀어서 설명해 드릴게요.


🏠 비유: AI 는 '명령을 내리는 사장님', MCP 는 '비서'

상상해 보세요.

  • AI (LLM): 모든 일을 지시할 수 있지만, 직접 손발을 쓸 수 없는 **'초능력을 가진 사장님'**입니다.
  • 외부 도구 (파일, DB, 웹 API): 사장님이 직접 건드릴 수 없는 '창고, 금고, 우편함' 같은 것들입니다.
  • MCP (Model Context Protocol): 사장님과 창고/금고를 연결해주는 **'전문 비서'**입니다.

이전에는 사장님이 창고에 물건을 가져오라고 할 때, 비서마다 방식이 달랐습니다. 어떤 비서는 "창고 열쇠를 줘"라고 하고, 어떤 비서는 "창고 문을 두드려"라고 했습니다. 그래서 소통이 안 되거나 실수가 잦았습니다.

MCP는 이 모든 비서들이 **똑같은 규칙 (프로토콜)**을 따르도록 만든 '표준 매뉴얼'입니다. 하지만 이 새로운 매뉴얼이 생기고 나서, 비서들 (MCP 서버) 이 새로운 규칙을 따라 하다가 **새로운 종류의 실수 (버그)**들을 저지르기 시작했습니다.

이 논문은 바로 그 **'새로운 실수들'**을 수집하고 분류한 것입니다.


🔍 연구가 어떻게 진행되었나요? (수사팀의 작업)

연구진들은 마치 형사 수사팀처럼 행동했습니다.

  1. 현장 수색 (데이터 수집): GitHub(소프트웨어 개발자들이 코드를 공유하는 곳) 에 있는 수천 개의 MCP 관련 프로젝트에서 "에러가 났다"는 신고 (이슈) 3,000 건 이상을 모았습니다.
  2. 증거 분류 (클러스터링): 이 수많은 신고 중 진짜 '고장'에 해당하는 것만 골라내고, 비슷한 실수끼리 묶었습니다. (예: "문서가 안 읽힌다"는 것과 "코드가 안 실행된다"는 것을 구분)
  3. 전문가 인터뷰 (설문조사): 분류한 실수들이 실제로 현장에서 일어나는지, 개발자들에게 물어봤습니다. (41 명의 전문가가 참여)
  4. 결과 도출: 결국 5 가지 큰 범주로 실수들을 정리했습니다.

📋 발견된 5 가지 주요 실수 유형 (비서들의 실수 목록)

연구진은 MCP 서버에서 발생하는 실수를 다음과 같이 5 가지로 분류했습니다.

1. 🛠️ 서버 설정 문제 (Server Setting)

  • 비유: 비서가 출근하기 전에 전원 코드를 꽂지 않거나, 컴퓨터가 켜지지 않는 경우입니다.
  • 실제: 서버를 시작할 때 필요한 프로그램이 없거나, 윈도우/맥 등 운영체제 때문에 작동하지 않거나, 로그 (기록) 설정이 잘못되어서 서버가 아예 뜨지 않는 경우입니다.

2. ⚙️ 도구 설정 및 연결 문제 (Server/Tool Configuration)

  • 비유: 비서가 사장님의 지시를 받으면 창고 열쇠를 잘못 찾거나, 금고 비밀번호를 잘못 입력하는 경우입니다.
  • 실제: AI 가 "파일 열어줘"라고 했을 때, 그 파일을 찾는 도구 (Tool) 가 제대로 등록되지 않았거나, 연결이 끊기거나, 비밀번호 인증이 실패하는 경우입니다. 가장 많이 발생하는 문제 중 하나입니다.

3. 🤝 호스트 (사용자 앱) 와의 연결 문제 (Server/Host Configuration)

  • 비유: 사장님 (사용자 앱, 예: 클로드, IDE) 과 비서 (서버) 가 대화할 때 언어가 안 통하거나, 약속 시간을 잘못 잡는 경우입니다.
  • 실제: 사장님이 비서를 부르는 방식 (연결 설정) 이 비서가 이해하는 방식과 달라서 연결이 안 되거나, 세션이 꼬여서 다른 사람의 파일을 열어버리는 등의 문제가 생깁니다.

4. 📖 문서 부족 문제 (Documentation)

  • 비유: 비서에게 주는 사용 설명서가 엉망이거나, 예시 코드가 잘못된 경우입니다.
  • 실제: 개발자들이 어떻게 써야 할지 몰라 헤매게 만드는 문서의 오류입니다. MCP 가 아직 새 기술이라 문서가 아직 완벽하지 않아서 많이 발생합니다.

5. 💻 일반 프로그래밍 실수 (General Programming)

  • 비유: 비서 본인이 오타를 내거나, 문법 실수를 하는 경우입니다.
  • 실제: MCP 특유의 문제라기보다, 모든 소프트웨어에서 흔히 발생하는 코드 실수들입니다.

💡 이 연구가 우리에게 주는 교훈

  1. 어디가 가장 위험한가?
    • 개발자들은 **"도구 연결 (Tool Connection)"**과 "문서 (Documentation)" 부분에서 가장 자주 고생했습니다. 특히 도구가 제대로 작동하지 않으면 AI 가 아예 일을 못 하므로, 이 부분이 가장 중요합니다.
  2. 어떤 문제가 가장 무서운가?
    • 자주 발생하지는 않지만, "도구 등록 (Tool Discovery)" 문제가 발생하면 시스템 전체가 마비될 수 있어 가장 위험한 (Critical) 문제로 꼽혔습니다.
  3. MCP 고유의 문제 vs 일반 문제
    • 일반적인 소프트웨어 버그는 해결하는 데 시간이 오래 걸리고, 경험 많은 개발자가 해결합니다.
    • 반면, MCP 특유의 버그는 해결하는 데는 상대적으로 빠르지만 (중요한 문제라 우선순위가 높아서), 많은 개발자가 모여서 토론해야 할 정도로 복잡하고 새로운 문제들이 많습니다.

🚀 결론

이 논문은 **"AI 가 외부 도구와 손잡고 일할 때, 어디가 가장 잘 고장 나는지"**에 대한 첫 번째 종합 지도를 그렸습니다.

이 지도를 통해 개발자들은 시스템을 만들 때 미리 이 부분들을 점검하고, 더 튼튼하고 안전한 AI 소프트웨어를 만들 수 있게 되었습니다. 마치 새로운 도로를 낼 때, 어디에 함정이 있는지 미리 표시해 둔 것과 같습니다.