들어가며
2025년 들어 AI 개발 커뮤니티에서 가장 뜨거운 화제 중 하나는 바로 MCP(Model Context Protocol)입니다. MCP 자체는 2024년 11월 앤트로픽(Anthropic)에서 발표한 기술이지만, 클로드 데스크톱(Claude Desktop)과 커서(Cursor) 개발 환경에서 MCP를 지원하면서 그 유용성이 널리 알려지기 시작했습니다. 유튜브 등을 통해 급속도로 확산되면서, 이제는 AI 애플리케이션 개발자라면 반드시 알아야 할 핵심 기술로 자리 잡았습니다.
이미 많은 분들이 MCP에 대한 소식을 접하고 클로드 데스크톱이나 커서에 MCP를 설정해 사용해 본 경험이 있을 것입니다. 이 글에서는 MCP가 무엇인지, 어떻게 작동하는지를 이해하고, 실제로 클로드 데스크톱을 통해 내 컴퓨터의 파일 시스템과 LLM을 연결하는 방법을 단계별로 살펴보겠습니다.
MCP란 무엇인가?
"MCP를 사용하면 다양한 도구나 최신 데이터들을 LLM에 연결해서 사용할 수 있다던데?"
아마도 이와 유사한 내용을 AI 또는 MCP 관련 영상이나 뉴스에서 보신 적이 있을 것입니다. 하지만 이러한 피상적인 개념만으로는 AI 애플리케이션을 만들고자 하는 개발자에게는 부족합니다. AI 애플리케이션이 MCP를 사용해서 능력을 확장하기 위해서는 MCP가 무엇이며, 어떻게 작동하는지를 제대로 이해해야 합니다.
에이전트의 핵심은 도구(Tool)이다
AI 프로그래밍의 정수는 에이전트(Agent)입니다. 에이전트의 구현 방법도 그다지 어렵지 않습니다. 수행하고자 하는 작업에 필요한 도구들과 이 도구들을 호출하면서 문제를 해결해 줄 LLM만 있으면 됩니다.
하지만 여기에는 주목해야 할 개선점이 있습니다. 에이전트의 핵심은 도구를 활용한 문제의 해결인데, 에이전트에 사용할 도구들은 어디서 구해야 할까요? 랭체인이 제공하는 도구를 사용하거나 직접 구현한 함수를 도구로 사용해야 할까요? 단순한 작업이나 범용적인 작업은 이렇게 처리할 수 있겠지만, 더 복잡하거나 특수한 도구는 어떻게 해야 할까요?
예를 들어, 깃허브 서비스에 접속해서 기능을 실행하거나 특정 유튜브 영상에서 정보를 가져오는 경우에는 이 기능들을 직접 구현해야 할까요? 이러한 질문의 답을 찾다 보면 누구나 비슷한 결론에 다다릅니다.
"필요한 도구를 직접 만들기보다는 서비스 업체나 오픈소스 개발자가 만들어 공유하는 도구를 활용하는 방식이 훨씬 효율적이다"
이미 우리는 깃허브의 성공에서 이러한 오픈소스 철학과 생태계의 유용함을 경험했습니다. 물론 이러한 생태계를 위해서는 제작자와 사용자가 도구를 공유할 수 있는 표준 방식이 필요합니다.
MCP의 공식 정의
이러한 필요에 의해 앤트로픽에서 2024년 11월 제안한 표준 프로토콜이 바로 MCP(Model Context Protocol)입니다. 공식적인 표현으로, MCP는 '애플리케이션이 LLM에 컨텍스트를 제공하는 방식을 표준화하는 오픈 프로토콜'입니다.
하지만 이러한 표현만으로는 MCP의 정의와 유용함을 이해하기에 부족하기 때문에 보통은 USB 허브에 비교하곤 합니다. 즉, USB가 각종 주변 장치를 PC에 연결하기 위해 표준화된 방법을 제공하듯, MCP도 LLM에 데이터 소스와 도구를 연결할 수 있도록 표준안을 제공한다는 것입니다.
MCP의 작동 구조
AI 애플리케이션에서 MCP를 활용하려면 MCP의 개념만 이해하는 것으로는 부족합니다. 실제 MCP가 어떻게 작동하는지, 작동 방식까지 이해해야 MCP를 원활하게 사용할 수 있습니다. 그러려면 먼저 MCP의 구성 요소들을 이해해야 합니다.
MCP의 구성 요소는 크게 3가지로 나눌 수 있습니다.
1. MCP 호스트(Host)
클로드 데스크톱, 커서 개발 환경 또는 사용자가 직접 작성하는 AI 애플리케이션을 지칭합니다. 앞에서 비유했던 USB 관점에서 보면 주변 장치들을 연결하고 싶은 PC에 해당합니다.
2. MCP 서버(Server)
간단하게 표현하자면 USB 주변 장치에 해당한다고 할 수 있습니다. 예를 들어, 내 깃허브 계정을 입력하면 자동으로 깃허브에 접속해서 저장소 또는 소스코드를 관리해 주는 깃허브 MCP가 필요하다고 가정해 봅시다. 그러면 깃허브 서비스와의 보안 접속, 인증 및 깃허브 제어 기능을 실행하는 코드를 작성해야 합니다.
그리고 이 코드를 실행할 수 있는 온라인 서버를 만들어서 외부에서 실행할 수 있게 하거나(Remote MCP Server), 사용자의 PC에 다운로드해서(Local MCP Server) 서버로 작동할 수 있도록 해야 합니다. 여기서 '서버'라고 표현한 컴포넌트가 MCP 서버입니다.
3. MCP 클라이언트(Client)
MCP 호스트가 MCP 도구들을 사용하기 위해서는 원하는 MCP 서버에 대한 정보를 가지고 있어야 합니다. 그리고 MCP 호스트가 실행될 때 이 정보를 기반으로 MCP 서버의 개수만큼 MCP 클라이언트를 생성해서 컨트롤합니다. 즉, MCP 클라이언트는 MCP 서버와의 연결을 관리하고 서버가 제공하는 기능을 요청하는 역할을 합니다.
클라이언트-서버 아키텍처
요약하면, MCP는 'MCP 호스트 – MCP 클라이언트 – MCP 서버'의 구조로 작동합니다. 그래서 MCP는 클라이언트-서버 아키텍처를 기반으로 작동한다고 표현합니다.
MCP의 구성요소들은 상호 연동을 위해 표준화돼 있기 때문에 일일이 사용자가 구현하지 않아도 라이브러리 차원에서 작동합니다. 사용자는 자신이 원하는 MCP 서버를 찾아서 해당 서버를 사용할 수 있도록 애플리케이션에 MCP 설정을 추가하기만 하면 됩니다.
MCP 저장소, Smithery.ai
그럼 내가 원하는 MCP 서버의 설정을 찾으려면 어떻게 해야 할까요? 검색 엔진을 이 잡듯이 뒤져야 할까요? 깃허브처럼 MCP 설정들을 자유롭게 등록하고 사용할 수 있는 온라인 저장소는 없을까요?
다행스럽게도 여기에 해당하는 서비스가 Smithery.ai 라는 이름으로 서비스되고 있습니다. Smithery.ai 는 MCP 계의 깃허브라 할 만합니다. 유용한 MCP 서버를 검색해서 내가 사용하고자 하는 애플리케이션에 연결하는 것을 도와줄 뿐 아니라 직접 MCP 서버를 등록해서 다른 사용자에게 제공할 수도 있습니다.
▶ Smithery.ai 주소: https://smithery.ai/
Smithery.ai 활용 팁
이미 구현하고자 하는 명확한 목표가 있는 경우에는 문제 해결에 필요한 MCP 서버를 Smithery 에서 검색해 손쉽게 찾을 수 있습니다.
Apps 메뉴를 둘러보면 MCP 종류 및 카테고리 별 MCP 서버 리스트를 볼 수 있습니다.
MCP 는 급격히 성장한 기술이기 때문에 미처 생각지 못했던 기능이나 누군가 개발해 줬으면 하는 기능들이 빠르게 등록됩니다.
참신한 MCP 서버를 보다 보면 새로운 아이디어를 떠올리거나 내가 개발하는 애플리케이션을 확장하는 데 도움이 됩니다.
또한 내가 직접 작성한 MCP 를 양식에 맞춰 등록 및 공유할 수도 있습니다.
MCP 서버 상세 페이지 이해하기
원하는 MCP 서버를 찾아서 클릭하면 해당 MCP 서버의 상세 페이지로 연결됩니다. 예를 들어, 웹 검색에 사용되는 Brave Search 서비스를 MCP 서버로 등록하고 싶은 경우, 'brave search'로 검색해 상세 페이지로 이동합니다.
[상세 페이지에서 확인할 수 있는 주요 정보]
- Remote/Local 태그: Remote 는 원격 서버에 접속해서 사용하는 방식, Local 은 내 PC 에 서버를 설치 후 실행해서 사용하는 방식입니다.
- Capabilities > Tools: 해당 MCP 서버가 제공하는 도구가 몇 개이고, 각 도구는 어떤 기능을 제공하는지 알려줍니다. 이 정보는 LLM 에게도 전달되어 도구를 어떻게 사용할지 판단하는 데 도움을 줍니다.
- Connect 정보: MCP 를 적용하고 싶은 애플리케이션에서 MCP 서버를 사용할 수 있도록 설정하는 방법이 표시됩니다.
클로드와 클로드 데스크톱
클로드(Claude)는 2021년에 설립된 앤트로픽이 개발한 상용 LLM입니다. 앤트로픽은 OpenAI 출신 연구자들이 창립한 회사로, 2022년에 첫 번째 클로드 모델을 출시했습니다. 이후 클로드 2가 출시된 후 Haiku, Sonnet, Opus 등 다양한 버전의 클로드 3가 출시됐습니다.
정보 이론의 아버지로 불리는 클로드 섀넌(Claude Shannon)에서 이름을 따온 클로드는 다른 LLM 서비스처럼 텍스트 대화, 문서 작성, 코드 생성, 데이터 분석, 번역, 요약 등의 기능을 제공합니다. 다른 LLM들과 비교했을 때 클로드는 긴 문맥을 처리하는 능력이 뛰어나며 복잡한 추론 작업 및 글쓰기, 코딩 작업을 잘 수행하는 것으로 평가받습니다.
클로드의 핵심 장점: MCP 연동
하지만 이런 특장점보다 근래 들어 가장 주목받는 클로드의 장점은 MCP 서버와의 연동을 통해 다양한 부가 기능을 제공한다는 점입니다. 즉, MCP라는 표준을 준수하는 내외부의 MCP 서버가 있다면 클로드가 이를 인식해서 사용자의 요청을 수행하기 위해 언제 어떻게 써야 할지 똑똑하게 판단할 수 있는 것입니다.
앤트로픽이 처음 제안한 MCP는 당연히 클로드 서비스에서 적극적으로 통합됐지만 그 인기가 폭발적이기 때문에 앞으로 클로드뿐 아니라 챗GPT 등 다양한 곳에서 채택될 것으로 예상됩니다.
아티팩트(Artifact) 기능
또한 클로드는 문서, 차트, 코드 등을 실시간으로 생성하고 수정할 수 있는 아티팩트 기능을 제공합니다. 아티팩트 기능은 다양한 프로그래밍 언어를 실행할 수 있기 때문에 LLM 서비스의 전형적인 텍스트 답변을 넘어서 실제로 작동하는 웹페이지, 앱, 게임 등을 만들어 냅니다.
예를 들어, "간단한 계산기를 만들어줘"라고 요청하면 클로드는 아티팩트를 생성하고 코딩을 시작합니다. 그 결과물로 실제로 버튼을 클릭할 수 있는 계산기를 만들어 줍니다.
이처럼 클로드의 LLM 성능에 부가 기능을 더하고, 여기에 MCP까지 연결하면 기존 LLM의 성능을 우리가 원하는 방향으로 확장해서 사용할 수 있습니다. 왜냐하면 MCP를 통해 클로드가 접근할 수 없었던 정보에 접근할 뿐만 아니라 외부 서버에서 제공하는 기능도 활용할 수 있기 때문입니다.
실습: 클로드 데스크톱 설치 및 MCP 연동
이제 실제로 클로드 데스크톱을 설치하고 MCP를 연동해 보겠습니다. 본격적으로 MCP를 활용한 AI 프로그래밍을 시작하기 전에 클로드 데스크톱을 이용해 LLM 서비스와 MCP 서버를 연결하는 실습을 통해 MCP가 실제로 어떻게 AI 애플리케이션에 통합되어 작동하는지 감을 잡을 수 있습니다.
Step 1: 클로드 데스크톱 설치
클로드 데스크톱은 웹으로 제공되는 클로드 서비스를 데스크톱에서도 사용할 수 있도록 작성된 프로그램입니다. 특히 클로드 데스크톱은 클로드 서비스의 기본적인 기능뿐 아니라 MCP 도구도 연결할 수 있도록 설계됐습니다.
1) 앤트로픽 공식 홈페이지(https://claude.ai/download)에 접속
2) 마이크로소프트 윈도우 또는 애플 macOS 중 각자의 컴퓨터에 맞는 버전을 선택해 다운로드
3) 설치 파일을 다운로드한 후 설치 진행
4) 클로드 데스크톱 실행 후 구글 계정으로 로그인하거나 이메일을 이용해 회원가입
클로드 데스크톱의 화면 구성은 챗GPT 웹사이트와 거의 유사하며, 중앙에 있는 입력창을 이용해 질문을 입력하면 LLM의 답변이 출력되는 방식입니다. 왼쪽 탭에는 대화 이력이 표시되며, 입력창 아래에는 + 버튼과 모델 선택 버튼이 있습니다.
Step 2: Node.js 설치
MCP 서버는 말 그대로 도구를 제공하는 서버이기 때문에 서버를 실행할 수 있는 환경이 필요합니다. 이때 사용할 수 있는 방법 중 하나로 자바스크립트 기반의 서버 프레임워크인 Node.js가 있습니다.
특히 Node.js에 포함된 npx는 Node.js 패키지를 설치하지 않고도 임시로 다운로드해서 실행할 수 있도록 해주는 편리한 실행 도구입니다. 즉, Node.js 설치 후 npx를 사용하면 간편하게 MCP 서버를 내 컴퓨터에서 실행할 수 있습니다.
▶ Node.js 다운로드 페이지: https://nodejs.org/ko/download
Node.js 다운로드 페이지에서 사용 중인 운영체제에 맞춰 설치 프로그램을 내려받으면 됩니다. macOS는 pkg 설치 파일이, 윈도우는 msi 설치 파일이 다운로드됩니다. npx는 최신 버전의 Node.js를 설치할 때 함께 설치되므로 별도로 설치하지 않아도 됩니다.
설치가 완료되면 다음 명령어를 통해 정상적으로 설치됐는지 확인할 수 있습니다.
node --version npx --version
Step 3: desktop-commander MCP 서버 연동
일반적으로 LLM 서비스는 내가 직접 파일 목록을 입력해서 알려주지 않는 이상 내 컴퓨터에 어떤 파일들이 있는지 알 수가 없습니다. 하지만 "내 컴퓨터의 파일 목록"을 추출해 주는 도구를 LLM에 연동한다면 내 컴퓨터의 파일과 연동하는 작업이 가능해집니다.
이를 위해 내 컴퓨터 파일들을 LLM과 연동할 수 있도록 desktop-commander MCP 서버를 연동해 보겠습니다.
설정 파일 접근 방법
클로드 데스크톱에 MCP 서버를 연동하려면 claude_desktop_config.json 설정 파일에 MCP 서버 연동을 위한 정보를 입력해야 합니다.
[윈도우]
좌측 상단의 햄버거 메뉴에서 도움말 → 문제 해결 → 개발자 모드 활성화를 차례로 선택해 개발자 모드를 활성화
메뉴에서 파일 → 설정 → 개발자 탭 → 구성 편집을 차례로 선택
[macOS]
메뉴에서 설정 → 개발자 탭 → 설정 편집을 차례로 선택
[파일 경로]
윈도우: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
JSON 설정 파일 수정
Smithery에서 desktop-commander 설정을 복사하여 다음과 같이 설정 파일을 수정합니다.
{
"mcpServers": {
"desktop-commander": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@smithery/cli@latest",
"run",
"@wonderwhy-er/desktop-commander",
"--key",
"your-key"
]
}
}
}
[설정 옵션 설명]
args 항목의 "-y": 처음 호출될 때 자동으로 설치를 진행하며, smithery 서비스를 사용함을 나타냅니다.
"@wonderwhy-er/desktop-commander": npx가 desktop-commander라는 MCP 서버를 식별해서 불러올 수 있도록 지정합니다.
Step 4: 연동 확인 및 테스트
설정을 저장했다면 설정이 적용되도록 클로드 데스크톱을 완전히 종료하고 다시 시작합니다. 그러고 나면 입력창 하단의 검색 및 도구 아이콘으로 추가된 MCP 도구들을 확인할 수 있습니다.
[문제 해결 체크리스트]
설정 파일 문법 재확인: claude_desktop_config.json 파일에 내용을 잘못 입력하는 것은 자주 발생하는 실수입니다. 특히 대괄호 등과 같은 특수문자가 정확하게 일치하는지 확인합니다.
개발자 모드 활성화: 윈도우의 경우에는 반드시 클로드 데스크톱 개발자 모드 활성화가 필요합니다.
클로드 데스크톱 재실행: 백그라운드로 실행된 애플리케이션도 종료해야 합니다. 확실하지 않은 경우 컴퓨터를 재시작하는 방법도 있습니다.
Node.js와 npx 재설치: 사용 중인 컴퓨터에 설치된 Node.js 버전이 너무 오래됐을 수 있습니다.
실전 사례: 파일 시스템 연동 테스트
이제 클로드 데스크톱을 열어 실제로 MCP 도구가 작동하는지 테스트해 보겠습니다.
테스트 예시
클로드에게 다음과 같이 질문해 봅시다.
"다운로드 폴더에 있는 파일들 중 txt 파일만 리스트로 출력해줘"
질문 후 응답 중에 실행 권한을 요청할 경우 권한을 허용해 주세요. 클로드는 다음과 같이 응답합니다.
다운로드 폴더에서 발견된 txt 파일들은 다음과 같습니다.
[txt 파일 목록]
news.txt
seoul_weather.txt
seoul_weather_korean.txt
weather.txt
총 4개의 txt 파일이 다운로드 폴더에 있습니다.
desktop-commander의 다양한 기능
desktop-commander 도구를 활용해 내 컴퓨터 폴더에 접근함으로써 LLM은 이전에는 대답할 수 없는 내용들도 파악해서 답할 수 있습니다. 실은 desktop-commander는 파일의 목록뿐 아니라 다양한 기능을 제공합니다.
파일 옮기기
폴더의 생성과 목록 확인
파일의 내용 읽기
파일 찾기 기능
이처럼 desktop-commander는 데스크톱 파일 관리용 만능 툴입니다. 따라서 파일과 관련된 복잡한 요구사항도 MCP를 통해 처리할 수 있습니다.
MCP의 진정한 가치
이러한 MCP 서버를 내 컴퓨터뿐만 아니라 외부에서도 가져다 쓸 수 있다면 어떻게 될까요? LLM은 외부 환경과 상호작용을 하면서 이전에는 생각지 못했던 작업까지 스스로 수행할 수 있을 겁니다.
그리고 가만히 생각해 보면 LLM은 MCP라는 도구를 사용하면서 단순히 외부의 도구에 접근만 한 것이 아닙니다. 사용자의 질문과 사용 가능한 도구들을 파악해서 작업을 처리할 순서를 스스로 계획하고, 도구를 사용하면서 나온 결과를 취합해서 그 순간에 가장 적절한 판단을 했습니다.
이렇게 매력적인 기능을 표준화해서 하나의 인터페이스로 통합될 수 있도록 길을 열어줬으니 사람들이 MCP에 열광했던 게 아닐까 합니다.
확장되는 MCP 생태계
초기에는 MCP를 지원하는 애플리케이션이 클로드 데스크톱이나 커서 개발 환경으로 국한돼 있었기 때문에 MCP를 응용해서 사용할 수 있는 방법이 제한적이었습니다. 하지만 MCP가 인기를 얻고 시간이 흐르자 MCP를 지원하는 애플리케이션이 크게 늘어나고, 여러 프로그래밍 언어에서 MCP를 사용할 수 있는 라이브러리가 개발됐습니다. 이에 따라 MCP 서버의 수도 대폭 증가했습니다.
이 중에는 여러분이 자주 사용하거나 사용해 본 적이 있는 앱이 있을 수 있습니다. 혹은 여러분이 종종 사용하는 프로그래밍 언어가 MCP를 지원할 수도 있을 것입니다. 그러니 주저하지 말고 익숙한 애플리케이션이나 프로그래밍 언어로 MCP와 연동해 보세요. 이전과는 다른 에이전트의 성능을 체감할 수 있습니다.
마무리
MCP는 AI 애플리케이션 개발의 새로운 패러다임을 열어주는 기술입니다. USB가 컴퓨터와 주변기기 간의 연결을 표준화했듯이, MCP는 LLM과 외부 도구/데이터 소스 간의 연결을 표준화합니다.
[핵심 포인트 정리]
MCP란: 애플리케이션이 LLM에 컨텍스트를 제공하는 방식을 표준화하는 오픈 프로토콜
구성 요소: MCP 호스트(PC), MCP 클라이언트(연결 관리자), MCP 서버(도구 제공)
Smithery.ai: MCP계의 깃허브, 다양한 MCP 서버를 검색하고 사용할 수 있는 저장소
실습: 클로드 데스크톱 + Node.js + desktop-commander로 파일 시스템 연동
'백문이 불여일견'이란 말처럼 여러분도 직접 MCP 서버를 바꿔가면서 테스트해 보시기 바랍니다. MCP와 에이전트가 결합하면 이전까지는 상상할 수 없었던 애플리케이션이나 서비스가 탄생할 수 있겠다는 희망과 기대가 생길 것입니다.
https://wikibook.co.kr/ollama/
이 블로그는 《올라마와 오픈소스 LLM을 활용한 AI 에이전트 개발 입문》 도서를 참고하여 제작되었습니다. 이 외에도 다양한 용도로 활용할 수 있는 AI 에이전트 템플릿 코드가 궁금한 분들께 이 책을 추천드립니다.