본문 바로가기

파이썬으로 할 수 있는 일/실사용

AI 에이전트의 핵심 기술 MCP 이해하기: 비개발자를 위한 쉬운 설명

반응형

얼마전에도 Claude MCP에 대한 글을 올리긴 했지만, 나도 처음에 MCP를 들었을때 뭐 또 다른 어떤 모듈하나가 나왔나 보다 라고 생각했다. 그래서 내 삶에 큰 영향을 줄 것이라는 생각은 하지 못했었다.
하지만, 클로드 MCP를 통해 다른 기능들을 붙혀 사용하게 되면서 그 확장성에 놀라고 있다. 
물론 AI관련 개발자들은 LangChain으로 이미 확장성을 갖고 있었겠지만, 나처럼 일반인들은 언젠가는 AI가 내 생활에 들어와서 날 도와주겠지라는 막연한 생각만 하고 실제 AI는 그림 그리기나 이메일, 문자, 상투적인 문구 작성을 요청해서 사용하는 정도였다.

이제 많은 사람들이 알게 되고 있지만, MCP라는 프로토콜을 통해 웹 서치(크롤링 포함), 옵시디언 또는 노션 노트 작성 및 읽기, 유튜브 자막 읽기, 로컬 파일 및 폴더를 읽고 쓰기, 구글 캘린더에 일정 넣기, 주식 실시간 정보 가져오기, 논문 정보 읽어와서 정리하기, 구글 맵 정보 읽어오기, 구글 드라이브에 있는 자료 읽기와 저장하기, 네이버 뉴스, 쇼핑, 블로그 검색, 추론하기,  내 로컬에 로그 형태로 기억하기 등 여러 기능들이 쉽게 통합되고 있다.

좀 전에 Claude App을 보니, 구글 드라이브와 Gmail, 캘린더를 바로 연결할 수 있는 링크가 생겼다. 클로드와 구글이 OpenAI에 대항해 연합군을 형성했다고 하는데 맞는 것 같다. 구글 드라이브, Gmail, 캘린더 연결 설정이 꽤 복잡했었는데 이제 쉽게 연결 가능해졌다. 앞으로 더 좋은 기능들을 쉽게 연결할 수 있게 될 것이라 생각한다. (아직 Gmail, 구글 드라이브는 쓰기 기능이 없다... 언젠가는 되겠지)

그럼 이렇게 유용한 MCP에 대해 쉽게 이해해 보는 시간을 갖도록 해보자.
클로드에게 일반인을 위해 비유와 예시를 들어 MCP를 쉽고 이해하기 쉽게 설명해 달라고 했다. 
다음은 그 내용이다.


여러분, 인공지능(AI)이 우리의 정보와 시스템에 어떻게 연결되는지 궁금하셨나요?
오늘은 안트로픽(Anthropic)이 개발한 혁신적인 기술인 'MCP(Model Context Protocol)'에 대해 알아보려고 합니다.
복잡해 보이는 이름이지만, 걱정하지 마세요! 쉽고 재미있게 설명해 드릴게요.

MCP란 무엇일까요?

MCP, 즉 Model Context Protocol은 AI 모델이 다양한 데이터 소스와 도구에 연결되는 방식을 표준화한 개방형 프로토콜입니다. 쉽게 말해, AI가 우리의 데이터와 시스템에 안전하게 접근하고 상호작용할 수 있게 해주는 '다리' 역할을 한다고 생각하면 됩니다.

🔌 USB-C 포트에 비유하면

MCP를 이해하기 가장 쉬운 방법은 USB-C 포트에 비유하는 것입니다. 모델컨텍스트프로토콜 공식 문서에서도 이렇게 설명하고 있죠.

"USB-C가 다양한 장치를 주변기기에 연결하는 표준화된 방식을 제공하듯이, MCP는 AI 모델이 다양한 데이터 소스와 도구에 연결되는 표준화된 방식을 제공합니다."

예를 들어, 스마트폰에 USB-C 케이블을 꽂으면 충전, 데이터 전송, 외부 디스플레이 연결 등 다양한 기능을 사용할 수 있습니다. 마찬가지로 AI가 MCP를 통해 여러분의 구글 드라이브, 슬랙, 깃허브 등 다양한 시스템에 접근할 수 있게 됩니다.

MCP가 필요한 이유

AI 모델이 발전함에 따라 점점 더 뛰어난 능력을 갖추게 되었지만, 한 가지 큰 한계가 있었습니다. 바로 '데이터 고립' 문제입니다. 아무리 똑똑한 AI도 필요한 데이터에 접근할 수 없다면 제대로 된 도움을 주기 어렵죠.

예를 들어, AI에게 "우리 팀의 지난 분기 보고서를 요약해줘"라고 요청했을 때, AI가 여러분의 회사 문서에 접근할 수 없다면 "죄송합니다, 해당 정보에 접근할 수 없습니다"라고 답할 수밖에 없습니다.

MCP는 이런 문제를 해결하기 위해 만들어졌습니다. MCP를 통해 AI는:

  1. 다양한 데이터 소스에 안전하게 연결될 수 있고
  2. 다양한 AI 제공업체와 호환되며
  3. 기업의 인프라 내에서 데이터를 안전하게 보호할 수 있습니다

MCP의 아키텍처: 어떻게 구성되어 있을까?

MCP는 기본적으로 클라이언트-서버 아키텍처를 따릅니다. 여기서 호스트 응용 프로그램은 여러 서버에 연결할 수 있습니다. 이를 친숙한 개념에 비유해 보겠습니다.

🏠 스마트홈 시스템에 비유하면

MCP의 구조를 스마트홈 시스템에 비유해 볼까요?

  • MCP 호스트(예: Claude): 스마트홈의 중앙 컨트롤러입니다. 여러 기기를 제어하고 정보를 요청합니다.
  • MCP 클라이언트: 컨트롤러와 각 스마트 기기를 연결하는 통신 프로토콜입니다. 명령을 주고받는 역할을 합니다.
  • MCP 서버: 실제 스마트 기기들(조명, 온도조절기, 보안 카메라 등)입니다. 각 기기는 특정 기능을 수행하고 데이터를 제공합니다.
  • 데이터 소스: 각 스마트 기기가 접근하는 정보(전력 사용량, 온도 센서 데이터, 카메라 영상 등)입니다.

중앙 컨트롤러(호스트)가 "거실 온도를 올려줘"라고 명령하면, 통신 프로토콜(클라이언트)을 통해 온도조절기(서버)에 명령이 전달되고, 온도조절기는 센서 데이터(데이터 소스)를 확인한 후 적절히 온도를 조절합니다.

MCP의 핵심 요소들

MCP는 다음과 같은 핵심 요소들로 구성됩니다:

1. 리소스 (Resources)

MCP 서버가 AI에게 제공하는 데이터나 콘텐츠입니다.

예시: 여러분의 구글 드라이브에 있는 문서, 슬랙 대화 내용, 깃허브 코드 등이 리소스가 될 수 있습니다. 마치 도서관의 책들처럼, AI가 참고할 수 있는 정보의 원천입니다.

2. 도구 (Tools)

AI가 MCP 서버를 통해 실행할 수 있는 기능이나 작업입니다.

예시: 파일 읽기/쓰기, 이메일 보내기, 데이터베이스 쿼리하기 등이 도구가 될 수 있습니다. 마치 스위스 아미 나이프의 다양한 도구처럼, AI가 다양한 작업을 수행할 수 있게 해줍니다.

3. 프롬프트 (Prompts)

재사용 가능한 프롬프트 템플릿과 워크플로우입니다.

예시: 특정 형식의 이메일 작성, 코드 리뷰 수행, 데이터 분석 등의 작업을 위한 템플릿을 미리 정의해둘 수 있습니다. 마치 요리 레시피처럼, 반복적인 작업을 효율적으로 수행할 수 있게 도와줍니다.

4. 샘플링 (Sampling)

MCP 서버가 AI 모델에게 텍스트 생성을 요청하는 기능입니다.

예시: MCP 서버가 AI에게 "이 코드의 문제점을 찾아줘"라고 요청하고, AI가 생성한 분석 결과를 받아 처리할 수 있습니다. 마치 전문가에게 의견을 구하는 것과 같습니다.

5. 트랜스포트 (Transports)

MCP의 통신 메커니즘으로, 클라이언트와 서버 간의 데이터 교환 방식을 정의합니다.

예시: 웹소켓, HTTP 등의 프로토콜을 사용하여 AI 시스템과 데이터 소스 간에 정보를 주고받습니다. 마치 우편, 전화, 이메일 등 다양한 통신 수단처럼, 상황에 맞는 방식으로 소통할 수 있습니다.

반응형

MCP의 작동 원리: 공항 시스템에 비유해볼까요?

MCP의 작동 원리를 이해하기 위해 공항 시스템에 비유해 봅시다:

  1. 연결 설정 (체크인): Claude와 같은 AI 호스트가 MCP 클라이언트를 통해 MCP 서버와 연결됩니다. 마치 여행객이 공항 체크인 카운터에서 탑승권을 받는 것과 같습니다.
  2. 리소스 탐색 (공항 안내도 확인): AI는 MCP 서버가 제공하는 리소스 목록을 확인합니다. 여행객이 공항 안내도를 보고 식당, 상점, 라운지 등의 위치를 파악하는 것과 유사합니다.
  3. 리소스 요청 (서비스 이용): AI가 특정 리소스를 요청하면, MCP 서버는 해당 데이터를 가져와 AI에게 제공합니다. 여행객이 레스토랑에서 음식을 주문하거나 면세점에서 상품을 구매하는 것과 같습니다.
  4. 도구 사용 (공항 시설 이용): AI는 MCP 서버가 제공하는 도구를 사용하여 작업을 수행할 수 있습니다. 여행객이 공항 내 Wi-Fi, 충전소, 환전소 등의 시설을 이용하는 것과 유사합니다.
  5. 샘플링 (안내 데스크 문의): MCP 서버는 필요할 때 AI에게 텍스트 생성을 요청할 수 있습니다. 공항 직원이 안내 데스크에서 여행객의 질문에 맞춤형 정보를 제공하는 것과 비슷합니다.

실생활에서 만나는 MCP 사례들

MCP 기술은 다양한 분야에서 활용되고 있습니다. 몇 가지 실제 예를 살펴볼까요?

1. Claude 데스크톱 앱

안트로픽의 Claude 데스크톱 앱은 MCP를 통해 여러분의 컴퓨터 파일 시스템에 접근할 수 있습니다.

사용 예: Claude에게 "내 문서 폴더에 있는 '분기별 보고서.docx' 파일을 요약해줘"라고 요청하면, Claude는 MCP를 통해 해당 파일을 읽고 요약을 제공할 수 있습니다.

2. 개발 환경 통합

Zed, Replit, Codeium, Sourcegraph와 같은 개발 도구 회사들은 MCP를 활용하여 AI가 코드를 더 잘 이해하고 생성할 수 있도록 돕고 있습니다.

사용 예: 개발자가 AI에게 "이 함수에 버그가 있어. 고쳐줄래?"라고 요청하면, AI는 MCP를 통해 전체 코드베이스의 맥락을 이해하고 더 정확한 해결책을 제시할 수 있습니다.

3. 기업 데이터 통합

Block(과거 Square)과 같은 기업들은 MCP를 자사 시스템에 통합하고 있습니다.

사용 예: "Block의 최고기술책임자 단지 프라산나는 '오픈 기술은 AI를 실제 응용 프로그램에 연결하는 다리 역할을 한다'고 말하며 MCP와 같은 개방형 프로토콜의 중요성을 강조했습니다."

4. 사전 구축된 MCP 서버

안트로픽은 Google Drive, Slack, GitHub, Git, Postgres, Puppeteer 등 인기 있는 기업용 시스템을 위한 사전 구축된 MCP 서버를 제공하고 있습니다.

사용 예: 이러한 사전 구축된 서버들을 활용하면, 사용자는 별도의 개발 없이도 Claude가 이러한 시스템들과 상호작용할 수 있게 할 수 있습니다.

MCP 기술의 장점: 왜 이렇게 중요할까요?

MCP 기술이 중요한 이유는 다양한 장점 때문입니다.

1. 데이터 사일로 문제 해결

AI가 필요한 데이터에 접근하기 어려운 '정보 고립' 문제를 해결합니다.
마치 다리나 터널이 서로 다른 지역을 연결하듯, MCP는 AI와 데이터 시스템 간의 장벽을 허물어줍니다.

2. 표준화된 연결 방식

각 데이터 소스마다 별도의 커넥터를 유지할 필요 없이, 하나의 표준화된 프로토콜로 모든 연결을 관리할 수 있습니다.
이는 마치 과거 각 기기마다 다른 충전기가 필요했던 것에서 USB-C라는 표준 충전 방식으로 통일된 것과 유사합니다.

3. 보안 강화

MCP는 데이터 보안을 핵심 설계 원칙으로 삼고 있어, 민감한 정보도 안전하게 공유할 수 있습니다.
은행의 보안 시스템처럼, 필요한 정보만 안전하게 전송되도록 보장합니다.

4. 개발 효율성 향상

개발자들은 사전 구축된 서버를 활용하거나 표준화된 방식으로 새로운 서버를 개발할 수 있어 개발 시간이 단축됩니다.
마치 레고 블록처럼 이미 만들어진 부품을 조립하여 새로운 구조물을 빠르게 만들 수 있는 것과 같습니다.

5. AI 제공업체 간 호환성

MCP는 AI 제공업체 간의 전환이 용이하도록 설계되었습니다.
이는 특정 AI 시스템에 종속되지 않고, 필요에 따라 다른 AI 모델로 쉽게 전환할 수 있음을 의미합니다.

MCP 시작하기

MCP를 시작하는 방법은 여러분의 역할에 따라 다양합니다:

1. 일반 사용자로서

Claude 데스크톱 앱을 설치하고 사전 구축된 MCP 서버를 활용할 수 있습니다.
이를 통해 Claude가 여러분의 파일 시스템에 접근할 수 있게 됩니다.

2. 서버 개발자로서

자신만의 MCP 서버를 개발하여 특정 데이터 소스나 도구에 대한 액세스를 제공할 수 있습니다.
모델컨텍스트프로토콜 공식 문서에서 제공하는 가이드와 SDK를 활용하면 됩니다.

3. 클라이언트 개발자로서

MCP를 지원하는 AI 응용 프로그램을 개발할 수 있습니다.
이를 통해 사용자가 다양한 MCP 서버에 연결하여 데이터를 활용할 수 있게 됩니다.

MCP 기술의 향후 확장 가능성

MCP 기술은 앞으로 더욱 발전하고 확장될 것으로 예상됩니다. 어떤 가능성들이 기다리고 있을까요?

1. 더 다양한 데이터 소스 통합

더 많은 비즈니스 도구, 콘텐츠 저장소, 개발 환경 등이 MCP를 채택하면서 AI가 접근할 수 있는 데이터의 범위가 크게 확장될 것입니다. 마치 도시의 교통망이 더 많은 지역을 연결하게 되면서 접근성이 좋아지는 것과 같습니다.

2. 멀티모달 데이터 처리

MCP는 텍스트뿐만 아니라 이미지, 오디오, 비디오 등 다양한 형태의 데이터에 대한 연결도 지원하게 될 것입니다.
마치 다국어를 구사하는 통역사처럼, 여러 형태의 정보를 원활하게 처리할 수 있게 됩니다.

3. 진화하는 에이전트 시스템

MCP를 활용한 지능형 에이전트가 더욱 발전하여 사람들의 일상과 업무를 지원하는 시스템으로 진화할 것입니다.
마치 개인 비서가 여러분의 선호도를 학습하고 더 효율적으로 도와주는 것처럼, AI 에이전트도 더욱 유용해질 것입니다.

4. 오픈 소스 생태계 발전

MCP는 오픈 소스로 개발되고 있어, 전 세계 개발자들의 참여로 더욱 풍부한 기능과 연결성을 갖추게 될 것입니다.
마치 리눅스와 같은 오픈 소스 운영체제가 커뮤니티의 기여로 발전해온 것처럼, MCP도 지속적으로 개선될 것입니다.

5. 산업별 맞춤형 솔루션

의료, 금융, 법률 등 다양한 산업에 특화된 MCP 서버가 개발되어, 각 분야의 특수한 요구사항을 충족시킬 것입니다.
이를 통해 AI는 더욱 전문적이고 정확한 도움을 제공할 수 있게 될 것입니다.

MCP의 한계와 도전 과제

물론, MCP 기술에도 한계와 도전 과제가 있습니다.

1. 도입 초기 단계

MCP는 2024년 11월에 공개된 비교적 새로운 기술로, 아직 성숙도가 높지 않습니다.
마치 초기의 웹처럼, 앞으로 더 많은 발전과 개선이 필요합니다.

2. 보안 및 개인정보 보호

다양한 데이터 소스에 접근할 수 있게 되면서, 보안과 개인정보 보호에 대한 도전도 커집니다.
열쇠가 많을수록 모든 열쇠를 안전하게 보관하는 것이 더 중요해지는 것과 같습니다.

3. 표준화의 과제

다양한 시스템과 데이터 형식을 하나의 프로토콜로 표준화하는 것은 쉬운 일이 아닙니다.
마치 여러 국가의 전기 플러그 표준을 하나로 통일하는 것처럼, 많은 협의와 조정이 필요합니다.

4. 기술적 복잡성

MCP 서버를 개발하고 관리하려면 일정 수준의 기술적 지식이 필요합니다.
누구나.쉽게 사용할 수 있을 만큼 단순해지기까지는 시간이 필요합니다.

MCP 기술을 대하는 우리의 자세

새로운 기술의 등장은 항상 기대와 우려를 동시에 가져옵니다. MCP 기술도 마찬가지입니다.
이를 현명하게 활용하기 위해 우리는 어떤 자세를 가져야 할까요?

1. 열린 마음으로 접근하기

MCP와 같은 새로운 기술은 우리가 AI와 상호작용하는 방식을 크게 변화시킬 수 있습니다.
이러한 변화를 두려워하기보다는 열린 마음으로 받아들이고 탐색해보는 자세가 중요합니다.

2. 데이터 관리 의식 강화하기

AI가 더 많은 데이터에 접근할 수 있게 되면서, 우리는 어떤 데이터를 어디에 저장하고 누구와 공유할지에 대해 더욱 신중하게 생각해야 합니다. 디지털 생활의 '정리정돈'이 더 중요해지는 것입니다.

3. 협업 도구로 활용하기

MCP를 통해 강화된 AI는 우리의 경쟁자가 아닌 협업 파트너입니다.
반복적이고 지루한 작업은 AI에게 맡기고, 창의적이고 전략적인 활동에 더 집중할 수 있는 기회로 삼아야 합니다.

마무리: MCP, 모두를 위한 AI의 미래를 여는 열쇠

MCP 기술은 단순한 기술적 혁신을 넘어, AI의 활용 방식에 근본적인 변화를 가져오고 있습니다. 이는 AI가 '고립된 천재'에서 '연결된 지능'으로 진화하는 중요한 단계입니다.

안트로픽은 MCP를 오픈 소스 프로젝트로 공개함으로써, 모든 개발자와 기업이 이 기술을 활용하여 더 나은 AI 솔루션을 만들 수 있도록 했습니다. 이는 AI 기술의 민주화와 발전을 위한 중요한 진전입니다.

오늘날의 AI가 제한된 정보에 기반하여 응답하는 것을 넘어, 미래에는 우리의 디지털 세계 전반에 걸쳐 연결되어 더 정확하고 유용한 도움을 제공할 수 있을 것입니다. MCP는 그 미래를 앞당기는 열쇠 중 하나입니다.

여러분은 어떻게 생각하시나요? MCP 기술이 가져올 미래에 대한 여러분의 기대나 우려, 또는 질문이 있다면 댓글로 나눠주세요! 함께 이야기하며 더 나은 AI 연결의 미래를 상상해봅시다. 😊


위 내용을 작성하면서 3번에 걸쳐 클로드에게 다시 작성하도록 요청했다.
처음에는 Modular Cognitive Pipeline라는 엉뚱한 것을 주제로 해서 작성하였다. 그래서, 다시 Model Context Protocol(MCP)에 대해 작성해 달라고 요청했다.
그런데, 이것도 내용이 이상했다. 아무리 봐도 전혀 상관없는 내용을 창의적으로 잘 작성했다. 모르는 사람이 보면 정말 맞는거 아닐까 싶을 정도로 말이다. 
결국 웹 링크(https://modelcontextprotocol.io/introduction)를 주고 이 내용을 읽어보고 다시 작성해 달라고 요청했더니 그제서야 위의 글처럼 잘써서 주었다. 정확한 정보를 제공해 주고 그걸 바탕으로 글을 쓰게 하는 것이 필요하다는 걸 새삼 느끼게 되었다.

반응형