MCP가 11월 25 (한국시간)에 발표되고 나서 이제 3달정도가 지났다.
MCP is Protocol
MCP는 Model Context Protocol의 약자로 Protocol이 함유하는 뜻 그대로 통신 규약이다.
규약이기 때문에 사실 그 자체로 대단한 기술은 아니다. 슈퍼파워네 뭐네 하는 소리가 있어도 그건 조금 과장된 것이다. 하지만 (슈퍼)파워를 AI Agent한테 부여하기 쉬워진것은 맞다.
규약이 유용하려면 프로토콜이 잘 설계 되야하는 것도 있지만 한가지 조건이 더 있다. 바로 유명해야 한다는 것이다.
우리가 인터넷 통신할때 쓰는 TCP/IP, RestAPI, 코딩할 때 쓰는 다양한 Interface, 조금 만 더 나가면 우리가 대화에 쓰는 언어까지 서로 내용을 공유하는 사람이 많으면 그 가치가 올라가는 것들이다.
거기서 오는 특성이 하나 더 있다. 점점 대체 불가능해진다는 것이다.
TCP/IP는 말해 뭐하고, OpenAI가 처음 GPT를 발표하면서 내놓은 API는 그 형태 그대로 다른 모델들에서도 사용해서 이제 OpenAI의 API 형식을 따르지 않으면 안된다.
Why MCP?
MCP는 LLM이 활용할 수 있는 Tool, Prompt, Resource(Data) 관리자와 소통할 수 있게 해주는 프로토콜이다. Tool, Prompt, Resource를 쉽게 AI가 가져다 쓸 수 있도록 돕는다고 생각하면 된다.
Tool의 개념은 GPT 서기 1년부터 존재해오던 개념이다. 사실 Agent의 개념과 거의 동시에 나왔다. Agent로써의 LLM은 두뇌의 역할이고, 인간이 도구를 사용해서 문제를 해결하듯 Agent가 Tool을 사용한다는 개념은 아주 직관적인 개념이다.
그런데 문제는 이 Tool을 모두가 다른 방식으로 비슷한 것을 만들고 있었다는 것이다. 아마 슬랙 연동하는 툴을 몇만명이 만들지 않았을까...
이런 문제의식을 가지고 이런 툴들을 묶어서 제공하려는 곳들도 있었고 Composio, GPTs action(못들어 봤을 수 있는데 OpenAI꺼다)은 Interface를 제공하고 이를 구현하면 GPT가 사용할 수 있도록 만들어주기도 했다. MCP 비슷하게 표준을 제안한 곳도 있다.AgentsJson
하지만 너무 닫혀있는 시스템이다거나 안유명하거나의 이유로 이들은 표준이 되지 못했다. MCP도 발표할때는 표준은 아니었지만 이제 표준에 가까워졌다.
Challange of MCP
- 지금 MCP의 상태는 초기 생태계 상태이다. MCP Server를 아무나 만들어서 공유할 수 있는데, 이 공유하는 생태계가 아직 부족하다.
MCP server는 기본적으로 남의 코드이다. 그래서 아무 MCP Server나 좋아보여서 돌렸다가는 거덜날 가능성이 있다. npm 같은 marketplace가 있고 보안 검증들도 철저하게 이루어져야한다.
대부분의 MCP Server는 퀄리티가 안좋다.
핫해지고 좀 알려지긴했지만 표준은 아니다.
MCP 등록을 해야하고 등록시 인증 과정이 불편하다. 내 Agent가 어떤 MCP Server의 툴을 쓰게 하고 싶으면 그 서버를 이용하기 위한 토큰을 포함하여 MCP서버를 등록해야한다.
이건 하면 되지 싶지만, 사실 완전한 Agent라면 필요한 툴을 찾아서 알아서 척척 내가 주문한 내용을 완수해야한다.
"깃헙의 내 레포의 가장 최신 이슈를 해결해서 PR을 올리고 슬랙으로 알림을 보내줘"라는 테스크를 주는 상황이다.
완전한 Agent: "깃헙을 써야겠네, 깃헙 MCP Server에서 정보를 가져와 볼까, 토큰이 필요하네, (뭐 어케해서 PAT얻어옴), 깃헙 MCP로 최신이슈 조회, ...., 어 슬랙도 필요하네, 슬랙 MCP Server를 찾아봐야지, ...., 전송 완료"
지금: 깃허브도 필요하고 슬렉도 필요하니까 MCP서버 설치링크를 찾아서 설치하고 인증 등록하고 "해줘"
Future of MCP
위의 문제들은 centralized registry 와 well-known 파일들로 해결을 하려고 하는 것으로 보인다.
Why Now?
지금 MCP를 도입해봐야하는 이유는 지금 꽤 괜찮은 걸 올리면 쉽게 유명해질 수 있다는 것이다.
Why Not API?
API도 사실 OpenAPI 같은 스펙이 있고, 사람도 충분히 이해할 수 있기에 당연히 LLM도 이해하고 사용할 수 있다.
1년전에는 AI가 웹을 돌아다닐 수 있기 때문에, 그냥 쓰고 싶은 API찾아서 쓰면 된다고 생각했다. 아니면 이런 퍼블릭 API 리스트도 학습해서 그냥 알고 있어서 쓰거나 하게 될 줄 알았다.
근데 지금와서 API를 툴로 활용하도록 발전한게 아니라 MCP라는 새로운 규약이 등장했다. 어떤 의미에서 MCP가 API보다 더 가치 있을까 생각해보았다.
- API가 Agent의 비해 상대적으로 Low level이다. 우리가 Agent한테 명령하는 일들은 우리가 수 분을 소비해야하는 일들이다. 이 고수준의 일을 상대적으로 저수준인 API의 집합으로 나누려면 수십개의 API 호출을 해야할지도 모른다.
사람은 일을 할때 UI를 통해서 작업을 한다. UI에 있는 버튼 하나에 사실 많은 API들이 숨겨져 있는 거라고 볼 수 있다. Agent도 그런 버튼 같은게 필요하다.
- API는 바뀔 확률이 높다. API가 바뀔때 마다 모든 Agent는 그 정보를 업데이트 해야한다.
반면 MCP는 추상화 레벨이 높아서 잘 바뀌지 않는다. 예를 들어서, "컴퓨터를 켠다" 라는 액션이 있다. 그 컴퓨터의 부품들의 키는 방식이 어떻게 바뀌든 유저는 알필요 없다. "컴퓨터를 키는 버튼"은 항상 그대로다. 컴퓨터를 조립하는 곳 한군데서만 신경 쓰면 된다.
디자인 패턴의 Facade패턴과 비슷하다.
Top comments (0)