2024년 11월 26일에 등장했다는 MCP,
그런데 올해 3월부터 핫해지기 시작했다고 한다.
커서에서 도입한 이후부터라는데...
그래서 내가 구독하고 있는 유튜브 채널에도 MCP 관련 영상이 지난 달 와르르 떴었다.
그 땐 슬쩍보고 왜 이렇게 다들 열광하는지 궁금했는데,
MCP로 인해서 AI 에이전트 시대가 더 가까워진 것 같다는 생각이 든다.
실제로 작년 CES에서도 AI를 트렌드로 주목한데 이어, 올해 CES에서도 AI를 기술 트렌드로 주목했고 'AI 에이전트'를 주목했다는데 그대로 흘러가고 있나보다.
근데 사실 나는 멋진 개발자가 아니라서 MCP에 대한 개념이 한 번에 와닿진 않았었다.
근데 보다보니 MCP를 내 서비스에 적용할 수 있을 것 같고,
이 기회에 이해하고 넘어가보자 싶어서 적어둔다.
| MCP(Model Context Protocol)은 LLM이 외부 시스템과 상호작용할 수 있도록 해주는 통신 프로토콜
그러니까
하나하나 뜯어보면
인 것 같다.

여러 영상에서 말하기를 MCP를 usb C타입에 비유하던데, 예전에는 GPT나 Claude 같은 모델을 쓸 때 일일이 프롬프트 짜서, API 호출 코드도 따로 작성해야 했다면,
이제는 MCP라는 통일된 방식으로 도구(API)를 연결해서
MCP 클라이언트(=에이전트, LLM)가 MCP 서버(=API 모음)에 요청을 날리는 구조로 갈 수 있는 것 같다.
여기서 MCP 클라이언트와 MCP 서버라는 개념이 등장하는데, 기존 웹 클라이언트/서버 개념과는 조금 다른 것 같고...
라고 gpt가 정리해줬다.

요즘 그림을 잘 그려주길래 도식화해달라했더니 이렇게 그려줬다.
구조는 대략 이런 식으로 작성되는 듯하다.
{
"action": {
"tool": "tool_name",
"parameters": {
"key1": "value1",
"key2": "value2"
}
}
}
이걸 바탕으로 이제 MCP 서버에서 MCP에서 모델이 “툴 호출을 하겠다”는 JSON을 만들면,
시스템(서버, API 등)은 그걸 받아서 실행한 뒤,어떤 방식으로든 결과를 다시 모델에게 돌려줘야 한다는데, 이 때 통신 프로토콜이 필요하다고 한다.
이 때 주로 쓰는 게 SSE와 Stdio 방식인 것 같다.
SSE (Server-Sent Events)는 서버가 클라이언트에게 “한 번 연결해서, 계속 스트리밍”으로 데이터를 보내고, 클라이언트는 실시간으로 응답을 조금씩 받는 방식
Stdio (Standard Input/Output)는 프로그램이 stdin(입력)으로 명령을 받고 stdout(출력)으로 결과를 내보내는 방식. 즉, 로컬 명령어 실행 방식 같은 구조

비교하자면 이렇게 되는 것 같고...
MCP 서버를 배포해서 마켓플레이스처럼 사용할 수 있는 가장 활성화된 사이트가 현재 smithery라고 하는데,
여기는 대부분 stdio 방식이라고 한다.
LLM 관련 서비스라면 거의 다 도입할 수 있는 거 아닌가?
API 비용도 절감되고, DB 저장도 자동화시킬 수 있고,
결국 AI 에이전트도 만들 수 있는거고...
오...
방금도 우리집 기가지니가 혼자 말하고 혼자 대답했는데,
곧 실직하겠네... 근데 너가 실직하면 나는...?
세상이 정말 빠른 것 같아...