1. MCP란?
MCP는 Model Context protocal의 약자로 2024년 11월에 앤트로픽에서 발표한 개념으로 최근 이슈가 되고 있습니다. 이러한 MCP는 아래와 같이 다양하게 정의되고 있습니다.
- AI 에이전트가 웹 브라우저 없이도 직접 다양한 인터넷 서비스와 소통할 수 있게 해주는 표준 프로토콜
- AI 모델이 외부 데이터 및 도구와 상호 작용할 수 있도록 설계된 표준 프로토콜
- Client(클로드,커서,...)에서 다른 도구들도 쓸 수 있게 통일을 시켜주는 하나의 프로토콜
이와 같이 부르는 사람에따라 다양한 의미로 표현되고 있지만, 간단하게 말하면 " Client, LLM, Server를 이어주는 USB-C 포트와 유사한 역할"이라고 할 수 있습니다. 아래 이미지를 참고하면 더 쉽게 이해할 수 있습니다.
그렇다면 이러한 MCP가 최근 이슈가 되고 있는 이유는 뭘지에 대해서도 생각해 봤습니다. 기존 에이전틱 워크플로우를 구성한다고하면, LLM이 중간에 위치하고, DB를 연결하는 별도의 툴을 만들고, LangGraph로 이 툴과 LLM을 연결하는 등의 별도의 과정이 필요했습니다. 당연히 다른 툴이 추가로 필요해지면 위의 과정을 다시 반복해야했습니다. 그런데 MCP가 등장하면서 이런 과정이 간소화 되었습니다. 어떤식으로 간소화 되는것인지 자세히 알아보도록 하겠습니다.
2. MCP 구성요소
MCP는 크게 3가지로 구성되어 있습니다.
1) MCP 클라이언트
호스트 내에서 실행되어 MCP 서버와 통신해 데이터를 요청하고 결과를 받아오며 서비스와 통신하는 역할. 클로드나 커서가 이에 해당한다고 할 수 있습니다.
2) MCP 서버
다양한 서비스와 AI 에이전트 간의 통신을 가능하게 해주는 중계 서버, 쉽게 말하면 클라이언트와 서비스 사이의 중계 역- 할을 한다고 볼 수 있습니다.
3) MCP 호스트
LLM을 실행하고, MCP 클라이언트와 MCP 서버 간의 요청을 처리하는 중간 관리자 역할
앞에서 설명했던 LangGraph를 활용한 별도의 워크플로우 구축 없이 우리가 LLM에게 주고싶은 툴(DB 조회, 로컬 컴퓨터파일 조작 등) 을 따로 코드를 일일히 작성하고 연결할 필요 없이 이미 잘 만들어져있는 MCP Server를 사용해 LLM에게 지정만해주면 전보다 간단하고 더 다양한 기능을 제공할 수 있습니다. 기존 API 방식과 비교하면 아래와 같은 차이를 지니고 있습니다.
그렇다면 이러한 MCP는 어디서 어떻게 사용해야할까요?
3. MCP 사용방법
가장 간단하게 우리가 사용할 수 있는 방법은 클로드 프로를 결제하고 사용하는 방법입니다. 클로드 프로를 구매하고 클로드 앱을 다운로드 받은 후 "Claude_desktop_config.json" 파일의 구성을 변경해주면 됩니다. 먼저 파일->설정을 들어가줍니다.
아무것도 설정하지 않은 처음에는 아래와 같은 화면이 나올 것 입니다.
여기서 시작하기를 누르면 MCP 공식문서로 넘어갑니다. 그리고 설정 편집을 누르면 클로드가 설치되어있는 폴더로 넘어오게 되는데, 여기서 " Claude_desktop_config.json" 파일을 수정해주면 됩니다. 파일을 클릭해보면 비어있는 json 파일이 열릴텐데 여기서 내가 사용하고 싶은 mcpServer를 아래 예시처럼 추가하고 저장해주면 됩니다.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
]
}
}
}
그 후, 클로드 앱을 껏다가 키면 해당 mcpServer를 클로드가 인지하고 사용할 수 있게됩니다. 그렇다면 이러한 MCP는 어디서 사용할 수 있을까요? 물론 직접 만들 수 있습니다. 하지만 이미 잘 만들어져있는 MCP가 많기때문에 이것들을 활용하는 것만으로도 충분할 수 있습니다.
1) MCP Server Directory
검색 기능도 있고, 우리가 사용하고싶은 MCP Server들을 좀 더 직관적으로 보고 선택할 수 있습니다.
2) Awesome MCP Servers
github 레파지토리형태로 제공되기때문에 MCP Server Direcotry보다는 직관적이지 않을 수 있지만 마찬가지로 유용하기 때문에 본인에게 맞는 방법을 사용해서 자신에게 맞는 MCP 서버를 찾으면 되겠습니다.
4. MCP 장단점
앞에서 기존 AI 에이전트와 API 방식 대비 이점에 대해 간단하게 설명했지만, MCP를 사용했을때의 장단점에 대해 조금 더 명확히 작성해보고자 합니다.
1) 장점
외부 도구 연결 가능
- AI 모델이 원래 지원하지 않는 새로운 도구를 쉽게 추가할 수 있습니다
유연성과 확장성
- AI 모델이 다양한 데이터 소스와 유연하게 연결이 가능하고 확장성이 뛰어납니다
양방향 통신과 간편한 유지보수
- 실시간 상호작용이 가능하여 반응 속도가 향상되며 상대적으로 유지보수가 간편합니다
2) 단점
AI 에이전트와 도구 통합 문제
- 모델에 기존에 설계된 내용이 있기 때문에 도구를 추가하는 것만으로 AI가 제대로 작동하는 것은 아니며, 추가시 전체적인 시스템 구조와 조정이 필요합니다.
정확도와 신뢰성
- 새로운 도구를 추가하는 것은 쉽지만, 그 도구를 얼마나 정확하게 사용할 수 있을지는 보장할 수 없습니다.
보안 및 데이터 관리
- 서버 기반으로 동작하려면 사용자 인증 및 보안 문제를 해결해야하고, 데이터 유출이나 악성 도구 연결 등의 보안 관리가 면밀히 검토 될 필요가 있습니다.
참고자료
https://www.youtube.com/watch?v=0sUN3d4atoc
https://vision-ai.tistory.com/235
https://digitalbourgeois.tistory.com/875