MCP(Model Context Protocol)란 무엇이며 왜 주목받는가?

목차

MCP의 정의와 등장 배경

이 글은 MCP를 특정 서비스의 사용법이 아니라, AI 애플리케이션과 외부 도구를 연결하는 표준 구조로 이해하는 것을 전제로 합니다. MCP(Model Context Protocol)는 AI 애플리케이션이 파일, 데이터베이스, API, 업무 도구 등의 기능과 정보를 일정한 방식으로 주고받도록 정한 프로토콜입니다.

기존에는 AI 서비스마다 파일, 데이터베이스, API 같은 도구와 연결하는 방식을 따로 구현해야 했습니다. 서비스와 도구의 조합이 늘어날수록 연결 코드를 각각 유지해야 하는 부담도 커집니다. MCP는 공통 규격을 제공해 연결 코드를 재사용하기 쉽게 만들고, AI가 필요한 기능을 탐색한 뒤 호출하는 흐름을 표준화한다는 점에서 실질적인 이점을 제공합니다.

호스트·클라이언트·서버 구조

호스트는 사용자가 대화하는 AI 애플리케이션입니다. 호스트 안의 MCP 클라이언트는 특정 MCP 서버와 연결을 관리하고, MCP 서버는 파일 검색이나 데이터 조회처럼 외부 시스템에 접근할 수 있는 기능을 제공합니다. 비유하면 호스트는 사무실, 클라이언트는 담당 연락 창구, 서버는 외부 협력업체에 가깝습니다.

이 구조에서는 호스트가 시스템마다 다른 연결을 직접 구현하지 않습니다. 호스트는 MCP 클라이언트를 통해 서버와 통신하고, 클라이언트는 서버가 공개한 기능과 데이터를 호스트에 전달하며 MCP 메시지를 주고받습니다. 서버는 정해진 요청만 처리하므로 기능별 권한과 책임을 분리하기 쉽습니다. 다만 MCP가 자동으로 보안을 보장하는 것은 아니므로 서버 권한, 입력 검증, 인증·권한·네트워크 보안 설정을 별도로 관리해야 합니다.

프리미티브와 JSON-RPC 흐름

MCP 서버가 제공하는 핵심 프리미티브는 Tools, Resources, Prompts입니다. Tools는 AI가 인자를 넘겨 실행시키는 기능으로, 데이터 조회·검색·변환·변경이나 외부 작업 실행에 사용할 수 있습니다. Resources는 파일·문서·조회 결과처럼 URI로 식별되며 AI 애플리케이션이 컨텍스트로 활용할 수 있는 데이터를 제공합니다. Prompts는 특정 작업에 사용할 재사용 가능한 프롬프트 템플릿입니다.

통신에는 요청과 응답을 구조화해 주고받는 JSON-RPC 메시지가 사용됩니다. 연결이 시작되면 클라이언트가 initialize 요청을 보내고 서버가 지원 기능과 프로토콜 정보를 응답합니다. 클라이언트는 준비가 끝나면 초기화 완료 알림(notification)을 보냅니다. 이후 클라이언트는 tools/list 같은 요청으로 사용 가능한 도구를 발견하고, 필요한 도구에 tools/call 요청을 보내며, 서버는 결과나 오류를 JSON-RPC 응답으로 돌려줍니다. 상태 변경 알림처럼 응답이 필요 없는 메시지는 notification으로 전달될 수 있습니다.

도구 발견·호출과 전송 방식

도구 호출은 대체로 발견, 선택, 실행, 결과 반영 순서로 진행됩니다. 먼저 모델이나 호스트가 서버가 공개한 도구 이름·설명·입력 형식을 확인하고 사용자의 요청에 맞는 도구를 선택합니다. 그다음 MCP 클라이언트가 해당 도구에 필요한 인자를 포함해 호출합니다. 서버 결과는 다시 호스트로 전달되어 답변의 근거 또는 다음 작업의 입력으로 사용됩니다.

전송 방식은 실행 환경에 따라 달라집니다. stdio는 표준 입출력(standard input/output)을 사용해 클라이언트가 서버 프로그램을 하위 프로세스로 실행하고 통신하는 방식이라 로컬 도구에 적합합니다. Streamable HTTP는 HTTP 연결을 통해 원격 서버와 통신하는 방식으로, 여러 환경에서 접근할 수 있습니다.

활용 예시

예를 들어 docs-server라는 문서 검색 MCP 서버가 search_docs(query) 도구를 제공한다고 가정해 보겠습니다. 사용자가 “지난달 매출 자료를 찾아 요약해줘”라고 요청하면, 모델이나 호스트가 이 도구를 선택하고 클라이언트가 search_docs(query="지난달 매출")를 호출합니다. 서버는 관련 문서 3건을 반환하고, 호스트는 그 결과를 바탕으로 문서 내용을 읽어 요약을 작성합니다. 이처럼 Tool은 검색 같은 읽기 작업에도 사용할 수 있고, Resource는 검색 결과나 문서 내용을 컨텍스트로 제공할 수 있습니다.

이 방식의 핵심은 AI가 서비스마다 다른 연결 방법을 모두 알아야 하는 것이 아니라, MCP 인터페이스를 통해 기능을 일관되게 다룬다는 점입니다. 서버를 직접 연결할 때는 공개할 기능과 권한을 체크리스트로 점검하면 필요한 범위를 빠뜨리지 않고 설계할 수 있습니다.

결론

MCP는 AI와 외부 도구 사이의 연결 규칙을 표준화하는 기술입니다. 호스트·클라이언트·서버가 어떤 경계에서 통신하는지, 서버가 어떤 기능과 데이터를 공개할지, 클라이언트가 어떤 도구를 호출할 수 있는지를 먼저 확인하면 실제 연결 작업의 범위를 정하기 쉽습니다.

관련 글

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다