과거의 내가 미래의 나에게
MCP를 공부해보자 본문
오늘은 요즘 핫한 이슈인 MCP 관련해서 배워볼까 한다. 원래 새로운 이슈가 나오면 겉만 핥고 넘어가는 경우가 많았는데 스터디원들과 같이 있으니 이렇게 깊게 알아볼 수 있는 기회가 생겼다. 얼핏 보더라도 앞으로 자주 쓰일 것 같기도하고 내가 관심있는 생산성에도 걸쳐있기에 공부를 안할 이유는 없는 듯 하다.
MCP란?
Model Context Protocol의 준말로 AI 모델이 컨텍스트를 잘 이해하여 필요한 액션을 취할 수 있도록 도와주는 프로토콜이라 한다. 이런 직역으로는 MCP가 뭐인지 한 번에 설명할 수 없어서 좀 더 단어를 풀어보는 과정을 거쳤다.
* Model: AI 모델을 나타내는 것으로 GPT나 Claude 등 생성형 언어 모델들을 의미한다.
* Context: 직역하면 맥락, 문맥이란 뜻으로, 사용자가 AI 모델에게 말을 걸면 AI 모델은 그 사용자의 말이 어떤 의미인지 목적, 배경, 결과 등을 고려하여 종합적으로 이해한다는 의미이다.
인간끼리 대화를 나눌 때도 안녕이라는 인삿말에 표정, 분위기, 목소리 등을 전부 고려한 후에 다음 답변을 주지 않는가? AI 모델도 주어진 문장만 보는 것이 아닌 기타 모든 것을 고려하여 사용자가 원하는 바를 캐치하려고 노력하는 것이 컨텍스트인 것이다.
* protocol: 컴퓨터끼리 통신할 때 쓰는 약속된 규칙이다. protocol이란 단어가 들어간 MCP는 결국 규칙을 뜻하는 것으로, AI 모델이 다른 앱들과 소통하기 위해 각 앱이 정보를 어떤 구조와 방식으로 제공해야 하는지를 정한 표준 규칙이다.
위의 내용을 바탕으로 MCP가 무엇인지 다시 정의해보자.
이제는 사용자가 앱들을 직접 사용하지 않아도, AI 모델을 통해 필요한 작업을 대신 처리하는 세상이 왔다. AI 모델이 사용자의 요청을 파악하여 관련된 앱에 접근하여 목적을 이뤄주는 것이다. 예를 들어 내가 slack에 직접 메신저를 보내는 것이 아닌 GPT에게 "슬랙에 이 메시지를 보내줘"라고 말하면 GPT가 슬랙 앱과 연결되어 메시지를 전송한는 것이다.
MCP는 이러한 방식을 좀 더 쉽고 빠르게 구성할 수 있도록 하나의 규칙을 설립한 것이다. 모두가 공용하는 규칙이 있음으로 인해 각각의 앱들은 AI 모델이 자신들의 앱을 이용할 수 있는 환경을 쉽게 구축할 수 있게 되었고 AI 모델을 통해서 이용할 수 있는 서비스가 많아지면 사용자는 AI 모델에 말 한마디만 하는 것으로 쉽게 목적을 이룰 수 있게 된다. 이것을 가능하게 한 것이 MCP였고 그렇기에 MCP가 핫해질 수 밖에 없는 것이었다.
즉, MCP는 AI 모델이 다양한 앱들과 소통할 수 있도록 도와주는 하는 공용 규칙인 것이다.
< 참조 >
MCP는 2024년부터 AI 생태계가 커지면서 등장한 개념으로 독점적으로 나온 것이라기보단 여럿 커뮤니티와 개발사들의 꾸준한 노력으로 통합된 개념이라 한다. Cluade와 Cursor가 가장 먼저 구조화해서 실용화 시켰고 후의 GPT를 포함한 AI 모델들도 MCP를 채택하는 추세인 듯 하다.
MCP의 구조
MCP는 host, client, serve 3가지로 구성되어있다.
1. host
사용자가 직접 상호작용하는 애플리케이션으로 Cluade(desktop), Cursor 등 AI 모델이 내장되어있거나 연동되어있는 애플리케이션이 Host라 할 수 있겠다. 사용자들이 입력을 주면 Host는 AI 모델을 통해서 내용을 파악하고 결과를 사용자에게 보여주게 된다. Host들은 내부에 MCP 클라이언트를 포함하고 있다.
2. Client
Host의 AI 모델과 MCP server를 연결하는 중재자이다. Host가 사용자의 요청을 AI 모델에게 주면 AI 모델은 어떤 외부 도구가 필요한 지 파악하고 MCP 클라이언트를 통해 MCP server에 요청을 보내게 된다. AI가 외부 도구를 쓸 수 있게 해주는 다리 역할이라 할 수 있겠다.
3. Server
MCP server는 MCP 규칙에 맞춰서 앱들을 사용할 수 있게끔 미리 짜둔 서버로, Host가 요청을 하고 AI 모델이 이를 분석해서 어떤 처리를 해야할 지 판단한 후에 MCP 클라이언트를 통해서 MCP server로 요청하면 MCP server는 해당 요청을 처리하여 다시 돌려주는 것이다.
MCP server는 직접 만들 수도 있고 혹은 사람들이 만들어놓은 것을 이용해도 된다.(ex: awesome-mcp-server) 아마 MCP 규칙이 나옴으로 인해서 MCP server는 더욱 많아질테고 우리는 쉽게 골라서 사용만 하면 될 것 같다.
MCP가 뭔지 확실히 아니 써보고 싶은 생각이 엄청나졌고 또 내 개인 생활에서 그리고 또 업무에서도 어떻게 적용할 지 많은 아이디어가 샘솟는다. 괜히 핫한 이슈가 아니네!
하드웨어 기기끼리 데이터 교환을 쉽게 해줄 수 있게 해준 USB나 대 인터넷 시대를 여는 데 한 축을 담당한 HTTP처럼 MCP는 AI 시대에 큰 영향력을 끼칠만도하다. 이런 아이디어와 공통된 규칙이 계속 만들어지면 언젠간 우리가 필요한 UI는 input창 단 한 개일 것이란 생각이 들기도 했다.
참고 문서
- '입만 살았던' AI에 손 달아준다 … 실리콘밸리 뒤흔드는 MCP - https://www.mk.co.kr/news/it/11284791
- MCP써야 진짜 Claude다! 500% 활용 튜토리얼 (개념부터 활용까지) - https://www.youtube.com/watch?v=fkqXQOjj8cA&t=109s&ab_channel=%EC%8B%9C%EB%AF%BC%EA%B0%9C%EB%B0%9C%EC%9E%90%EA%B5%AC%EC%94%A8