
MCP란 무엇인가? 개발자를 위한 설명
요약
AI 에이전트의 데이터 컷오프 문제를 해결하기 위한 Model Context Protocol(MCP)을 소개합니다. MCP를 통해 에이전트가 외부 도구 및 실시간 정보원에 직접 연결되어 최신 정보를 활용하는 방법을 설명합니다.
핵심 포인트
- AI 모델의 학습 데이터 컷오프 한계 극복
- MCP를 통한 외부 도구 및 실시간 정보원 연결
- 에이전트의 추론 능력을 외부 함수와 결합
- 로컬 및 외부 도구를 활용한 에이전트 확장성 확보
당신의 AI 에이전트 모델은 많은 정보를 가지고 있으며 추론 능력도 매우 뛰어나지만, 한 가지 문제가 있습니다. 기본적으로 모델은 학습 과정에서 배운 내용만 알고 있으며, 그 지식에는 데이터 컷오프(cut-off) 날짜가 존재한다는 점입니다. 만약 당신의 에이전트가 모르는 정보를 정보원(source of information)에서 직접 찾아올 수 있다면 어떨까요? 이를 위해 MCP가 존재합니다.
오늘 저는 MCP가 무엇인지, 어떤 문제를 해결하는지, 그리고 어떻게 에이전트에 아주 간단하게 연결할 수 있는지 보여드리겠습니다.
1. 에이전트의 한계
예시로 시작해 보겠습니다. 저는 Kiro CLI와 제가 방금 설명한 내용을 보여주기 위해 약간 예전 모델인 (claude-haiku 4.5)를 사용할 것입니다. 만약 제가 Kiro에게 클라우드 입문자처럼 AWS에 대한 아주 기본적인 질문을 던진다면 어떨까요? "AWS CLI에 어떻게 로그인하나요?"
모델은 몇 가지 옵션으로 답변했습니다. 여기서 나쁜 점은, 첫 번째 옵션이 AWS configure를 사용하는 것이라는 점입니다. 모델에 따르면 이것이 권장되는 방식이지만, 실제로 작동은 하더라도 다소 구식인 방법이며 마찰(friction)을 일으킬 수 있습니다. 두 번째 옵션은 몇몇 파일을 편집하고 보안 조치 없이 키(keys)를 직접 입력하는 수동 설정 방식입니다. 세 번째 옵션은 환경 변수(environment variables)입니다. 제가 클라우드를 처음 시작했을 때는 API 키를 그대로 적어두는 것이 얼마나 위험한지, 그리고 환경 변수가 무엇인지조차 몰랐습니다. 따라서 이러한 옵션들은 입문자에게 친숙하지 않습니다.
그리고 모델이 작동하지 않는 것이 아니라, 단지 학습 (training) 이후에 무엇이 변했는지 알 방법이 없을 뿐입니다. 이는 지난 몇 년간 기술 세계와 단절되어 지낸 사람에게 질문을 던지는 것과 같습니다.
2. 외부 도구 (External Tools)
MCP를 이해하기 위해 먼저 도구 (tools)에 대해 이야기해 보겠습니다. 에이전트 (agent)는 모델 (model)과 도구 (tools)를 포함하여 함께 작동하는 컴포넌트 (components)들의 집합이며, 도구는 모델이 단순히 텍스트를 생성하는 것을 넘어 무언가를 수행할 수 있게 해주는 함수 (functions)에 불과합니다. 예를 들어 파일을 생성하거나, 명령어를 실행하는 것 등입니다. 도구에는 로컬 도구 (local tools)뿐만 아니라 외부 도구 (external tools)도 존재합니다. 개념은 동일하지만, 에이전트를 로컬 환경 외부의 인터넷 서비스와 연결해 줍니다. 예를 들어 공식 문서, 제3자 API (third-party APIs), 또는 GitHub 저장소 (repositories) 등이 있습니다. 이러한 도구들을 통해 에이전트는 자신이 알고 있는 지식에 국한되지 않고, 필요한 정보를 찾아보거나 필요한 작업을 수행할 수 있게 됩니다.
하지만 잠시 생각해 봅시다... 오늘날 얼마나 많은 AI 에이전트가 존재할까요? Kiro, Copilot, Cursor, Claude, 그리고 Strands Agents와 같은 라이브러리 (libraries)를 사용하여 누구나 직접 구축할 수 있는 커스텀 (custom) 에이전트들은 말할 것도 없습니다. 이제 연결하고 싶은 외부 도구가 얼마나 많을지 생각해 보세요. GitHub, Slack, 데이터베이스 (databases), 문서 등 몇 가지만 언급해도 매우 많습니다. 표준 (standard)이 없다면, 모든 조합마다 고유한 통합 (integration) 과정이 필요합니다. 만약 5개의 에이전트와 10개의 서로 다른 도구가 있다고 가정할 때, 각 도구를 각 에이전트에 맞춰 통합한다면 총 50개의 서로 다른 통합 작업이 필요하며, 각각은 자신만의 로직 (logic)을 가져야 합니다. 기술 세계가 이토록 빠르게 변하는 시대에, 만약 내일 새로운 에이전트가 출시된다면 우리는 모든 도구에 대해 통합 코드를 처음부터 다시 작성해야 할 것입니다.
3. MCP란 무엇이며 어떻게 작동하는가?
Model Context Protocol (MCP)는 에이전트가 각 도구마다 개별적인 통합 방식을 구현하는 대신, 에이전트가 외부 도구와 연결되는 방식을 표준화하는 개방형 프로토콜입니다. 이 프로토콜은 Anthropic에 의해 만들어졌으며, AI 엔지니어와 개발자들이 많은 시간을 투자해 온 실제 문제를 해결했기 때문에 업계에서 매우 빠르게 채택되었습니다.
MCP에는 두 가지 주요 참여자가 있습니다:
- MCP 클라이언트 (MCP Client). 외부 도구를 사용하고자 하는 에이전트입니다. 본 예시에서는 Kiro CLI를 사용하지만, 다른 무엇이든 사용할 수 있습니다.
- MCP 서버 (MCP Server). 자신이 할 수 있는 일을 노출하는 외부 도구입니다. 이 경우, AWS 문서를 검색할 줄 아는 서버가 해당됩니다.
전체 흐름은 다음과 같습니다:
- 연결 (Connection): 클라이언트(에이전트)가 시작될 때 MCP 서버에 연결하여 서버에게 "무엇을 할 수 있나요?"라고 묻습니다.
- 발견 (Discovery): 서버는 자신의 기능 목록을 응답으로 보냅니다.
- 컨텍스트 (Context): 해당 기능들이 모델에 전달됩니다. 이제 모델은 사용 가능한 도구가 있다는 것을 알게 됩니다.
- 결정 (Decision): 사용자가 질문을 하면, 모델은 해당 도구 중 하나를 사용할 수 있습니다. 때로는 모델이 스스로 결정하기도 하고, 때로는 사용자가 명시적으로 요청하기도 합니다.
- 실행 (Execution): 모델이 도구를 사용할 때, 클라이언트는 서버에 호출을 실행하고 결과를 받습니다.
- 응답 (Response): 결과가 모델로 돌아가며, 모델은 이를 사용하여 최종 응답을 구성합니다.
강조하고 싶은 알고리즘은 당신이 각 도구(Tool)를 언제 사용할지 프로그래밍하지 않는다는 점입니다. 모델은 사용 가능한 도구들을 가지고 있으며, 이를 언제 사용할지 결정하는 것은 바로 모델입니다. 이러한 자율성은 당신의 모델이 얼마나 유능한지에 따라 달라질 것입니다. 만약 더 작고 능력이 낮은 모델을 사용한다면 아마 이 과정에서 문제를 겪을 수도 있습니다. 다행인 점은 모델을 가이드할 수 있으며, 특정 도구를 사용하도록 명시적으로 요청할 수도 있다는 것입니다. 사실, 명시적으로 요청하는 것이 더 유능한 모델을 사용할 때조차 더 일관된 결과를 주는 경우가 많으며, 이것이 바로 제가 다음에 할 작업입니다.
4. MCP 서버는 무엇을 제공하는가?
MCP 서버는 세 가지 유형의 기능을 노출할 수 있습니다:
| 유형 | 설명 | 예시 |
|---|---|---|
| Tools (도구) | 에이전트가 실행할 수 있는 동작 | "문서 검색", "페이지 읽기" |
| ... |
실제로 **Tools (도구)**는 당신이 가장 많이 사용하게 될 요소입니다. 이는 에이전트에게 능력을 부여하거나, 다른 방식으로 표현하자면 이전에 없던 초능력을 부여하는 구체적인 동작들입니다. 예를 들어, AWS Knowledge MCP server는 AWS의 모든 문서를 검색하기 위한 search_documentation, 페이지 내용을 읽기 위한 read_documentation, 그리고 관련 페이지를 찾기 위한 recommend와 같은 도구들을 노출합니다. 이러한 도구들을 통해 당신의 에이전트는 학습 데이터로 기억하는 내용으로 답변하는 대신, 문서(docs)에서 직접 최신 정보를 찾아볼 수 있습니다.
5. AWS Knowledge MCP server 연결하기
우리가 처음에 시작했던 문제를 해결해 보겠습니다. AWS Knowledge MCP server를 Kiro에 연결하겠습니다. 이 서버는 AWS에서 관리하며 AI 에이전트에게 공식 문서에 대한 접근 권한을 제공합니다. 그 후, 이전과 동일한 질문을 던져 모델이 어떻게 응답하는지 확인해 보겠습니다.
설정
MCP 서버를 Kiro CLI에 연결하려면 mcp.json 파일을 생성해야 하며, 서버를 어디에서 사용할 수 있게 할지에 따라 두 가지 옵션이 있습니다:
- Global (
~/.kiro/settings/mcp.json): 서버가 모든 프로젝트에서 사용 가능합니다. - Workspace (
.kiro/settings/mcp.json): 서버가 해당 프로젝트에서만 사용 가능합니다.
두 방식 모두 내용은 동일하므로, 설정 섹션으로 이동하여 Kiro CLI용 JSON을 복사하면 됩니다. 제가 이 글을 작성하는 시점의 JSON은 다음과 같은 모습입니다.
{
"mcpServers": {
"aws-knowledge-mcp-server": {
...
하지만 한 가지 명확히 하고 싶은 점은, JSON 설정 구조는 시간이 지남에 따라 변경될 수 있으므로 MCP를 설정할 때는 항상 가장 최신의 공식 문서를 사용해야 한다는 것입니다.
파일을 저장한 후 Kiro를 재시작하세요. /mcp 명령어를 통해 서버가 성공적으로 연결되었는지 확인할 수 있으며, 이 명령은 설정된 서버 목록과 각 서버가 제공하는 도구(tools)를 보여줍니다.
처음에 했던 질문인 **"AWS CLI에 어떻게 로그인하나요?"**를 다시 던져보겠습니다. 하지만 이번에는 명시적으로 문서 서버를 사용해 달라고 요청할 것입니다.
만약 서버를 설정하고 동일한 질문을 던진다면, 아마도 에이전트는 저처럼 몇 가지 도구 (tools)를 사용해도 될지 허가를 요청할 것입니다. 저의 경우, 에이전트는 문서를 검색하고 필요한 페이지들을 읽은 뒤, 모든 정보를 확보하자 여러 가지 옵션과 함께 답변을 주었습니다. 그중에는 이전에 이미 알려주었던 것들도 포함되어 있었지만, 이제 첫 번째 옵션은 AWS에서 가장 최신이며 권장하는 방식인 aws login이었습니다. 이는 터미널을 사용할 때 우리의 AWS 자격 증명 (credentials)을 사용하는 훨씬 더 간단하고 안전한 방법입니다. MCP가 없었을 때 에이전트는 작동은 하지만 구식인 방법을 기억에 의존하여 답변했습니다. MCP를 사용하면 에이전트는 문서 (docs)로 직접 가서 최신 정보를 가져옵니다.
자주 묻는 질문 (FAQ)
MCP는 터미널 도구만을 위한 것인가요?
아니요. MCP는 MCP 클라이언트 (client)를 구현하는 모든 애플리케이션에서 작동합니다. Kiro CLI와 같은 터미널 도구, IDE, Claude Desktop과 같은 데스크톱 애플리케이션, 그리고 해당 프로토콜을 지원하는 모든 에이전트가 이에 해당합니다.
MCP는 누가 만들었나요? 그리고 오픈 소스인가요?
Anthropic이 만들었으며, 네, 완전히 오픈 소스 (open source)입니다. 명세 (specification)는 공개적으로 제공되며 누구나 클라이언트나 서버를 구현할 수 있습니다.
내 도구에 대한 접근 권한을 주는 것이 안전한가요?
서버에 따라 다릅니다. 각 MCP 서버는 어떤 동작을 노출할지 정의합니다. 문서 서버는 공개 페이지를 읽기만 하므로 큰 위험이 없습니다. 데이터베이스를 수정하는 서버는 더 많은 주의가 필요합니다. 서버를 연결하기 전에 해당 서버가 어떤 도구 (tools)를 노출하는지 항상 확인하십시오.
모든 AI 모델과 작동하나요?
MCP는 모델 수준이 아니라 클라이언트 수준에서 작동합니다. 만약 당신의 에이전트가 MCP를 지원하고, 에이전트가 사용하는 모델이 도구 사용 (tool use)을 지원한다면 작동합니다. Claude, GPT, Llama, Nova와 같은 대부분의 현대적인 모델들은 도구 사용 (tool use)을 지원합니다.
MCP를 사용하기 위해 프로그래밍을 알아야 하나요?
기존의 MCP 서버를 사용하는 것이라면, 아니요. 위에서 보신 것과 같은 JSON 파일을 설정하기만 하면 됩니다. 자신만의 MCP 서버를 직접 만들려면 프로그래밍이 필요하지만, Python, TypeScript 및 기타 언어용 SDK (Software Development Kit)가 있어 프로세스를 매우 단순화할 수 있습니다.
결론
우리가 배운 내용을 요약해 보겠습니다:
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기

