Model Context Protocol (MCP)

남서현·2025년 7월 11일

Study

목록 보기
11/12
post-thumbnail

What is Agentic AI?

Agenti AI는 본질적으로 자율성에 중점을 둔 인공지능이다. 특정 목표를 달성하기 위해 스스로 판단하고, 행동하며 학습할 수 있는 AI를 말한다. 지시 없이 상황을 파악하고, 생각하고, 적응하면서 일을 수행할 수 있는 지능형 가상 비서이다.

4단계 과정을 통해 작동한다.
1. Perception: 주변 환경으로부터 데이터를 수집
2. Reasoning: 수집한 데이터를 분석하여 현재 상황을 이해
3. Action: 파악한 내용을 바탕으로 적절한 행동을 결정하고 실행
4. Learning: 피드백과 경험을 통해 점차 더 나아지고 스스로를 개선

--> 이런 과정을 통해 Agentic AI는 매우 높은 자율성을 가지며, 추론, 문제 해결, 새로운 상황에서의 적응이 필요한 복잡한 작업도 스스로 처리할 수 있는 능력을 갖추게 됨

What is an AI Agent?

AI Agent는 특정 작업을 수행하도록 설계된 인공지능이다.

예를 들어,
1. 답변에 답변하기
2. 일정 정리하기
3. 이메일 관리하기

이러한 정해진 업무를 돕기 위해 만들어졌다.

즉, AI Agent는 단순하고 반복적인 작업을 자동화하는 데 매우 뛰어나지만, Agentic AI처럼 자율적으로 판단하거나 결정을 내리는 능력이 없다.

What is MCP?


LLM(Large language model)은 뛰어나 지식과 추론 능력을 가지고 있어 다양한 복잡한 작업을 수행할 수 있지만, 이들이 가진 지식은 초기 학습 데이터에 한정되어 있다.
따라서 실시간 정보를 얻기 위해서는 외부 도구나 리소스를 직접 활용해야 한다.

이를 가능하게 해주는 것이 바로 Multi Context Protocol (MCP) 이다.
MCP 는 다양한 AI system이 외부기능 (도구, API etc..)과 연결될 수 있게 해주는 범용 커넥터 역할을 하며, 쉽게 말하면 USB-C 가 전자기기간의 연결을 도와주는 것과 같은 역할을 한다고 볼 수 있다.

Engineering Use Cases

  1. LLM과 내부 API integration
  • LLM이 내부 API에 안전하게 접근할 수 있도록 하되, read-only or interactive 형태로만 접근을 허용 --> 민감한 비즈니스 데이터를 노출하지 않고도 구조화된 데이터에 접근 가능
    ex) 재고 확인 API, 사내 보고서 요약, 고객 이력 조회(단 수정 불가)
  1. Enterprise agents
  • AI agent에 다음과 같은 runtime context 제공, Salesforce CRM, SAP ERP, knowledge base
    --> agent가 비즈니스 환경을 이해하고 실시간 상황에 맞춰 의사결정을 할 수 있도록 지원,
    ex) 고객 요청에 따른 견적 자동 작성, 사내 정책에 따른 보고서 생성
  1. Dynamic prompt construction
  • 사용자 세션, 시스템 상태, 작업 파이프라인의 맥락에 따라 프롬프트를 동적으로 생성하여 더 정확하고 상황에 맞는 응답 유도
    ex) 사용자 과거 질문 기반의 맞춤 응답, 현재 업무 단계에 맞춘 안내 프롬프트 자동 조정

Why was MCP created?

MCP가 없다면, 새로운 도구를 추가하거나 다름 모델을 통합하는 것이 매우 어렵게 된다. 예를들어, 공통 표준이 없기 때문에, 만약 AI Application이 3개이고 외부 도구가 3개 있다면, 각, AI와 각 도구를 연결하기 위해 최대 9개 통합 모듈(3X3)을 따로 만들어야 했다. 이는 확장성 면에서 매우 부족하다는 단점이 존재한다.

결국, AI 애플리케이션 개발자들은 매번 새롭게 무언가를 발명하는 것처럼 동일한 문제를 반복해서 해결해야 하는 어려움이 존재했다. 도구들은 제공하는 provider들도 서로 화환되지 않는 여러개의 API를 지원해야만 더 다양한 AI platform에 접근할 수 있었다.

MCP가 등장하기 전에는, AI를 외부데이터나 기능과 연결하는 방식이 one-off 해결책들의 집합이라고도 볼 수 있었다. 각 도구마다 hardcoding된 로직을 작성하거나 불안정한 prompt chain을 관리하거나, vendor 고유의 플로그인 framework를 써야 했다. 이로 인해서 발생한 한계와 문제점이 위에서 언급한 M X N integration problem이다. M 개의 서로다른 AI application과 N개의 외부 도구(data source)가 있다면, M x N개의 개별 통합 작업을 따로 만들어야 했다.

각 AI model은 database, file system, calculator 등 외부 서비스와 연결되기 위해 고유한 코드나 인터페이스가 필요했고, 그 결과는 아래와 같이 복잡한 연결 구조를 만들게 되었다.

Problem Solving

MCP는 이러한 문제를 해결하기 위해 중앙에 표준 인터페이스를 도입한다. 이를 통해 기존처럼 M X N개의 직접 통합이 필요한 구조 대신 M + N 개의 구현만으로 충분하게 된다.
즉, M 개의 AI application은 각각 MCP client를 한번만 구현하면 되고, N 개의 외부 도구나 서비스는 각각 MCP 서버를 한번만 구현하면 된다. 이렇게 되면 모두 같은 language를 활용해 소통하기 때문에, 새로운 조합이 생겨도 별도의 custom code를 작성할 필요가 없게된다. 이미 MCP라는 공통 프로토콜을 통해 서로 이해할 수 있기 때문이다.

위 그림을 통해 이 과정을 설명해 보자면, 전통적인 접근 방식에서는 각 모델이 모든 도구와 직접 연결되어야 했다. 모델 수가 늘어나거나 도구가 추가될수록 복잡도는 기하급수적으로 증가하였다. 반면, MCP를 적용함에 따라, 각 모델과 도구가 MCP layer에만 연결되기 때문에, 연결구조가 획기적으로 단순화 되었다.

쉽게 표현하자면, MCP는 '통역사'라고도 이해할 수 있다. 이전까지는 의사소통을 하기위해 모든 사람이 서로의 언어를 배워야 했다면, 이제는 MCP를 통해 서로 하나의 '공통된 언어'를 활용해 소통할 수 있게 된 것이다.

MCP Architecture

MCP의 핵심은 web이나 다른 network protocol처럼 client - server architecture를 따른다는 것이다.
다만, MCP는 AI 환경에 맞게 용어가 약간 다르게 정의되어 있다.

MCP에서 3가지 주요 역할을 확인해야 한다.
1. Host
2. Client
3. Server

이 세가지 주요 역할들이 함께 작동하면, AI 모델과 외부 도구간의 효율적인 상호작용이 가능해진다.

1. Host

Host는 사용자와 직접 사용하는 AI 애플리케이션이다.
즉, AI 모델이 탑재되어 있고 사용자와 소통하는 환경을 의미한다.

예를들어, Open AI의 Chatgpt interface, Anthropic의 Claude desktop app, AI 기능이 내장된 IDE Cursor or Chainlit처럼 AI assistant를 포함한 custom ap 등이 이에 해당한다고 볼 수 있다.

Host는 시스템이 외부기능을 필요로 할때, MCP 서버들과의 연결을 시작한다. 또한 사용자의 입력을 수집하고, 대화 기록을 유지하며, 모델의 응답을 사용자에게 보여주는 역할을 한다.

2. Client


MCP Client는 Host 내부에 포함된 구성요소로, MCP Server와의 저수준 통신을 담당한다. Client는 adapter 나 메신저 역할을 수행한다고 볼 수있다. Host가 무엇을 할지를 결정한다면, Client는 그것을 실제로 실행하기 위해 MCP 방식으로 Server와 대화하는 역할을 맡는다. 즉, Host는 지시를 내리고, Client는 그 지시를 MCP 언어로 해석해 외부 서버에 전달하고 결과를 받아오는 결과를 받아오는 중간다리역할을 한다고 보면 된다.

3. Server


MCP 서버는 application에 실제 기능(도구, 데이터 etc..)을 제공하는 외부 프로그램 또는 서비스이다. 즉, 특정 기능을 감싸고 있는 wrapper로 볼 수 있으며, 해당 기능을 표준화된 방식으로 외부에 공개하여, 어떤 MCP Client든 호출 할 수 있도록 만들어져 있다.
서버는 Host와 동일한 local machine에서 실행될 수 있고, 또는 클라우드 상의 원격 서버에서 실행될수 있다. MCP는 이 두개의 시나리오 모두를 문제없이 지원하도록 설계되어 있다.

가장 핵심적인 부분은, MCP Server가 자신이 무엇을 할 수 있는지 ex) 사용할 수 있는 도구 목록, 기능 들을 표준 포맷으로 광고하고, Client로부터의 요청을 실행한 후 그 결과를 반환한다는 것이다.

What is ACP (Agent Communication Protocol)?

ACP는 BeeAI와 IBM이 제안한 open standard로 동일한 local 혹은 edge 환경에서 작동하는 AI agent간의 구조화된 통신, 검색, 협업을 가능하기 위해 설계되었다. MCP와 A2A가 주로 클라우드 기반의 도구 연결 or 에이전트간의 통신에 초점을 두어 네트워크의 비용이 크고 느릴 수 있는 단점이 있다면, ACP는 local-first 전략을 활용하여 환경에 배포된 에이전트간에 빠르고 실시간으로 통신이가능해 네트워크 overhead를 최소화하고 밀접한 통합을 지향하게 된다.

What is A2A (Agent-to-Agent Protocol)?

A2A는 Google이 제안한 agent 간 통신을 위한 cross platform specification으로, heterogeneous systems 상에 배포된 AI agent들이 서로 통신하고, 협업하며 작업을 delegate(위임) 할 수 있도록 설계 되었다.

A2A는 HTTP 기반의 통신 모델을 사용하여 각 agent를 상호운용 가능한 web service처럼 다룬다.
ACP나 MCP와는 다른 방향으로, horizontal interoperability에 초점을 맞추는데 ,ACP가 로컬 환경 중심의 실시간 협업에 초점을 둔다면, MCP는 AI 모델과 외부도구 간의 통합 계층을 제공한다. A2A는 서로 다른 vendor나 runtime에서 실행 중인 Agent들이 web상에서 능력을 교환하고 workflow를 조율할 수 있도록 표준화 한다.

A2A + MCP

A2A와 MCP 는 상호보완적이지, 경쟁하는 프로토콜이 절대로 아니다.

  • MCP는 AI가 file, API, DB등 외부 도구나 구조화된 데이터에 접근할 수 있도록 해준다.
    예를들어, 실시간 매출 데이터 가져오기, 사용자 맞춤형 리포트 생성, DB조회 및 분석 자동화, 비유하자면 세상의 도구들과 연결되는 'plug' 역할을 한다.
  • A2A는 AI를 AI와 연결한다. 서로 다른 vendor나 platform에서 작동하는 agent들이 서로를 발견하고, 작업을 위임하고, 협력하는 공통의 언어와 규칙을 제공한다. 예를들어, 한 에이전트가 다른 에이전트에게 특정 작업 요청, 다양한 AI들이 함께 복잡한 workflow 수행, 비유하자면 AI들 사이의 '협업 언어' or '공통의 protocol'을 의미한다.
  • ACP는 클라우드 없이도 하나의 공유된 runtime안에서 agent들이 즉시 서로를 발견하고 통신할 수 있도록 설계되었다. HTTP나 web 기반의 탐색이 아닌 경량 messaging과 실시간 orchestration에 최적화 되어 있다. 비유하자면, 하나의 device안에서 여러 agent가 동작하는 '내부 통신망'으로 robot, IOT device, smart factory 등 edge computing environment에 적합하다.

--> 역시 가장 좋은 건 Convergence 방향으로 가야한다는 것이다.

Local MCP Client


MCP client는 Cursor와 같은 AI application 내에서 외부 도구와의 연결을 담당하는 component이다. 해당 worflow는 다음과 같다.

사용자가 query를 보내면, Agent가 MCP 서버에 연결하여 사용가능한 도구를 탐색한다. 쿼리의 목적에 따라 적절한 도구를 선택하고 실행하여 관련 정보를 얻고 얻은 context를 바탕으로 응답을 생성하고 user에게 반환한다.

MCP-pwered Agentic RAG workflow


MCP 기반의 Agentic RAG는 외부 도구와의 표준화된 연결(MCP)를 활용하여 우선적으로 ,vector database에서 정보를 검색하고 필요시 web search로 fallback(자동전환)하여 정보를 보완한다. 또한 단순한 검색 도우미가 아니라 Agentic AI 특성에 따라 스스로 판단하여 검색 전략을 조정할 수 잇다.

이 work flow는 다음과 같은 순서로 진행된다.

사용자가 MCP client(cursor)를 통해 query를 입력하면 이 MCP client는 Host 내부에서 작동하고 사용자와 상호작용하게 된다.

Client는 query에 적합한 도구 (vector DB 검색기, web 검색기 등)을 선택하기 위해 하나이상의 MCP 서버에 접속하게 되는데, 각 서버는 자신이 제공하는 기능을 표준화된 방식으로 광고하고 있고, client는 이를 보고 도구를 선택하게 된다.

선택된 도구가 실행되고 관련 결과가 client로 다시 반환된다. 받은 도구 결과를 바탕으로 AI model이 최종 응답을 생성하게 된다. 이 생성된 response가 Host를 통해 user에게 출력되게 된다.

Reference

Model Context Protocol.io/introduction
2025 will be the year of AI agents - Bindu Reddy
AI Agent vs. Agentic AI - 모두의 연구소
AI Agents vs Agentic AI: What's the Difference and why does it matter? - Medium
https://github.com/google
2025 MCP The illustrated Guidebook - Daily Dose of Data Science
brightdata github
What every AI engineer should know about A2A, MCP & ACP -Medium
A2A project.github.io

profile
AI researcher

0개의 댓글