CDSA | 홈페이지 블로그
Editorial · MCP 입문

MCP 서버·클라이언트·
에이전트 서버 입문 가이드

MCP는 한 마디로 무엇인가. 서버와 클라이언트와 에이전트 서버는 어떻게 다른가. 식당 비유로 풀어 본 입문 지도.

신성진  ·  한국데이터사이언티스트협회 2026. 3. 11

MCP를 처음 접하면 이름부터 헷갈립니다. 서버도 있고, 에이전트 서버도 있고, 클라이언트도 있고, 어떤 사람은 MCP를 API wrapper 정도로만 설명합니다. 그런데 실제로는 그것보다 훨씬 넓은 개념입니다. 초보자 기준으로 가장 중요한 것은 누가 무엇을 연결하고, 누가 도구를 제공하고, 누가 그 도구를 실제로 호출하느냐를 분리해서 이해하는 것입니다.

이 글은 그 구조를 처음부터 끝까지 풀어 설명합니다. MCP 서버는 무엇인가, MCP 클라이언트는 무엇인가, MCP 에이전트 서버는 무엇인가, 셋의 차이는 무엇인가, 실제로 만들려면 어떤 순서로 해야 하는가 — 이 질문들에 차례로 답하도록 구성했습니다.

01  /  정의MCP를 한 문장으로 이해하기

MCP는 모델이 외부 도구를 일정한 방식으로 발견하고, 설명을 읽고, 호출하고, 결과를 돌려받을 수 있게 해 주는 연결 규약이라고 이해하면 됩니다. 쉽게 말하면 이렇습니다. AI 모델은 원래 말만 잘합니다. 그런데 실제 업무를 하려면 검색도 하고, 파일도 읽고, DB도 조회하고, API도 호출하고, 계산도 하고, 메일도 보내야 합니다. MCP는 이런 외부 기능을 도구라는 형태로 AI에게 붙이는 표준 통로입니다.

즉, MCP는 단순히 API를 감싸는 기술이 아니라, 모델이 현실 세계의 기능을 안전하고 구조적으로 쓰게 만드는 인터페이스 계층입니다.

02  /  구분가장 먼저 나누어야 하는 세 가지

MCP 서버
도구를 제공하는 쪽. 내가 제공할 수 있는 도구 목록을 보여주고, 각 도구의 이름·설명·입력 스키마를 알려주며, 실제 호출이 오면 기능을 수행해 결과를 구조화해 반환합니다.
MCP 클라이언트
도구를 사용하러 접속하는 쪽. 서버에 연결해 도구 목록을 가져오고, 사용자 질문과 모델 판단을 바탕으로 어떤 도구를 쓸지 결정하거나 모델에 맡긴 뒤, 도구를 실행하고 결과를 다시 모델에 전달합니다.
MCP 에이전트 서버
모델과 도구 사용 흐름 전체를 운영하는 애플리케이션 서버. 사용자 요청을 받고, 모델을 선택하고, 내부적으로 MCP 클라이언트 역할을 수행하며, 여러 서버에 연결해 모델과 도구 호출을 왕복시키고, 최종 답변을 만들어 반환합니다. 로그·권한·세션·비용·캐시·보안까지 관리합니다.

MCP 서버를 좀 더

예를 들어 법령정보 MCP 서버라면 search_law, get_law_text, search_precedents 같은 도구를 외부에 제공할 수 있습니다. 이때 중요한 것은 AI가 법제처 API 구조를 직접 알 필요가 없다는 점입니다. MCP 서버가 복잡한 API 구조를 숨기고, AI가 쓰기 쉬운 도구 인터페이스로 바꿔 줍니다. 즉, MCP 서버는 도구 판매대에 가깝습니다.

MCP 에이전트 서버가 가장 헷갈리는 이유

에이전트 서버는 MCP 표준 그 자체의 필수 요소는 아닙니다. 하지만 실무에서는 매우 자주 등장합니다. 이유는 모델 단독 호출만으로는 실제 서비스 구성이 불편하기 때문입니다. 에이전트 서버는 모델과 도구 사용 흐름 전체를 지휘하는 오케스트라 지휘자에 가깝습니다.

03  /  비유식당으로 이해하기

식당으로 비유하면 이해가 쉽습니다.

MCP 서버
주방. 실제 요리를 만들 수 있는 곳입니다.
MCP 클라이언트
홀 직원 또는 주문 시스템. 어떤 메뉴가 가능한지 보고 주문을 넣습니다.
에이전트 서버
매니저. 손님 요청을 듣고, 어느 주방에 어떤 주문을 보낼지 정하고, 결과를 조합해 최종 서비스로 제공합니다.
LLM
손님 말을 이해하고 주문 방향을 제안하는 두뇌.

이 구조를 보면 왜 MCP가 단순 API wrapper보다 넓은 개념인지 보입니다. 요리 하나만 감싸는 것이 아니라, 주문 체계 전체를 표준화하는 셈이기 때문입니다.

04  /  확장MCP는 API만 감싸는 것인가

부분적으로는 맞지만 그것만으로 설명하면 부족합니다. 많은 MCP 서버가 실제로는 외부 API를 감쌉니다. 날씨 API, 법령 API, 금융 시세 API, 지도 API, 사내 그룹웨어 API 같은 것들입니다. 하지만 MCP로 감쌀 수 있는 것은 API만이 아닙니다.

즉, MCP는 AI가 쓸 수 있는 기능을 표준 도구 형태로 외부에 노출하는 방식이라고 보면 됩니다.

05  /  구조실제 아키텍처는 어떻게 생기는가

가장 단순한 구조는 다음과 같습니다.

사용자 → MCP 클라이언트 → MCP 서버

예를 들어 Claude Desktop이 어떤 로컬 MCP 서버에 연결해서 파일 검색 도구를 쓰는 구조입니다.

조금 더 실무형 구조는 이렇게 됩니다.

이 구조에서는 에이전트 서버가 핵심입니다. 사용자는 웹앱만 보고 있지만, 뒤에서는 에이전트 서버가 여러 MCP 서버와 대화하며 필요한 도구를 고릅니다. 사용자가 "지난달 매출 감소 원인 요약하고 관련 회의록 찾아 줘"라고 말하면, DB 조회용 MCP 서버로 매출 데이터 조회 → 파일 검색 MCP 서버로 회의록 검색 → 노션 MCP 서버로 관련 문서 작성 → 최종적으로 모델이 종합 답변 생성 — 이런 흐름이 가능합니다.

06  /  순서초보자가 직접 만들 때 추천하는 학습 단계

처음부터 에이전트 서버까지 다 만들면 어렵습니다. 순서를 나누는 것이 좋습니다.

  1. MCP 서버 하나만 먼저 만든다. 가장 쉬운 시작은 도구 1~2개짜리 MCP 서버다. 날씨 조회, 환율 조회, 로컬 파일 목록 보기, 특정 폴더 텍스트 검색, 샘플 DB 조회 정도가 좋다. 목표는 딱 하나. 도구를 어떻게 정의하고, 입력 스키마를 어떻게 만들고, 결과를 어떻게 반환하는지 익히는 것.
  2. MCP 클라이언트에 연결해 본다. 직접 만든 MCP 서버를 Claude Desktop 같은 기존 클라이언트에 연결해 실제로 동작시키는 단계.
  3. 에이전트 서버를 만든다. 웹앱이나 챗봇을 직접 만들고, 그 뒤에서 모델과 여러 MCP 서버를 연결하는 에이전트 서버를 붙인다.
  4. 여러 MCP 서버를 조합한다. 검색 MCP, DB MCP, 문서작성 MCP, 이메일 MCP, 사내 승인 시스템 MCP를 조합해 하나의 업무 자동화 에이전트를 만든다.

07  /  만들기구성요소별 사고방식

MCP 서버 만들기 개념

MCP 서버를 만들 때 필요한 사고방식은 다음 순서입니다. 첫째, 도구를 먼저 고른다. 예를 들어 "특정 도시의 날씨를 조회한다"는 기능 하나를 정합니다. 둘째, 도구의 입력을 정한다. 예를 들어 city라는 문자열. 셋째, 도구의 출력을 정한다. 도시명·현재 온도·날씨 설명·측정 시각. 넷째, 실제 내부 로직을 연결한다. 이 내부 로직은 외부 API 호출일 수도, 로컬 파일 읽기일 수도, DB 쿼리일 수도, 파이썬 함수 실행일 수도 있습니다. 다섯째, 모델이 이해하기 쉬운 설명을 쓴다. 이 부분이 매우 중요합니다. 모델은 설명을 보고 어떤 도구를 쓸지 추론하기 때문입니다.

MCP 클라이언트 만들기 개념

MCP 클라이언트의 핵심은 두 가지입니다. 서버에 연결해서 tool list를 가져오고, 모델이 필요할 때 tool call을 중계하는 것. 실제로는 이미 만들어진 MCP 클라이언트를 먼저 써 보는 것이 좋습니다. 직접 구현보다 먼저 경험하는 편이 이해가 빠릅니다.

에이전트 서버 만들기 개념

에이전트 서버는 보통 Node.js나 Python으로 많이 만듭니다. 구성은 대개 /chat 같은 API 엔드포인트 → 사용자 질문 수신 → 시스템 프롬프트와 함께 모델에 전달 → 모델이 도구 호출을 원하면 MCP 서버에 요청 → 결과를 다시 모델에 넣음 → 최종 답변 반환 — 이 흐름입니다. 초보자 입장에서는 에이전트 서버를 대화 조정기라고 보면 됩니다.

08  /  시나리오회사 주소록 검색 챗봇 만들기

아주 단순한 예시 시나리오입니다. 구성은 이렇습니다.

사용자가 "김민수 과장 이메일 알려 줘"라고 물으면 내부 흐름은 다음과 같이 전개됩니다.

  1. 웹 채팅창에서 질문 입력
  2. 웹앱이 에이전트 서버에 질문 전송
  3. 에이전트 서버가 모델에게 질문 전달
  4. 모델이 search_employee_directory 도구가 필요하다고 판단
  5. 에이전트 서버가 MCP 서버에 도구 호출
  6. MCP 서버가 사내 DB 또는 API에서 결과 조회
  7. 결과를 에이전트 서버로 반환
  8. 에이전트 서버가 결과를 모델에 다시 전달
  9. 모델이 자연어 답변 생성
  10. 웹앱에 답변 표시

09  /  착각초보자가 자주 헷갈리는 포인트

MCP 서버와 일반 백엔드 서버는 완전히 같지는 않다. MCP 서버는 백엔드일 수 있지만 목적이 일반 웹서비스 전체가 아니라 도구 제공 인터페이스에 더 가깝습니다.

에이전트 서버 없이도 동작은 가능하다. Claude Desktop처럼 이미 MCP 클라이언트 역할을 하는 환경에서는 MCP 서버만 붙여도 도구 사용이 가능합니다. 하지만 웹 서비스나 사내 시스템으로 확장하려면 에이전트 서버가 거의 필요해집니다.

MCP는 함수 호출과 닮았지만 완전히 같지는 않다. 함수 호출은 모델 API 내부의 도구 정의에 가깝고, MCP는 외부 시스템과 도구를 표준 방식으로 연결하는 더 넓은 규약 계층입니다.

모든 API를 MCP로 바꿀 필요는 없다. 여러 도구를 표준 방식으로 붙이고 싶을 때, 재사용성을 높이고 싶을 때, 여러 AI 클라이언트에서 공통으로 쓰고 싶을 때 특히 유리합니다.

10  /  스택어떻게 시작할까

초보자 기준으로는 Python 경로와 Node.js 경로가 있습니다. Python은 데이터 처리, 파일 처리, 자동화, 문서 분석, DB 조회 쪽에 강합니다. Jupyter나 Colab 경험이 있다면 진입 장벽이 낮습니다. Node.js는 웹앱, 프론트엔드, API 서버, SaaS 연동, 실시간 상호작용형 앱 쪽에 더 잘 맞습니다. 처음에는 둘 다 하려 하지 말고 하나만 먼저 잡는 편이 좋습니다.

첫 실습 주제로는 다음 셋이 무난합니다. 로컬 폴더 파일 검색 MCP 서버, 날씨 조회 MCP 서버, 노션 페이지 작성 MCP 활용. 이 중 로컬 폴더 파일 검색이 가장 쉽습니다. 외부 API 키가 필요 없고 결과가 바로 눈에 보이기 때문입니다.

11  /  설계실무에서 정말 중요한 것

초보자는 종종 코드부터 짜려고 합니다. 그런데 실제로는 설계가 더 중요합니다.

도구 단위를 너무 크게 만들지 않는 것이 좋습니다. do_everything 같은 식의 거대한 도구보다 get_sales_data, summarize_sales_change, find_related_meeting_notes, create_notion_report처럼 나누는 편이 좋습니다.

입력 스키마를 모호하게 만들지 말아야 합니다. query 하나에 모든 걸 넣는 방식은 편해 보이지만 모델이 실수하기 쉽습니다.

결과도 모델이 읽기 좋게 반환해야 합니다. 사람이 보기 좋은 JSON과 모델이 추론하기 좋은 JSON은 다를 수 있습니다.

12  /  보안권한 설계는 왜 중요한가

MCP는 도구를 모델에게 열어 주는 구조이기 때문에, 잘못 설계하면 위험합니다. 파일 삭제, 메일 발송, 결재 요청, DB 수정 같은 도구는 특히 조심해야 합니다. 안전하게 만들려면 최소한 다음이 필요합니다.

초보자일수록 처음에는 조회 전용 MCP만 만드는 것이 안전합니다.

13  /  로드맵추천 학습 경로

초보자 기준으로는 다음 흐름이 가장 현실적입니다.

  1. MCP 개념 이해
  2. 아주 작은 MCP 서버 1개 만들기
  3. Claude Desktop 같은 클라이언트에 연결
  4. 도구 설명과 입력 스키마 다듬기
  5. 두세 개 도구로 확장
  6. 간단한 에이전트 서버 만들기
  7. 웹앱과 연결
  8. 권한·로그·승인 흐름 추가

14  /  정리다섯 가지 질문

처음에는 MCP가 거창하고 추상적으로 느껴지지만, 실제로는 다음 다섯 질문만 붙잡으면 됩니다.

이 다섯 가지가 정리되면 MCP 서버 설계의 절반은 끝난 것입니다.

초보자에게 가장 좋은 출발은 거대한 플랫폼을 한 번에 만드는 것이 아니라, 작고 분명한 도구 하나를 MCP 서버로 감싸서 실제로 연결해 보는 것이다. 그 다음에야 에이전트 서버와 웹앱으로 넓혀 가는 것이 맞다.

MCP 서버는 기능을 제공하는 곳이고, MCP 클라이언트는 그 기능을 쓰는 쪽이며, 에이전트 서버는 모델과 도구 사용 전체를 조정하는 서비스 레이어입니다. 그리고 MCP는 단순 API wrapper가 아니라, AI가 다양한 외부 기능을 표준 방식으로 사용할 수 있게 해 주는 도구 연결 구조입니다. 따라서 실무에서는 "어떤 API를 감쌀까"만 생각하지 말고 "어떤 업무 기능을 도구로 쪼개서 모델이 안전하게 사용할 수 있게 만들까"를 고민하는 것이 더 중요합니다.