Model Context Protocol(MCP)은 번거로운 통합 코드를 대량으로 작성할 필요 없이 Claude에게 컨텍스트와 도구를 제공하는 통신 계층입니다. 도구 정의와 실행의 부담을 여러분의 서버에서 전문화된 MCP 서버로 옮기는 방법이라고 생각하면 됩니다.

MCP를 처음 접하면 기본 아키텍처를 보여주는 다이어그램을 보게 될 것입니다: 도구, 프롬프트, 리소스를 포함하는 MCP 서버에 연결되는 MCP 클라이언트(여러분의 서버)입니다. 각 MCP 서버는 외부 서비스에 대한 인터페이스 역할을 합니다.
실제 예시를 통해 MCP 이해하기
사용자가 자신의 GitHub 데이터에 대해 Claude에게 질문할 수 있는 채팅 인터페이스를 구축한다고 가정해 보겠습니다. 사용자는 "내 모든 리포지토리에서 열려 있는 pull request는 무엇인가요?"라고 질문할 수 있습니다. 이 질문에 답하려면 Claude는 GitHub의 API에 접근할 도구가 필요합니다.

MCP가 없다면 GitHub 통합 도구를 모두 직접 만들어야 합니다. 즉, 지원하고자 하는 모든 GitHub 기능에 대해 스키마와 함수를 작성해야 한다는 의미입니다.
도구 함수 문제
GitHub에는 리포지토리, pull request, 이슈, 프로젝트 등 방대한 기능이 있습니다. 완전한 GitHub 챗봇을 구축하려면 엄청난 수의 도구를 작성해야 합니다:

각 도구는 스키마 정의와 함수 구현이 모두 필요합니다. 이는 개발자로서 작성하고, 테스트하고, 유지 관리해야 하는 많은 양의 코드를 의미합니다.
MCP가 이 문제를 해결하는 방법
MCP는 도구 정의와 실행의 부담을 여러분의 서버에서 MCP 서버로 옮깁니다. 여러분이 그 모든 GitHub 도구를 작성하는 대신, 전용 MCP 서버 내부에서 작성되고 실행됩니다.

MCP 서버는 GitHub 기능을 감싸는 래퍼 역할을 하며, 직접 구현할 필요 없이 사용할 수 있는 사전 구축된 도구를 제공합니다.

MCP 서버는 외부 서비스가 구현한 데이터나 기능에 대한 접근을 제공합니다. 복잡한 통합을 재사용 가능한 구성 요소로 패키징하여 어떤 애플리케이션이든 연결할 수 있게 합니다.
MCP에 대한 일반적인 질문

MCP 서버는 누가 작성하나요?
누구나 MCP 서버 구현을 만들 수 있습니다. 종종 서비스 제공업체가 직접 자체 공식 MCP 구현을 만들기도 합니다. 예를 들어, AWS는 자사의 다양한 서비스를 위한 도구가 포함된 공식 MCP 서버를 출시할 수 있습니다.
MCP는 직접 API 호출과 어떻게 다른가요?
MCP 서버는 이미 정의된 도구 스키마와 함수를 제공합니다. API를 직접 호출하는 경우, 해당 도구 정의를 직접 작성해야 할 책임이 있습니다. MCP는 그 구현 작업을 덜어줍니다.
MCP는 그냥 도구 사용이 아닌가요?
이는 흔한 오해입니다. MCP 서버와 도구 사용은 상호 보완적이지만 서로 다른 개념입니다. MCP는 도구를 만들고 유지 관리하는 작업을 누가 하는지에 관한 것입니다. MCP를 사용하면 다른 누군가가 이미 도구 함수와 스키마를 작성해 두었으며, 이는 MCP 서버 내부에 패키징되어 있습니다.
핵심은 MCP 서버가 이미 정의된 도구 스키마와 함수를 제공하여, 복잡한 통합을 직접 구축하고 유지 관리할 필요를 없애준다는 것입니다.