MCP vs A2A — 도구에 꽂는 연결과 에이전트끼리의 대화
MCP가 에이전트 아래로 도구를 꽂는 수직 연결이라면, A2A는 에이전트끼리 옆으로 대화하는 수평 연결이다. 상대를 스키마가 정해진 함수로 보느냐, 속을 알 수 없는 행위자로 보느냐 — 두 프로토콜이 다른 문제를 푸는 이유를 Agent Card와 Task 개념으로 정리한다.
8개의 글
MCP가 에이전트 아래로 도구를 꽂는 수직 연결이라면, A2A는 에이전트끼리 옆으로 대화하는 수평 연결이다. 상대를 스키마가 정해진 함수로 보느냐, 속을 알 수 없는 행위자로 보느냐 — 두 프로토콜이 다른 문제를 푸는 이유를 Agent Card와 Task 개념으로 정리한다.
MCP와 function calling은 경쟁 관계가 아니라 다른 층에 있다. function calling은 모델이 도구 호출 의사를 표현하는 출력 형식이고, MCP는 그 형식에 흘려 넣을 도구를 조달하는 공급 규격이다. 두 층이 한 번의 도구 호출에서 어떻게 맞물리는지 실제 요청 형태로 구분한다.
Claude Code는 MCP 클라이언트인가, 에이전트인가? 둘 다다. 층위가 다른 두 역할이 우연히 같은 소프트웨어에 담겨 있을 뿐이다. 프로토콜 역할과 런타임 역할을 분리해 본다.
MCP, 에이전트, 오케스트레이터는 자주 뒤섞여 쓰이지만 서로 다른 층에 있다. 도구를 공급하는 규격, 스스로 도구를 고르는 행위자, 그리고 여러 행위자를 지휘하는 조정자로 나눠 정리한다.
LLM은 텍스트를 뱉을 뿐 스스로 파일을 읽거나 도구를 부르지 못한다. 그 모델을 감싸 실제로 일을 시키는 바깥 루프가 '하네스'다. 하네스가 무엇을 맡는지, MCP는 그 안에서 어디에 끼는지 정리한다.
MCP Resource는 도구가 아니라 LLM이 읽어들이는 데이터다. 도구와 무엇이 다른지, URI로 무엇을 노출하는지, 그리고 실제 서버에서 어떻게 구현하는지 살펴본다.
MCP 서버가 LLM에게 노출하는 세 가지 기본 요소 Tools·Resources·Prompts를 각각 언제 쓰는지 구분한다.
LLM은 혼자 외부 세계를 만지지 못한다. MCP가 그 연결을 어떻게 표준화하는지, 클라이언트·서버 구조와 도구 정의를 통해 살펴본다.
MCP가 에이전트 아래로 도구를 꽂는 수직 연결이라면, A2A는 에이전트끼리 옆으로 대화하는 수평 연결이다. 상대를 스키마가 정해진 함수로 보느냐, 속을 알 수 없는 행위자로 보느냐 — 두 프로토콜이 다른 문제를 푸는 이유를 Agent Card와 Task 개념으로 정리한다.
MCP와 function calling은 경쟁 관계가 아니라 다른 층에 있다. function calling은 모델이 도구 호출 의사를 표현하는 출력 형식이고, MCP는 그 형식에 흘려 넣을 도구를 조달하는 공급 규격이다. 두 층이 한 번의 도구 호출에서 어떻게 맞물리는지 실제 요청 형태로 구분한다.
Claude Code는 MCP 클라이언트인가, 에이전트인가? 둘 다다. 층위가 다른 두 역할이 우연히 같은 소프트웨어에 담겨 있을 뿐이다. 프로토콜 역할과 런타임 역할을 분리해 본다.
MCP, 에이전트, 오케스트레이터는 자주 뒤섞여 쓰이지만 서로 다른 층에 있다. 도구를 공급하는 규격, 스스로 도구를 고르는 행위자, 그리고 여러 행위자를 지휘하는 조정자로 나눠 정리한다.
LLM은 텍스트를 뱉을 뿐 스스로 파일을 읽거나 도구를 부르지 못한다. 그 모델을 감싸 실제로 일을 시키는 바깥 루프가 '하네스'다. 하네스가 무엇을 맡는지, MCP는 그 안에서 어디에 끼는지 정리한다.
MCP Resource는 도구가 아니라 LLM이 읽어들이는 데이터다. 도구와 무엇이 다른지, URI로 무엇을 노출하는지, 그리고 실제 서버에서 어떻게 구현하는지 살펴본다.
MCP 서버가 LLM에게 노출하는 세 가지 기본 요소 Tools·Resources·Prompts를 각각 언제 쓰는지 구분한다.
LLM은 혼자 외부 세계를 만지지 못한다. MCP가 그 연결을 어떻게 표준화하는지, 클라이언트·서버 구조와 도구 정의를 통해 살펴본다.
비공개로 의견 보내기
작성자에게만 전달돼요. 이름·이메일을 비우면 완전 익명입니다.