1. 서론
2024년 11월, Anthropic이 공개한 MCP(Model Context Protocol)가 개발자 커뮤니티에서 큰 주목을 받고 있습니다. LLM 이 단순히 채팅만 하는 것을 넘어, 로컬 파일 시스템이나 사내 데이터베이스, 외부 서비스와 직접 상호작용하는 에이전트로 진화하고 있는 현재, MCP는 그 연결고리의 표준으로 자리 잡고 있습니다.
https://github.com/modelcontextprotocol
Model Context Protocol
An open protocol that enables seamless integration between LLM applications and external data sources and tools. - Model Context Protocol
github.com
MCP는 2025년 3월에 OpenAI에서 공식적으로 표준으로 채택되었고, 2025년 12월 10일에는 Google에서 자사 클라우드 전반에 MCP 공식 지원 및 통합을 발표하였으며 Anthropic은 리눅스 재단에 MCP를 이전하여 AI 시대의 표준으로 빠르게 자리를 잡아나가고 있습니다.
GitHub - google/mcp: Google 💚 MCP
Google 💚 MCP. Contribute to google/mcp development by creating an account on GitHub.
github.com
이번 글에서는 MCP가 무엇인지, 왜 등장했는지, 그리고 개발자에게 어떤 의미를 가지는지 알아봅시다.
2. 배경
지금까지 LLM을 실제 업무 도구와 연동하려면 반복적인 개발이 필요했습니다.
예를 들어, 사내 슬랙 채널의 대화 내용을 요약해주는 GPT 기반의 AI 봇을 만들고 싶다면 GPT-Slack 연동 코드를 짜야 했고, 오라클 DB에서 데이터를 조회해 데이터 분석을 제공해주는 AI 데이터 분석 툴을 만들고 싶었다면, GPT-Oracle 연동 코드를 구현해야 했습니다.
이뿐일까요? 더 큰 문제는 모델의 파편화입니다. 비용 절감을 위해 GPT를 Gemini로 바꾸거나, 신규 피쳐를 활용해보기 위한 버젼 업그레이드를 진행할 경우에는 연동 코드를 새로 개발해야 하는 경우도 많았죠. Spring AI, LangChain과 같은 추상화 라이브러리가 등장하여 문제를 완화하려 했지만, 모델별 인터페이스의 변화와 복잡성을 따라가는 것에는 한계가 있었습니다.
또한, 점점 많은 기능을 AI와 연동하는 상황에서 연결해야 할 AI 모델이 늘어날수록, 그리고 연동해야 할 데이터 소스가 늘어날수록 개발 복잡도와 유지 보수가 점점 어려워지는 문제가 수면 위로 떠오르기 시작했습니다.
3. MCP 프로토콜의 등장
MCP(Model Context Protocol)는 위와 같은 연결 방식을 표준화, 단순화하기 위해 등장했습니다.

위 이미지처럼 MCP 생태계에서는 개발자가 더 이상 특정 모델(Claude, GPT, Gemini)에 종속된 코드를 작성하지 않습니다. 데이터 소스(DB, Slack, Git 등)를 MCP 표준에 맞춰 MCP Server로 한 번만 개발해 두면, 이 표준을 지원하는 모든 MCP Client에서 즉시 사용할 수 있습니다.

MCP의 구조는 크게 MCP Host(Client)와 MCP Server로 나뉩니다.
MCP Host는 AI 애플리케이션 그 자체입니다. 사용자의 요청을 받아 프롬프트를 해석하고 적절한 MCP Server들과 통신하여 필요한 정보를 가져오거나 작업을 수행하며 대표적인 예시로는 Claude Desktop App, Cursor 에디터 등이 있습니다.
MCP Server은 실제 데이터나 기능과 연결되어 Host에게 어떤 데이터를 줄 수 있고, 어떤 기능을 수행할 수 있는지 알리는 역할을 수행합니다.
4. MCP 사용해보기
지금까지는 MCP의 등장 배경과 MCP가 무엇인지를 간단하게 알아보았는데요, 직접 실습해 보면서 익혀 봅시다.
실습에서는 Github에서 공식 제공하는 Github Mcp Server을 사용하여 자신의 Github Repository를 AI로 분석하고, 보안 취약점을 발견하여 Issue를 등록하도록 명령하는 것을 진행해 보고자 합니다.
https://github.com/github/github-mcp-server
GitHub - github/github-mcp-server: GitHub's official MCP Server
GitHub's official MCP Server. Contribute to github/github-mcp-server development by creating an account on GitHub.
github.com
준비물
- Cursor (또는 Claude Desktop App, Vs Code 등)
- Docker (MCP 서버 실행용)
- Github Personal Access Token (PAT)
1단계. 설정 구성
에디터에 알맞은 설정 파일에 Github MCP 서버 정보를 등록합니다. 제가 실습을 진행해볼 환경인 Cursor에서는 설정 페이지에서 MCP 서버를 관리할 수 있도록 지원하고 있어, 아래와 같이 MCP 서버를 추가했습니다.

에이전트가 Github의 기능들을 활용하기 위해서 앞서 언급한 PAT를 추가해야 합니다. 'YOUR_GITHUB_...' 부분에 자신의 PAT를 알맞게 추가해 주세요.
다른 에디터에 적용하는 방법들도 각 MCP 서버 Repo의 README에서 사용 방법을 잘 설명하고 있으니 참고하시면 좋을 것 같습니다.

올바르게 설정을 완료했다면 위와 같이 Github MCP 서버에서 지원하는 여러 기능들을 확인해 볼 수 있습니다.
2. AI에게 작업 지시
설정을 저장하고, AI에게 다음과 같이 자연어로 명령을 내립니다.

사용한 프롬프트 전문
현재 레포지터리는 광고를 차단하거나 코드리뷰를 자동으로 등록해주는 크롬 확장 프로그램이야. 현재 레포지토리를 분석하고, 취약한 부분이 발견된다면 이를 아래와 같은 형식으로 Github에 Issue로 등록해줘.
이슈 제목:
[유형] 간결한 이슈 요약
이슈 설명:
배경
이슈가 발생하게 된 배경 또는 현재 상황에 대한 간략한 설명
문제점
현재 시스템에서 발생하고 있는 구체적인 문제점 또는 개선이 필요한 사항을 명확하게 설명한다.
예시: features/ad-blocker/content.js 파일에서 특정 웹사이트의 광고가 차단되지 않는 문제가 있습니다.
예상 동작
문제가 해결되거나 기능이 구현되었을 때 기대하는 동작을 설명한다.
예시: features/ad-blocker/content.js가 모든 광고를 효과적으로 차단해야 합니다.
재현 단계 (버그인 경우)
1. 단계 #1
2. 단계 #2
관련 파일
이슈와 관련된 주요 파일 목록
- features/ad-blocker/content.js
- views/popup/popup.js
기술적 고려사항
이슈 해결을 위해 고려해야 할 기술적인 사항이나 제약 조건이 있다면 명시
추가 정보
스크린샷, 로그, 관련 링크 등 이슈 해결에 도움이 될 만한 추가 정보를 제공
라벨 (예시):
bug, enhancement, feature, documentation, help wanted
담당자 (고정):
@sudo-Terry
마일스톤 (manifest.json에서 확인):
v1.2.0
AI 모델은 내부적으로 다음과 같은 과정을 수행합니다.
- 레포지토리 확인
- 주요 소스 코드 스캔
- 취약점 발견 시, issue_write 툴을 호출하여 Github에 실제 이슈 등록


위와 같이 실제로 AI 모델이 분석한 취약점이 Github에 이슈로 등록된 것을 확인할 수 있습니다.
저는 Cursor의 무료 플랜을 이용하고 있어 실습에서는 고성능 모델을 사용하지 못했지만, 조금 더 좋은 모델을 선택하고, 프롬프트를 다듬어 복잡한 Github과의 상호작용도 간편하게 수행할 수 있습니다.
5. MCP의 한계와 문제점
이처럼 MCP가 AI 생태계에 혁신을 가져온 것은 분명하지만, 2025년 말 현재 프로덕션 환경 도입을 고려하는 백엔드 개발자들에게는 여전히 해결해야 할 숙제들이 남아 있습니다.
1. 권한 위임의 딜레마
가장 큰 우려 사항은 권한의 위임입니다. 실습에서 확인한 것처럼, MCP 서버를 연결한다는 것은 AI 에이전트에게 개발자가 내 컴퓨터를 조작할 권한을 넘겨준다는 것을 의미합니다. 우리가 로컬에서 수동으로 작업할 때는 AI가 호출하려는 Tool을 건건이 승인할 수 있지만, 서비스가 자동화되어 백그라운드에서 Always Allow로 동작한다면 AI는 통제하기 어려운 경우가 많습니다.
공격자들은 MCP 서버의 이러한 특징을 악용하고 있는데요, 구체적으로는 AI에 악의적인 프롬프트를 주입하여 민감한 데이터를 조회하도록 하거나 파괴적인 Tool을 호출하도록 하는 문제들이 끊임없이 발생하고 있습니다. 최근 보고된 CVE-2025-53967 등의 사례들은 MCP 구현체들이 아직 성숙하지 않았다는 것을 잘 보여줍니다.
2. 디버깅
AI와 MCP Server 간의 통신은 사용자의 눈에 보이지 않는 백그라운드에서 일어납니다. AI가 엉뚱한 파라미터로 Tool을 호출하여 에러가 났을 때, 이것이 프롬프트의 모호함 때문인지, 모델의 Hallucination 때문인지, 아니면 서버 코드의 버그인지 파악하기가 어렵습니다.
3. 상태 관리와 트랜잭션
MCP는 JSON-RPC 기반의 Stateless 프로토콜을 지향합니다. 하지만 비즈니스 로직은 대부분 상태를 가집니다.
복잡한 트랜잭션을 AI가 수행하다가 중간에 에러가 발생했을 때, LLM은 완벽한 롤백을 보장하기가 어렵습니다. 이런 상황이 발생했을 때 데이터 정합성을 어떻게 보장할지에 대한 표준 패턴은 아직 성숙하지 않았습니다.
6. 마무리
지난 10년이 사람이 읽고 쓰기 편한 REST API를 만드는 시대였다면, 앞으로의 10년은 AI 에이전트가 이해하고 실행하기 편한 MCP Server를 구축하는 시대가 될 것이라는 전망이 우세합니다.
웹의 표준이 HTTP가 되어 전 세계를 연결했듯, AI 에이전트의 표준은 MCP가 되어 모든 데이터와 서비스를 연결하고 있으며, 이미 Google, Anthropic, OpenAI 등 빅테크 기업들이 이 흐름을 주도하고 있습니다.
MCP의 미래는 어떻게 될까요? 단순한 챗봇을 넘어, LLM들이 다양한 도구를 통합하여 우리에게 새로운 시대를 열어주는 기술이 될 수 있을까요?