Model(AI)이 다양한 Context(데이터베이스, API 등)를 받아 활용할 수 있도록 약속된 Protocol이다.
이는 단순히 학습된 데이터만으로 답변하던 모델이 실시간 외부 정보를 활용하여 더 풍부하고 정확한 응답을 생성할 수 있게 해주는 핵심 기술이다.
예를 들어 GPT 모델이 학습된 결과로 답변만할 수 있는데 비해서 MCP를 이용하여 외부 애플리케이션과 연동하게 되면, 구글 검색 결과를 통해서 최신 정보를 가지고 답변을 하거나, 크롤링 등의 실시간 정보 수집이나 동적인 활동들이 가능하다.
즉, MCP를 통해서 다양한 AI 서비스에 쉽게 연결해 사용하는 것이 가능하다!

MCP는 크게 세 가지 구성 요소로 나뉜다.
LLM 기반 서비스 또는 애플리케이션
역할: 사용자로부터 입력을 받아 이를 MCP 프로토콜에 맞게 변환하여 클라이언트(뒤의 MCP Client 해당)에 전달하고, 클라언트로부터 받은 결과를 사용자에게 보여준다.
ex) Gemini CLI, Claude, Cursor, VS Code Copilot 등 사용자가 직접 상호작용하는 AI 서비드들
특정 기능이나 데이터를 제공하는 도구 모음이다.
역할: Client의 요청에 따라 실제 작업을 수행하고 결과를 반환한다. 이 서버는 자체적으로 AI 모델을 포함하지 않을 수도 있으며, 이미 존재하는 웹 서비스나 애플리케이션이 될 수도 있다.
ex) Gmail, Notion, GitHub, Microsoft Word, 구글 검색 엔진, 스포티파이, 캘린더 앱 등 다양한 외부 애플리케이션 및 서비스
Host와 Server를 연결해주는 다리이다.
역할: Host로부터 받은 요청을 분석하여 적절한 Server를 호출하고, Server로부터 받은 결과를 다시 Host에게 전달한다. 실질적인 외부 데이터 연동 로직을 처리하는 핵심 컴포넌트가 된다.
ex) 구글 검색 API, 스포티파이 API, 깃허브 API 등 특정 기능을 수행하는 외부 서비스와 연동하는 로직을 담고 있다.
MCP의 가장 큰 장점은 AI 모델의 한계를 극복하고 활용성을 극대화한다는 점이다.
실시간 정보 활용: 모델이 학습된 시점 이후의 최신 정보를 활용하여 답변의 정확성과 신뢰성을 높일 수 있다. 실시간 정보 및 검색 기능 등을 적극 활용할 수 있다.
기능 확장성: 다양한 외부 도구와 쉽게 연결하여 모델의 능력을 무한히 확장할 수 있다.

즉, 기존이 단순 사용자와 AI모델 간의 소통이었다면,
이제는 AI 모델이 도구를 활용하여 사용자에게 답변을 줄 수 있으니,
AI가 보다 더 다양한 내용을 제공 가능하다.
MCP는 AI 모델의 기능을 확장하는 강력한 기술이지만, 외부 서비스와 연결되는 만큼 여러 보안 문제를 야기할 수 있다.
가장 중요한 보안 위협 중 하나는 민감한 데이터의 유출이다
사용자의 요청이 MCP Host를 거쳐 Client를 통해 외부 서버로 전달될 때, 이 과정에서 개인 정보나 기밀 데이터가 노출될 수 있다.
예를 들어, 사용자가 "어제 받은 민감한 내용의 이메일을 요약해줘"라고 요청하면, 이메일의 본문 내용이 클라이언트를 통해 외부 API로 전달될 수 있다. 만약 이 과정이 암호화되지 않거나, Client 또는 Server의 보안이 취약할 경우 데이터가 탈취될 위험이 있다.
사용자의 입력이 곧 외부 도구 호출의 트리거가 되기 때문에 악의적인 사용자가 프롬프트를 조작하여 의도하지 않은 행동을 유발할 수도 있다.
공격자가 "내 이메일에서 '비밀'이라는 단어가 포함된 모든 이메일을 삭제해줘"와 같이 정상적인 요청처럼 위장하면서도, 실제로는 위험한 명령을 은밀히 포함시키는 경우
MCP 시스템은 각 구성 요소(Host, Client, Server)가 서로의 정체를 확인하고, 요청의 권한을 검증하는 강력한 메커니즘을 필요로 한다.
인증이 제대로 이루어지지 않으면, 승인되지 않은 Host나 Client가 Server의 기능을 악용할 수 있다. EX) 해킹된 클라이언트가 무단으로 Gmail 계정에 접근하여 스팸 메일을 대량 발송
서버가 제공하는 정보가 항상 신뢰할 수 있는 것은 아니다. 변조되거나 악의적인 데이터가 호스트로 전달될 위험도 존재한다!
예를 들어, 악의적인 서버가 사용자에게 잘못된 금융 정보를 제공하거나, 악성 코드를 포함한 링크를 생성하여 Host를 통해 사용자에게 전달할 수 있다