2026. 4. 28. 15:19ㆍProgramming
요즘 AI 개발 도구는 단순히 질문에 답하는 수준을 넘어섰습니다. 이제 AI는 코드를 읽고, 파일을 수정하고, 테스트를 실행하고, GitHub 이슈를 확인하고, 외부 API를 호출하는 방향으로 발전하고 있습니다.
그런데 여기서 중요한 문제가 생깁니다.
AI가 외부 도구나 데이터에 안전하고 일관된 방식으로 접근하려면 어떻게 해야 할까요?
예를 들어 AI에게 이런 작업을 시키고 싶다고 해보겠습니다.
“내 프로젝트의 GitHub 이슈를 조회해줘”
“고객 주문 API에서 최근 주문 목록을 가져와줘”
“로컬 문서에서 특정 내용을 찾아줘”
“사내 데이터베이스에서 프로젝트 상태를 확인해줘”
이런 작업을 하려면 AI가 외부 시스템과 연결되어야 합니다. 기존 방식이라면 각 AI 도구마다 별도의 연동 코드를 만들어야 했습니다.
Claude용 GitHub 연동을 만들고, Cursor용 GitHub 연동을 만들고, ChatGPT용 GitHub 연동을 만들고, 사내 에이전트용 연동을 또 만드는 식입니다.
도구가 늘어날수록 같은 연동을 반복해서 만들어야 합니다. 이 문제를 해결하기 위해 등장한 표준이 바로 MCP(Model Context Protocol)입니다.
MCP란?
MCP는 Model Context Protocol의 약자입니다.
쉽게 말하면 AI 애플리케이션이 외부 도구와 데이터를 사용할 수 있도록 연결해주는 표준 프로토콜입니다.
공식 문서에서는 MCP를 AI 애플리케이션을 위한 USB-C 포트에 비유합니다. USB-C가 노트북, 모니터, 충전기, 외장하드 같은 다양한 장치를 하나의 표준으로 연결하듯이, MCP는 AI 에이전트가 파일 시스템, 데이터베이스, GitHub, 사내 API 같은 외부 시스템과 연결될 수 있게 합니다. 즉, MCP는 AI와 외부 도구 사이의 공통 연결 방식입니다.
MCP를 왜 알아야 할까?
AI 서비스를 만들거나 AI 코딩 도구를 사용하다 보면 결국 다음 단계로 넘어가게 됩니다. 처음에는 AI에게 질문만 합니다. 그다음에는 AI에게 코드를 작성하게 합니다. 그리고 어느 순간부터는 AI에게 실제 작업을 시키고 싶어집니다.
예를 들면 이런 작업입니다.
“이 GitHub 이슈를 보고 관련 파일을 수정해줘.”
“이 프로젝트의 테스트 실패 원인을 찾아줘.”
“DB에서 최근 주문 데이터를 보고 오류 패턴을 분석해줘.”
“내 API 문서를 읽고 SDK 예시 코드를 만들어줘.”
이런 작업을 하려면 AI가 단순히 대화만 해서는 안 됩니다. 외부 시스템에 접근하고, 필요한 데이터를 가져오고, 도구를 호출할 수 있어야 합니다. MCP는 이 연결 방식을 표준화합니다. 그래서 앞으로 AI 에이전트, AI 코딩 도구, 사내 AI 업무 자동화 도구를 만들 때 MCP는 중요한 기반 기술이 될 가능성이 큽니다.
MCP의 기본 구조
MCP는 크게 세 가지 요소로 이해할 수 있습니다.
첫 번째는 MCP Host입니다.
MCP Host는 사용자가 직접 사용하는 AI 애플리케이션입니다.
예를 들면 Claude Desktop, Cursor, AI IDE, 사내 AI 챗봇 같은 도구가 여기에 해당합니다.
두 번째는 MCP Client입니다.
MCP Client는 Host 안에서 MCP Server와 통신하는 역할을 합니다.
사용자가 직접 다루기보다는 AI 애플리케이션 내부에서 동작한다고 보면 됩니다.
세 번째는 MCP Server입니다.
MCP Server는 실제 외부 도구나 데이터와 연결되는 서버입니다.
예를 들어 GitHub 이슈를 조회하는 MCP Server, 로컬 파일을 읽는 MCP Server, 사내 API를 호출하는 MCP Server를 만들 수 있습니다. 구조를 간단히 표현하면 다음과 같습니다.
사용자 → AI 애플리케이션 → MCP Client → MCP Server → 외부 시스템
예를 들어 사용자가 AI에게 “최근 GitHub 이슈를 정리해줘”라고 말하면, AI 애플리케이션은 MCP Server를 통해 GitHub API를 호출하고, 그 결과를 바탕으로 답변할 수 있습니다.
MCP Server는 무엇을 제공할 수 있을까?
MCP Server는 보통 세 가지 기능을 제공합니다.
첫 번째는 Tools입니다.
Tools는 AI가 호출할 수 있는 함수나 액션입니다. 예를 들어 다음과 같은 도구를 만들 수 있습니다.
get_github_issues
최근 GitHub 이슈 목록을 조회한다.
get_order_list
최근 주문 목록을 조회한다.
즉, Tools는 AI가 실제로 실행할 수 있는 기능입니다.
두 번째는 Resources입니다.
Resources는 AI가 읽을 수 있는 데이터입니다. 예를 들어 다음과 같은 리소스가 있을 수 있습니다.
프로젝트 README
API 문서
로그 파일
데이터베이스 테이블 정보
고객 정책 문서
Tools가 “행동”이라면 Resources는 “읽을 수 있는 정보”에 가깝습니다.
세 번째는 Prompts입니다.
Prompts는 AI가 특정 작업을 더 잘 수행하도록 미리 정의한 프롬프트입니다. 예를 들어 다음과 같은 프롬프트를 제공할 수 있습니다.
버그 리포트 분석 프롬프트
API 문서 요약 프롬프트
코드 리뷰 프롬프트
장애 보고서 작성 프롬프트
이 세 가지 중에서 입문 단계에서는 Tools를 먼저 이해하는 것이 가장 좋습니다.
MCP Tool을 설계할 때 중요한 점
MCP Tool을 만들 때는 단순히 “기능을 열어준다”가 아니라, AI에게 어떤 권한을 줄 것인지 신중하게 설계해야 합니다.
특히 다음 기준이 중요합니다.
첫 번째, 도구 이름은 구체적으로 작성합니다.
get_data보다는 get_project_status가 좋습니다.
두 번째, 설명은 AI가 판단할 수 있게 작성합니다.
“프로젝트 정보를 가져온다”보다는 “프로젝트 ID를 기준으로 진행률, 상태, 담당자를 조회한다”가 좋습니다.
세 번째, 입력값은 최소한으로 제한합니다.
AI에게 너무 많은 입력 자유도를 주면 의도하지 않은 요청이 발생할 수 있습니다.
네 번째, 반환값은 필요한 정보만 포함합니다.
내부 ID, 토큰, 민감한 고객 정보 등은 반환하지 않는 것이 좋습니다.
다섯 번째, 쓰기 작업은 더 신중하게 다룹니다.
조회 작업은 상대적으로 안전하지만, 생성·수정·삭제 작업은 위험할 수 있습니다.
예를 들어 다음과 같은 도구는 특히 주의해야 합니다.
delete_user
update_payment_status
send_email_to_customer
deploy_production
run_sql_query
이런 도구는 반드시 권한 체크, 입력 검증, 승인 흐름을 고려해야 합니다.
MCP는 AI 시대에 점점 중요해질 가능성이 높은 기술입니다. 이전의 AI 도구가 “질문에 답하는 도구”였다면,
MCP를 활용한 AI 에이전트는 “외부 시스템과 연결되어 실제 작업을 수행하는 도구”에 가까워집니다.
정리하면 다음과 같습니다.
- MCP는 Model Context Protocol의 약자입니다.
- AI 애플리케이션이 외부 도구와 데이터를 사용할 수 있도록 연결하는 표준입니다.
- MCP Server는 AI가 호출할 수 있는 Tools, 읽을 수 있는 Resources, 재사용 가능한 Prompts를 제공할 수 있습니다.
- 입문 단계에서는 Tools부터 이해하는 것이 좋습니다.
- MCP Tool은 이름, 설명, 입력값, 권한 범위를 명확하게 설계해야 합니다.
- 쓰기 작업이나 민감한 정보 접근은 반드시 보안과 승인 흐름을 고려해야 합니다.
앞으로 AI 코딩 에이전트나 사내 AI 업무 자동화 도구를 만들 계획이 있다면, MCP는 한 번쯤 꼭 이해해둘 만한 기술입니다.
처음에는 거창한 자동화보다 “AI가 안전하게 조회할 수 있는 작은 도구 하나”를 만들어보는 것부터 시작하면 좋습니다.
참고 자료
Model Context Protocol 공식 문서
https://modelcontextprotocol.io/docs/getting-started/intro
MCP TypeScript SDK
https://github.com/modelcontextprotocol/typescript-sdk
Anthropic MCP 소개
https://www.anthropic.com/news/model-context-protocol
'Programming' 카테고리의 다른 글
| AI 코딩 에이전트 제대로 쓰기: AGENTS.md 작성법 (0) | 2026.04.28 |
|---|---|
| 모던 CSS 완벽 가이드: JS 없이 구현하는 마법, Nesting과 :has() (0) | 2026.02.23 |
| React Server Components (RSC) 완벽 이해하기: 렌더링 아키텍처의 혁신 (0) | 2026.02.23 |
| Storybook으로 React 컴포넌트 문서화하기 - 실무 가이드 (0) | 2026.02.11 |
| Monorepo에서 Multi-stage Docker Builds 활용하여 NodeJS microservices 최적화된 이미지 만들기 (with. TurboRepo와 PNPM) (2) | 2024.05.16 |