개발 같이해요/AI

[AI 에이전트] MCP Server와 MCP Client 쉽게 이해하기 - Host까지 한 번에 정리

Rio - Moon 2026. 9. 19. 00:56
728x90
반응형
MCP Server와 MCP Client, 누가 요청하고 누가 일을 할까요?

MCP를 처음 접하면 Host, Client, Server라는 이름부터 어렵게 느껴집니다. 특히 Client와 Host를 같은 것으로 생각하거나, Server를 인터넷에 있는 거대한 컴퓨터로만 이해하기 쉽습니다.

세 역할은 하나의 작업을 나누어 맡습니다. Host는 전체 경험과 정책을 관리하고, Client는 MCP 통신을 담당하며, Server는 도구와 데이터를 제공합니다. 이번 글에서는 세 역할이 어디에 있고 요청이 어떻게 오가는지 쉽게 정리하겠습니다.

1. Host·Client·Server, 먼저 한 장으로 보기

사용자가 만나는 AI 애플리케이션이 Host입니다. Host 안의 Client가 MCP 형식으로 요청을 보내고, 연결된 Server가 도구·리소스·프롬프트를 제공하거나 외부 시스템을 호출합니다.

IMAGE 01
이미지 01. Host 안의 Client가 Server와 통신하며, 사용자는 Host를 통해 전체 과정을 경험합니다.
구성요소 쉬운 비유 핵심 역할 대표 예
Host 업무를 총괄하는 팀장 사용자 경험, 모델, 연결, 권한과 승인 관리 AI 코딩 도구, 데스크톱 AI 앱, 자체 에이전트 앱
Client 정해진 양식으로 전달하는 연락 담당자 MCP 요청 작성·전송, 응답 해석 Host 내부의 MCP 통신 모듈
Server 전문 업무를 처리하는 담당 팀 기능과 데이터 노출, 실제 시스템 호출 파일, GitHub, 데이터베이스 연동 서버
💡 여기서 Server는 장소가 아니라 역할입니다.

내 컴퓨터에서 실행되는 작은 프로그램도 MCP Server가 될 수 있습니다. 반대로 인터넷의 원격 서비스도 같은 역할을 할 수 있습니다.

2. MCP Host는 전체를 조정하는 AI 애플리케이션이다

Host는 사용자가 대화하거나 작업을 요청하는 애플리케이션입니다. 모델에 어떤 도구를 보여줄지, 어떤 서버 연결을 허용할지, 위험한 행동 전에 사용자 승인을 받을지 같은 전체 정책을 관리합니다.

IMAGE 02
이미지 02. Host는 사용자와 모델, MCP 연결 사이에서 경험과 보안 경계를 관리합니다.
사용자 인터페이스대화, 작업 결과, 오류와 승인 화면을 보여줍니다.
모델 컨텍스트요청, 대화 기록, 허용된 도구 설명을 모델에 전달합니다.
연결 관리어떤 MCP Server를 사용할지와 연결 상태를 관리합니다.
정책과 승인권한 범위, 사용자 확인, 로그와 오류 처리를 담당합니다.

중요한 점은 모델이 Server에 마음대로 직접 연결하는 구조가 아니라는 것입니다. 일반적으로 Host가 모델의 도구 사용 요청을 받아 정책과 입력값을 확인하고 Client를 통해 전달합니다.

3. MCP Client는 Host 안의 통신 담당자다

Client는 별도의 챗봇이나 AI 모델이 아닙니다. Host 쪽에서 MCP 규칙에 맞는 요청을 만들고 전송하며, Server가 보낸 결과와 오류를 Host가 사용할 수 있는 형태로 전달하는 구성요소입니다.

IMAGE 03
이미지 03. Client는 Host와 Server 사이에서 MCP 메시지의 작성·전송·해석을 맡습니다.
기능 발견Server가 제공하는 도구·리소스·프롬프트와 지원 기능을 확인합니다.
요청 전송도구 이름과 입력값을 MCP 요청 형식에 맞춰 보냅니다.
결과 해석성공 결과, 구조화된 데이터와 오류를 Host에 전달합니다.
호환성 처리프로토콜 버전과 전송 방식에 맞는 통신을 선택합니다.
⚠️ “Client 하나는 항상 Server 하나와 세션을 유지한다”라고 외우지 마세요.

2026-07-28 사양의 핵심 요청은 상태 비저장 방식이며, 각 요청이 필요한 정보를 스스로 담습니다. 다만 이전 사양을 사용하는 구현도 존재하므로 실제 제품에서는 지원 버전과 연결 방식을 확인해야 합니다.

4. MCP Server는 기능과 데이터를 제공한다

Server는 자신이 제공하는 기능을 MCP 방식으로 설명하고 요청을 처리합니다. 직접 파일을 읽거나 계산할 수도 있고, 기존 API·데이터베이스·사내 시스템을 대신 호출할 수도 있습니다.

IMAGE 04
이미지 04. Server는 외부 기능과 데이터를 MCP가 이해하는 공통 인터페이스로 제공합니다.
제공 항목 의미 예시 주의점
Tools 입력을 받아 행동을 수행 문서 검색, 이슈 생성, 파일 저장 쓰기·삭제는 승인과 검증 필요
Resources 읽을 수 있는 데이터 제공 문서, 설정, 데이터 레코드 접근 범위와 민감정보 제한
Prompts 재사용 가능한 작업 시작점 제공 코드 리뷰, 회의 요약 템플릿 조직 정책과 최신성 확인

Server가 기능을 제공한다고 해서 그 기능이 자동으로 안전해지는 것은 아닙니다. 입력값 검증, 인증, 최소 권한, 실행 로그와 실패 처리는 Server와 Host 양쪽에서 설계해야 합니다.

5. 요청부터 결과까지 어떤 순서로 움직일까

사용자가 “지난주 회의록을 찾아 핵심 할 일을 정리해줘”라고 요청했다고 가정해보겠습니다. Host는 모델에게 허용된 문서 검색 도구를 보여주고, 모델이 선택한 호출을 Client를 통해 Server에 전달합니다.

IMAGE 05
이미지 05. 사용자는 Host에 요청하고, Client가 통신하며, Server가 외부 시스템의 기능을 실행합니다.
① 사용자가 Host에 목표 요청

② Host가 허용된 도구 설명을 모델에 제공

③ 모델이 도구와 입력값을 선택

④ Host가 정책·권한·승인 여부 확인

⑤ Client가 MCP 요청을 Server에 전송

⑥ Server가 문서 시스템을 조회하고 결과 반환

⑦ Host가 결과를 모델과 사용자에게 전달

오류가 나면 Server의 오류, 네트워크 문제, 권한 거부, 잘못된 입력처럼 실패 지점을 구분해야 합니다. “AI가 실패했다”는 한 문장만으로는 원인을 찾기 어렵기 때문에 각 단계의 로그가 중요합니다.

6. 로컬 Server와 원격 Server는 무엇이 다를까

MCP Server는 내 컴퓨터에서 실행될 수도 있고 네트워크 너머에서 제공될 수도 있습니다. 역할은 같지만 설치, 인증, 데이터 이동 경로와 운영 책임이 달라집니다.

IMAGE 06
이미지 06. 로컬과 원격 Server는 같은 MCP 역할을 하지만 데이터 경로와 관리 방식이 다릅니다.
구분 로컬 Server 원격 Server
실행 위치 사용자 PC 또는 같은 실행 환경 외부 서버, 클라우드, 사내 네트워크
대표 통신 프로세스 표준 입출력 등 네트워크 기반 HTTP 등
장점 로컬 파일·도구 접근, 개인 환경에 적합 중앙 운영, 여러 사용자에게 제공 가능
확인할 점 설치 파일 출처, 실행 권한, 업데이트 인증, 전송 보안, 서비스 신뢰, 데이터 보관
💡 로컬이라고 자동으로 안전한 것도, 원격이라고 항상 위험한 것도 아닙니다.

로컬 프로그램도 넓은 파일 권한을 가질 수 있고, 신뢰할 수 있는 원격 서비스는 조직 정책과 감사를 제공할 수 있습니다. 위치보다 출처, 권한, 데이터 범위, 로그와 운영 주체를 함께 확인하세요.

7. 연결이 안 될 때 무엇부터 확인할까

MCP 연결 실패는 이름이 비슷한 구성요소 탓에 엉뚱한 곳을 점검하기 쉽습니다. 아래 순서대로 확인하면 Host 설정, Client 통신, Server 실행과 외부 서비스 권한을 구분할 수 있습니다.

IMAGE 07
이미지 07. 연결 문제는 실행 상태부터 버전·인증·권한·로그 순서로 범위를 좁혀 확인합니다.
1. Server 실행프로세스나 원격 주소가 실제로 응답하는지 확인합니다.
2. 전송 방식Host와 Server가 같은 통신 방식을 지원하는지 확인합니다.
3. 버전 호환2025 계열과 2026-07-28 지원 및 협상 설정을 확인합니다.
4. 인증과 권한토큰 만료, 계정 범위, 폴더·도구 접근 권한을 확인합니다.
5. 기능 발견원하는 Tool·Resource가 실제 목록에 노출되는지 봅니다.
6. 단계별 로그Host, Client, Server와 외부 API 중 어디서 실패했는지 찾습니다.
⚠️ SDK 버전만 보고 프로토콜 버전을 단정하지 마세요.

공식 TypeScript SDK v2 문서에 따르면 직접 구성한 Client와 Server는 기본적으로 2025 계열로 통신할 수 있으며, 2026-07-28 방식은 명시적인 버전 협상 설정이 필요할 수 있습니다. 사용 중인 Host와 Server의 실제 설정을 함께 확인해야 합니다.

8. 핵심 정리

IMAGE 08
이미지 08. Host는 전체를 조정하고, Client는 연결하며, Server는 기능과 데이터를 제공합니다.
이번 글에서 이것만 기억하세요.

Host = 전체 조정 Client = MCP 통신 Server = 기능·데이터 제공 Server는 로컬도 가능 버전·권한·로그 확인

Host, Client, Server는 서로 경쟁하는 제품 이름이 아니라 하나의 연결에서 나뉜 역할입니다. 사용자는 Host를 이용하고, Host 내부의 Client가 MCP 메시지를 주고받으며, Server가 실제 기능과 데이터에 접근합니다. 연결이 쉬워져도 승인과 최소 권한, 결과 검증은 생략할 수 없습니다.

다음 글에서는 이 구조를 바탕으로 AI 에이전트에 Google Drive와 Notion을 연결할 때 어떤 권한을 정하고, 읽기와 쓰기를 어떻게 구분해야 하는지 살펴보겠습니다.

🔗 AI 에이전트 입문 시리즈

👉 현재 글 : 06. MCP Server와 MCP Client 쉽게 이해하기
다음 글 : 07. AI 에이전트에 Google Drive와 Notion 연결하기

참고: MCP TypeScript SDK v2 공식 문서, MCP 2026-07-28 공식 사양 안내, 2026-07-28 프로토콜 지원 가이드

반응형