Blog

ENGINEERING NOTE

[AI&GameDev] MCP Server

MCP(Model Context Protocol)는 AI 애플리케이션이 외부 프로그램의 기능과 데이터를 발견하고 사용하는 방식을 정한 프로토콜이다.

AI

들어가며

앞선 글에서는 명세를 작성하고, AI가 이를 바탕으로 구현 작업을 진행하는 Spec Driven Development를 다뤘다. 그러나 작업이 항상 코드 작성으로 끝나는 것은 아니다.

게임 개발 중에는 에디터에 있는 에셋을 확인하거나, 위젯을 생성하고, 설정을 변경해야 할 때도 있다.

이때 AI에게 “현재 위젯 구조를 확인해줘”라고 요청해도 AI가 에디터 내부를 볼 수 없다면 정확한 상태를 알 수 없다. “버튼을 추가해줘”라는 요청 역시 에디터에서 해당 작업을 실행할 방법이 있어야 처리할 수 있다.

이런 상황에서 필요한 것이 바로 AI와 소프트웨어 도구를 연결하는 인터페이스이다.


MCP(Model Context Protocol)

MCP(Model Context Protocol)는 AI 애플리케이션이 외부 프로그램의 기능과 데이터를 발견하고 사용하는 방식을 정한 프로토콜이다.

MCP를 지원하는 애플리케이션은 MCP Server가 제공하는 기능을 공통된 형식으로 확인하고 호출할 수 있다.

API에 익숙하다면, MCP Server를 외부 프로그램의 기능을 AI가 사용할 수 있도록 제공하는 인터페이스와 비슷하게 생각할 수 있다.
MCP에 대한 더 자세한 내용은 What is the Model Context Protocol (MCP)?에서 살펴볼 수 있다.

MCP Client & Server

MCP는 앞서 말했듯이 Client와 Server가 정보를 주고받는 규칙인 프로토콜이며, MCP Server는 그 규칙에 따라 기능과 데이터를 제공하는 프로그램이다.

구성 요소역할
MCP ClientServer에 연결해 제공하는 기능을 확인하고 작업을 요청한다.
MCP Server사용할 수 있는 기능과 데이터를 알리고 요청받은 작업의 결과를 반환한다.

예를 들어 ClaudeCodex 같은 AI 애플리케이션은 내부의 MCP Client를 통해 Server에 연결한다.

만약 Unreal Engine의 에셋을 검색하는 기능을 MCP Server가 제공한다면, AI는 그 기능을 호출해 검색 결과를 받을 수 있다. Aseprite의 스프라이트 정보를 읽거나 편집하는 기능도 이를 지원하는 MCP Server가 있다면 같은 방식으로 사용할 수 있다.

여기서 Server는 반드시 다른 컴퓨터에서 실행되는 프로그램을 뜻하지 않는다. 요청을 받아 기능을 제공하는 역할을 가리킨다.

MCP Server가 AI 애플리케이션 및 게임 개발 도구와 같은 컴퓨터에서 실행될 수도 있다.

MCP Server 통신 방식

MCP Client와 Server는 정해진 형식의 메시지로 기능을 확인하고 작업을 요청한다. 이 메시지를 전달하는 대표적인 방식이 stdioStreamable HTTP이다.

통신 방식설명사용 예시
stdio같은 컴퓨터에서 실행되는 두 프로그램이 표준 입력과 출력을 통해 메시지를 주고받는다.AI 개발 도구가 로컬 MCP Server를 실행해 사용하는 경우
Streamable HTTPHTTP를 통해 메시지를 주고받는다.이미 실행 중인 에디터의 MCP Server나 원격 Server에 접속하는 경우

여기서 중요한 점은 MCP를 사용하기 위해 MCP Server를 등록할 때는 꼭 통신 방식에 맞는 연결 정보를 입력해야 한다. stdio 방식에서는 실행할 프로그램과 실행 인자를, Streamable HTTP 방식에서는 Server의 접속 주소를 설정한다.

이 정보가 잘못되었거나 Server가 실행되지 않았다면 Client는 연결할 수 없다. 따라서 MCP Server가 제공하는 기능이 AI에 표시되지 않거나, 작업을 호출할 때 오류가 발생할 수 있다.

MCP Server 제공 기능

MCP Server에 연결되면 AI 애플리케이션은 Server가 제공하는 기능과 정보를 확인할 수 있다. MCP에서는 이를 주로 Tool, Resource, Prompt로 구분한다.

종류역할
ToolClient가 호출할 수 있는 작업
ResourceClient가 읽을 수 있는 정보
Prompt특정 작업에 사용할 수 있도록 준비된 지시 형식
모든 MCP Server가 이 세 가지를 전부 제공하거나, 표에 든 작업을 지원하는 것은 아니다. MCP Server가 실제로 제공하는 기능은 구현에 따라 다를 수 있다.

MCP의 장단점

장점

  • AI의 작업 범위를 코드 밖으로 넓힐 수 있다.
  • 실제 소프트웨어 도구 내부의 상태와 데이터를 반영해서 작업할 수 있다.
  • 반복 작업의 부담을 줄일 수 있다.

단점

  • Server가 지원하지 않는 작업은 수행할 수 없다.
  • AI의 작업 성공과 결과물 완성은 다를 수 있다.(의도한 작업이 아닐 수 있다.)