2026-05-23 · 정우진 (수석연구원)

MCP(Model Context Protocol)란 무엇인가요? 기업 AI 통합의 새로운 표준, 한 번에 정리

#ittech#mcp#modelcontextprotocol#ai에이전트#anthropic#기업ai#ai통합#oauth#프로토콜

MCP(Model Context Protocol)는 Anthropic이 2024년 11월에 공개하고 2025년 12월 Linux Foundation 산하 Agentic AI Foundation으로 이관된 AI-도구 연동 표준 프로토콜입니다. 2026년 1분기 기준 글로벌 AI 팀의 78%가 MCP 기반 에이전트를 프로덕션에서 운영 중이며, 공식 MCP 서버 수는 1만 개를 넘어섰습니다. 본 가이드에서는 MCP가 등장한 배경, 작동 원리, OAuth 2.1 보안 구조, 기업 도입 로드맵까지 한 호흡으로 정리했습니다.

목차

왜 지금 MCP인가: AI 통합의 N×M 문제

지난해 봄, 한 금융 IT 자회사의 신사업 PoC를 도왔던 적이 있는데요. 사내 데이터 16개 시스템에 LLM을 붙이는 일이었습니다. Slack, GitHub, Confluence, Jira, ServiceNow, 사내 ERP, 데이터 웨어하우스, 그리고 보안팀이 운영하는 SIEM까지. 처음에는 단순할 거라고 생각했지만, 막상 착수하자마자 “LLM 하나에 도구 16개”가 아니라 “LLM 모델 후보 4개 × 도구 16개” = 64개 어댑터를 따로 만들어야 한다는 사실에 부딪혔습니다.

이게 바로 흔히 말하는 N×M 문제입니다. 모델이 N개고 도구가 M개라면 그 곱만큼 통합 코드를 짜야 한다는 의미인데요. 우리 팀은 결국 OpenAI Function Calling, Anthropic Tool Use, 자체 RAG 파이프라인을 각각 따로 유지보수했고, 새 모델이 나오면 매번 어댑터 16개를 새로 작성해야 했습니다. 6개월 동안 어댑터 유지보수에 들어간 엔지니어 공수가 본업 개발 공수의 1.4배쯤 됐던 걸로 기억합니다.

이 비효율을 해소하기 위해 Anthropic이 2024년 11월에 공개한 표준이 바로 MCP입니다. USB-C가 노트북·모니터·외장 SSD·도크를 단일 규격으로 묶었듯, MCP는 LLM과 데이터 소스·도구·시스템을 단일 프로토콜로 묶습니다. 모델이 어떤 것이든, 도구가 어떤 것이든, 양측이 MCP만 지원하면 별도 어댑터 없이 곧바로 연결됩니다.

이 변화의 규모를 가늠하려면 숫자가 도움이 되는데요. 2026년 3월 시점에 Anthropic이 발표한 통계에 따르면 공식 MCP 서버 수 1만 개 이상, Python·TypeScript SDK 월간 다운로드 9,700만 회, 엔터프라이즈 AI 팀(AI/ML 인력 50명 이상 기준)의 78%가 프로덕션 환경에서 MCP 에이전트를 운영하고 있습니다. 1년 전 같은 조사에서 31%였던 수치라는 점을 감안하면, 12개월 사이 두 배 이상 성장한 셈입니다.

MCP란 무엇인가: 정의와 구성 요소

MCP(Model Context Protocol)는 LLM 애플리케이션이 외부 데이터·도구·시스템에 접근할 때 사용하는 개방형 표준 프로토콜입니다. 기술적으로는 JSON-RPC 2.0 위에 구축됐고, 통신 채널은 stdio(로컬), Streamable HTTP(원격)를 모두 지원합니다.

MCP는 세 가지 주요 원시 객체(Primitive)를 정의하는데요. 각 객체가 무엇을 의미하는지 짚고 가겠습니다.

원시 객체정의예시
Resources모델이 읽을 수 있는 데이터 (읽기 전용 컨텍스트)PDF 문서, DB 행, S3 파일, 로그
Tools모델이 호출할 수 있는 함수 (사이드 이펙트 가능)API 호출, 파일 쓰기, 이메일 전송
Prompts사용자에게 노출되는 재사용 가능한 템플릿코드 리뷰 프롬프트, 보고서 작성 양식

여기에 추가로 Sampling(서버가 호스트에게 LLM 호출을 요청), Roots(워크스페이스 경계 선언), Elicitation(서버가 사용자에게 추가 입력 요청)이 보조 원시 객체로 들어가는데요. 실무에서 가장 자주 만지게 되는 건 Resources와 Tools 두 가지입니다.

다른 통합 방식과 차이가 무엇인지 비교해 보면 MCP의 위치가 더 명확해집니다.

항목OpenAI Function CallingLangChain ToolsMCP
표준화벤더 종속라이브러리 의존개방형 표준
모델 호환성OpenAI 전용다중 모델, 변환 필요모델 무관
보안 모델API Key 기반자체 정의OAuth 2.1 명세 포함
재사용성코드 레벨 재구현패키지 단위서버 단위 (원격 호출)
거버넌스벤더 단독OSS 커뮤니티Linux Foundation (AAIF)

특히 2025년 12월 Anthropic이 MCP를 Linux Foundation 산하의 Agentic AI Foundation(AAIF)으로 이관한 사건은 이 프로토콜이 단일 벤더의 사양에서 업계 공통 표준으로 자리매김했음을 의미합니다. Block, OpenAI가 공동 창립사이고 Google·Microsoft·AWS·Cloudflare가 지원사로 들어왔다는 점이 그 신뢰의 근거인데요.

MCP 작동 원리: 호스트·클라이언트·서버 3계층

MCP의 실행 구조는 세 가지 행위자로 구성됩니다.

MCP Host 사용자와 직접 상호작용하는 LLM 애플리케이션입니다. Claude Desktop, Cursor, Windsurf, Zed, VS Code Copilot Chat, ChatGPT Desktop 같은 도구가 여기에 해당합니다. 호스트는 사용자 요청을 받고 어떤 MCP 서버에 연결할지 결정합니다.

MCP Client 호스트 내부에 존재하는 프로토콜 어댑터입니다. 각 클라이언트는 정확히 하나의 MCP 서버와 1:1로 세션을 맺는데요. 호스트는 여러 클라이언트를 동시에 보유할 수 있고, 그래서 한 화면에서 GitHub MCP 서버와 Slack MCP 서버를 동시에 호출할 수 있는 구조가 됩니다.

MCP Server 실제로 데이터·도구·기능을 노출하는 프로세스입니다. 로컬 stdio 서버일 수도 있고, 인터넷 너머의 SaaS 형태 원격 서버일 수도 있습니다.

한 번의 도구 호출 흐름 추적

“Claude Desktop에서 ‘오늘 #engineering 채널에 올라온 메시지 중 배포 관련된 것만 요약해줘’라고 물었을 때 무슨 일이 벌어지는가”를 단계별로 따라가면 다음과 같습니다.

  1. 호스트(Claude Desktop)가 사용자 요청을 받고, 등록된 MCP 서버 목록 중 “slack-mcp-server”가 가진 도구 매니페스트를 LLM에게 컨텍스트로 함께 전달합니다.
  2. LLM이 응답하는 과정에서 slack.search_messages(channel="engineering", query="배포", limit=50) 같은 도구 호출 의도를 생성합니다.
  3. 호스트는 해당 MCP 클라이언트에게 도구 호출을 위임하고, 클라이언트는 JSON-RPC 메시지로 서버에 요청을 전달합니다.
  4. MCP 서버가 Slack API를 호출하고 결과를 JSON으로 반환합니다.
  5. 호스트가 그 결과를 다시 LLM 컨텍스트에 넣어 최종 요약을 생성합니다.

여기서 자주 오해하는 부분이 있는데요. MCP는 LLM의 응답 생성 자체를 대체하지 않습니다. 모델이 “무엇을 호출할지” 결정하는 능력은 그대로 두고, “어떻게 안전하게 호출하고 결과를 받아올지”에 대한 통신 규약만 표준화합니다. 그래서 MCP는 RAG와 경쟁한다기보다 보완 관계에 가깝습니다. RAG가 임베딩 기반 검색으로 정적인 문서를 가져온다면, MCP는 동적인 API와 시스템 상태를 가져오는 데 강점이 있습니다.

엔터프라이즈 MCP: OAuth 2.1과 보안 모델

엔터프라이즈 도입에서 가장 큰 걸림돌은 늘 보안과 인증인데요. MCP 초기 사양(2024년 말~2025년 초)은 사실상 인증 모델이 비어 있었습니다. 그래서 사내 PoC를 돌릴 땐 환경 변수로 토큰을 박아두고 stdio로만 띄우는 게 일반적이었습니다. 저희도 첫 PoC에서는 Anthropic이 공개한 GitHub MCP 서버를 그대로 받아서 PAT(Personal Access Token)를 환경변수로 주입해서 썼습니다.

문제는 이게 다중 사용자 SaaS 환경에 그대로 확장되지 않는다는 점이었습니다. 사용자마다 권한이 다르고, 토큰의 만료·갱신도 따로 관리해야 하는데, 정적 API 키 방식으로는 통제가 너무 헐거웠습니다.

2025년 6월 사양 개정과 OAuth 2.1 의무화

이 문제를 해결하기 위해 2025년 6월 사양 개정이 도입됐는데요. 핵심 변경 내용은 다음과 같습니다.

  • MCP 서버는 OAuth 2.1 Resource Server로 동작
  • MCP 호스트는 사용자를 대신하는 OAuth Client로 동작
  • 모든 원격 요청은 유효한 액세스 토큰을 필수로 요구
  • Authorization Server와 Resource Server는 반드시 분리
  • 공개 클라이언트 보호를 위해 PKCE 의무 적용

특히 “Authorization Server와 Resource Server 분리”는 협상의 여지가 없는 원칙입니다. MCP 서버 본인이 토큰을 발급하는 일은 없도록 하고, 외부 IdP(Okta, Auth0, WorkOS, Azure AD)가 발급한 토큰을 검증만 하는 역할로 명확히 분리되었습니다.

Dynamic Client Registration이 결정적인 이유

엔터프라이즈에서 MCP를 다중 클라이언트 환경에 풀어두려면 DCR(Dynamic Client Registration)이 사실상 필수입니다. Claude Desktop, Cursor, Windsurf, ChatGPT, Copilot, 그리고 사내에서 자체 개발한 에이전트까지 — 이 모든 클라이언트를 매번 관리자가 사전 등록하는 건 운영상 비현실적입니다.

DCR이 있으면 새 클라이언트가 런타임에 IdP에 스스로 등록하고, 즉시 인증 흐름을 시작할 수 있습니다. 2026년 들어 더 진보된 방식인 CIMD(Client ID Metadata Documents)도 권장되기 시작했는데요. 클라이언트가 HTTPS URL에 정적 JSON 메타데이터 파일만 호스팅하면, 서버가 그 URL을 통해 클라이언트 신원을 분산형으로 검증할 수 있는 방식입니다.

실무 보안 체크리스트

MCP 서버를 프로덕션에 띄울 때 반드시 점검할 항목을 정리하면 이렇습니다.

  • OAuth 2.1 + PKCE 필수 적용 (API Key 단독 사용은 deprecated)
  • Resource Indicators(RFC 8707) 사용으로 토큰 audience 명시
  • 서버는 토큰 발급 금지, 검증만 수행
  • 짧은 액세스 토큰 수명 + 리프레시 토큰 분리
  • 도구 호출 인가는 사용자 권한(scope) 기준
  • 감사 로그: 어떤 사용자가 어떤 도구를 언제 호출했는가
  • Prompt Injection을 통한 도구 호출 우회 차단 (사용자 명시적 승인)

국내외 도입 사례와 활용 시나리오

지난해 가을, 국내 한 게임 퍼블리셔의 사내 도입을 가까이서 봤는데요. 개발팀 80명이 매일 들여다보는 데이터가 Jira, Confluence, GitHub, 그리고 자체 분석 대시보드 네 군데에 흩어져 있었습니다. 매 스프린트 회고 때마다 4개 시스템을 일일이 들어가서 데이터를 모으느라 PM의 하루가 다 갔습니다.

도입한 변화는 단순했습니다. 사내 MCP 서버 4개(Jira·Confluence·GitHub·자체 BI)를 띄우고, 사내 Claude 워크스페이스에 연결한 것이 전부였습니다. 그 뒤로 PM이 “이번 스프린트 회고 자료 만들어줘”라고 한 줄 요청하면, 모델이 알아서 4개 시스템에서 데이터를 가져와 회고 초안을 작성하는 흐름이 됐습니다. PM 1인당 회고 준비 시간이 평균 3.5시간에서 35분으로 줄었다는 수치를 받았는데요.

산업별 MCP 활용 패턴

산업자주 쓰이는 MCP 서버 조합효과
금융트레이딩 시스템 + Bloomberg + 사내 리스크 엔진리포트 자동 생성, 컴플라이언스 점검
제조MES + SAP + IoT 게이트웨이라인 이상 진단, 부품 발주 자동화
헬스케어EMR + PACS + 의학 DB진료 기록 요약, 가이드라인 검색
커머스상품 DB + 광고 플랫폼 + 고객 CRM캠페인 ROI 분석, 개인화 추천
콘텐츠CMS + Analytics + Slack콘텐츠 성과 회고, 제작 일정 조율

2026년 들어 등장한 흥미로운 패턴

작년 말부터 눈에 띄게 늘어난 패턴이 “MCP Server-as-a-Product”인데요. SaaS 벤더가 자사 API와 별개로 공식 MCP 서버를 함께 출시하는 흐름입니다. Forrester는 2026년 안에 엔터프라이즈 앱 벤더의 30%가 자체 MCP 서버를 출시할 것으로 전망했습니다. 이미 GitHub·Atlassian·Linear·Notion·Sentry·Vercel 같은 개발자 도구 벤더들은 공식 MCP 서버를 공개했고, Salesforce·HubSpot·Workday 등 엔터프라이즈 SaaS들이 빠르게 뒤따르고 있습니다.

이 변화가 흥미로운 이유는 “AI 통합”이 더 이상 “벤더가 자기 챗봇을 만드는 것”이 아니라 “벤더가 자기 데이터를 다른 AI에 노출하는 것”으로 패러다임이 바뀌었다는 의미이기 때문인데요. 사용자는 자기가 좋아하는 모델(Claude·GPT·Gemini)을 선택하고, 그 모델 위에서 여러 벤더의 데이터를 동시에 다루는 환경이 표준이 됐습니다.

기업 MCP 도입 로드맵 4단계

처음부터 사내 전체에 풀려고 하면 십중팔구 보안팀 벽에 막힙니다. 실전 경험상 단계별 접근이 가장 안전한데요.

1단계: 로컬 stdio 서버로 PoC (2~4주)

먼저 작은 팀(5~15명)을 선정해 Claude Desktop이나 Cursor 같은 호스트를 깔고, 공식 MCP 서버 중 부담이 적은 것을 골라 시범 운영합니다. Filesystem, Git, SQLite, Postgres(읽기 전용) 정도면 충분히 가치를 체감할 수 있습니다. 이 단계의 목표는 “MCP가 우리 워크플로우에 어떤 가치를 주는지”를 데이터로 확보하는 것입니다.

2단계: 사내 시스템용 커스텀 서버 12개 개발 (48주)

PoC 결과가 긍정적이면, 사내 핵심 시스템 한두 개를 MCP 서버로 노출합니다. 보통 사내 위키, 사내 BI, 사내 티켓 시스템 중 한두 개를 고릅니다. 이때부터는 OAuth 2.1 구조를 진지하게 설계해야 하고요. Authorization Server는 사내 IdP(Okta·Azure AD·자체 Keycloak)를 그대로 쓰고, MCP 서버는 토큰 검증만 합니다.

3단계: 거버넌스·감사·관측성 정착 (8~12주)

여기서부터가 진짜 엔터프라이즈입니다. 도구 호출에 대한 감사 로그, 사용자별 권한 매트릭스, 비용 모니터링, 그리고 Prompt Injection 같은 신종 위협에 대한 방어 체계를 갖춥니다. WorkOS·Auth0·Okta가 제공하는 MCP 전용 인증 솔루션이 이 단계에서 도움이 되는데요. 사내 자체 구현으로 가는 경우라면, 최소한 도구 호출 사용자 승인 UI(yes/no 명시 확인)를 반드시 거치도록 설계해야 합니다.

4단계: 전사 확산 + MCP 마켓플레이스 구축 (3~6개월)

내부 개발자들이 자유롭게 MCP 서버를 만들고 등록할 수 있는 사내 카탈로그를 구축합니다. 이 단계에서는 “어느 부서가 어떤 서버를 신뢰할 수 있는가”를 표시하는 보증(Endorsement) 체계, 그리고 보안팀 승인을 거친 서버만 호스트에 자동 노출되는 화이트리스트 메커니즘이 필요한데요. 이 정도까지 가면 사내 어떤 직원이든 AI 에이전트에게 “우리 회사 데이터로 X 해줘”라고 자연어로 요청할 수 있는 환경이 만들어집니다.

도입 시 가장 흔한 실수 3가지

  • 처음부터 원격 MCP 서버부터 만들기 → stdio 로컬부터 검증해야 학습 곡선이 완만함
  • 단일 거대 MCP 서버 설계 → 도메인별로 작게 쪼개야 책임 분리와 권한 분리가 가능
  • 도구 호출에 사용자 명시 승인 빼버리기 → Prompt Injection 한 방에 데이터 유출 위험

FAQ

MCP는 RAG를 대체하나요? 대체하지 않습니다. RAG는 임베딩 기반 검색으로 정적 문서에서 관련 청크를 찾아오는 방식이고, MCP는 동적 API와 시스템 상태에 접근하는 표준 통신 프로토콜입니다. 실제로는 둘이 함께 쓰이는 경우가 많은데요. MCP 서버 내부에서 RAG 검색을 도구로 노출하는 식의 조합이 가장 흔합니다.
MCP 서버를 만들려면 어떤 언어를 써야 하나요? 공식 SDK는 Python·TypeScript·Go·Java·C#·Rust로 제공됩니다. 가장 활발한 생태계는 TypeScript와 Python인데요. 빠른 프로토타이핑은 Python, 프로덕션은 TypeScript나 Go가 일반적인 선택입니다.
기존 OpenAI Function Calling 자산을 MCP로 옮기려면 비용이 많이 드나요? 스키마 변환만 정의하면 대부분 자동화 가능합니다. 정의된 함수 시그니처를 MCP Tools 매니페스트로 옮기는 작업이 본질적으로 동일한 구조라서, 평균 1~2주 안에 마이그레이션이 끝나는 사례가 많습니다. 다만 인증·인가 모델은 거의 새로 설계해야 합니다.
온프레미스 환경에서도 MCP를 쓸 수 있나요? 가능합니다. 오히려 온프레미스가 출발점이었습니다. stdio 기반 로컬 MCP 서버는 별도 네트워크 노출 없이 호스트 프로세스와 표준 입출력으로만 통신하기 때문에, 폐쇄망에서도 그대로 동작합니다. 원격 MCP가 필요한 경우 사내 망 내부에 Streamable HTTP 서버를 띄우는 패턴이 일반적입니다.
MCP가 한국 기업 환경에서도 보편화될까요? 이미 시작됐습니다. 국내 대기업 IT 자회사 다수가 2025년 하반기부터 PoC에 들어갔고요. 2026년 들어서는 금융·제조·통신 쪽에서 본격 도입이 늘고 있습니다. 다만 망분리 정책, 개인정보보호법 적용 범위 같은 한국 고유의 규제 변수는 별도로 점검해야 합니다.

같이 읽으면 좋은 것들