MCP(Model Context Protocol)에 대하여~
1. 서론
MCP가 처음 소개된건 2024년 11월 26일입니다. 그런데 요즘 매우 뜨거운 관심을 받고 있습니다. anthropic에서 처음 소개했을 때는 이러한 방법이 있구나~ 이정도 느낌이라서 호흥이 덜했던것 같습니다. 근데 이제 커서에서도 지원을 하고 클로드에서도 쉽게 사용할 수 있다보니 호흥을 얻고 있지 않을까? 싶습니다.
MCP를 사용 해보신 분들이라면 참신한 느낌을 받으셨을겁니다. 기존에는 그저 내가 질문한걸 답변해주고, 검색해서 답변해주고 그 정도였다면, 지금은 잘만 연결한다면 자동으로 파일도 작성해주고 구글 드라이브에서 파일도 가져와주고 깃 레파지토리 만들어서 저장도 해주고, 사용 방법이 끝이 없습니다. 그럼 좀 더 자세히 알아보시죠~
2. 어디서 어떻게 사용할 수 있는가?
현재는 클로드 및 커서 등 에서 사용가능하며 MCP GitHub에 가시면 다양하게 지원하는걸 보실 수 있습니다.
- 오픈 소스 기반: GitHub를 통한 오픈 소스 프로젝트로 진행되고 있으며 전 세계 개발자 커뮤니티와 협업 및 기여가 활발히 이루어지고 있습니다.
- 기존 챗봇과의 통합: Claude Desktop과 같은 AI 애플리케이션이나 IDE에 MCP 서버를 연동사용가능하며, 이제 더 이상 특정기능을 만든다고 Streamlit과 같은 웹을 구현할 필요가 없습니다.
- 쉬운 사용 방법: GitHub에는 각 기능별로 특징과 손쉬운 사용 방법을 기술하고 있습니다.
3. 어떤 기술인가?
MCP는 여러 최신 기술과 모범 사례를 결합하여 AI 시스템과 데이터 소스를 연결하는 혁신적인 아키텍처를 제공합니다.
- 클라이언트-서버 아키텍처:
MCP는 데이터 소스와의 통신을 담당하는 MCP 서버와, 이를 활용해 AI 모델에 데이터를 제공하는 MCP 클라이언트/호스트로 구성됩니다.- MCP 서버: 각 데이터 소스(파일 시스템, 데이터베이스, 원격 API 등)에 대한 접근 및 작업 기능을 표준화된 API로 제공합니다.
- MCP 클라이언트/호스트: Claude Desktop이나 IDE와 같이, MCP 서버와 1:1 연결을 유지하며 데이터를 요청하고 활용합니다.
- 모듈화 및 확장성:
단일 프로토콜을 기반으로 다양한 데이터 소스에 대해 동일한 방식으로 통신할 수 있으므로, 기존의 복잡한 커스텀 통합 작업을 대체하고, 새로운 데이터 소스를 쉽게 추가할 수 있습니다. - 보안 및 데이터 무결성:
각 MCP 서버는 접근 권한을 제한할 수 있으며, 지정된 디렉터리나 데이터 범위 내에서만 작업을 수행하도록 설계되어 있습니다. 또한, 안전한 통신 채널과 모범 사례를 적용하여 내부 인프라와 데이터의 보안을 강화합니다. - 다양한 SDK와 툴킷:
MCP는 개발자들이 쉽게 시작할 수 있도록 Python, TypeScript, Java 등 여러 언어로 작성된 SDK와 예제, 튜토리얼을 제공합니다. 이로써 개발자는 자신의 환경에 맞는 최적의 통합 솔루션을 빠르게 구축할 수 있습니다.
즉, MCP는 AI 모델이 채팅을 하거나 데이터를 단순히 "읽는" 수준을 넘어서 사용자가 원하는 작업을 수행할 수 있도록 돕는 데이터 연결 인프라입니다. 마치 USB-C 포트로 규격화를 시켜 따로 신경쓰지 않아도 연결할 수 있는 것 처럼 MCP는 AI 시스템이 여러 데이터 소스와 상호작용할 수 있도록 단일한 인터페이스를 제공합니다.
4. 설치 및 실행 방법
예시로 파일 시스템 MCP를 보시면 어떤 특징을 가지고 있고 상세하게 어떤 작업을 진행 할 수 있는지 설명하고 있습니다.
그리고 Claude Desktop을 이용한다면 어떻게 사용하는지 간단하게 설명하고 있습니다.
1. Docker를 활용한 실행
{
"mcpServers": {
"filesystem": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--mount", "type=bind,src=/Users/username/Desktop,dst=/projects/Desktop",
"--mount", "type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro",
"--mount", "type=bind,src=/path/to/file.txt,dst=/projects/path/to/file.txt",
"mcp/filesystem",
"/projects"
]
}
}
}
2. NPX를 통한 실행
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
]
}
}
}
파일시스템 MCP 서버는 이러한 설치 방법 중 하나의 구현 사례로, 다양한 사례는 링크에 들어가셔서 필요한 기능을 살펴보시면 됩니다.
대부분 위와 같이 간단하게 추가하면 사용할 수 있게 구성되어 있습니다.
5. 결론
Model Context Protocol(MCP)은 AI 모델이 다양한 데이터 소스와 원활하게 연결되어 보다 다양한 동작을 할 수 있게 지원합니다. 또한 수동적으로 특정 플랫폼인 Claude나 ChatGPT(곧 MCP도입 한다고함)와 같은 사이트에서 내가 필요한 기능이 추가될 때까지 기다릴 필요 없이 본인이 필요한 기능이 있다면 직접 제작하거나 사람들이 만들어둔 MCP 서버를 이용해서 적용을 할 수 있습니다. 이는 앞으로 더 빠르게 AI가 다양한 일을 할 수 있는 출발점이 아닐까 싶습니다. 다음에는 MCP를 직접 제작해보는 그런 블로그 컨턴츠를 가지고 오겠습니다. 감사합니다.