MCP가 연결하는 IDE·AI 에이전트·엔터프라이즈 도구

MCP의 JSON-RPC 구조와 전송 방식, VS Code·JetBrains 연동, AAIF 거버넌스와 엔터프라이즈 보안 설계를 분석한다.

2026-08-14 · 최초 발행 2026-08-02

빠른 채택 뒤에 남은 운영 문제

Model Context Protocol(MCP)은 Anthropic이 2024년 11월 오픈소스로 공개한 뒤 16개월 만에 월간 SDK 다운로드 9,700만 건(97M)을 넘어섰다. VS Code Copilot, JetBrains AI Assistant, Apple Xcode 26이 네이티브 지원을 통합했고, 2025년 12월에는 거버넌스가 Linux Foundation 산하 Agentic AI Foundation(AAIF)으로 이전됐다.

Anthropic뿐 아니라 OpenAI, Google, Microsoft, AWS가 지원하면서 MCP는 에이전트와 외부 시스템을 잇는 사실상 표준으로 자리 잡았다. 업계에서 “프로토콜 전쟁은 끝났다”는 평가가 나오는 배경이다. 여러 도구를 같은 규격으로 연결한다는 의미에서 AI 에이전트의 “USB-C 포트”로도 비유된다.

채택 규모는 서버 생태계에서도 드러난다.

관측 항목 수치 기준 시점
월간 SDK 다운로드 9,700만 건 2026년 3월
출시 대비 성장률 4,750% 16개월 누적
공식 레지스트리 서버 9,652개 2026년 5월
PulseMCP 디렉토리 5,500개+ 2026년 상반기
Nerq 인덱싱 17,468개 2026년 Q1
커뮤니티·프라이빗 서버 추정 13,000개+ 2026년 상반기
High Trust 서버 비율 12.9% 2026년 기준

출시 당시 약 200만 다운로드에서 2026년 3월 97M으로 증가하며 4,750% 성장했다. 이제 실무에서 따져야 할 문제는 MCP의 채택 여부보다 연결된 서버를 어떻게 발견하고, 인증하고, 권한별로 통제할 것인가에 가깝다.

JSON-RPC 메시지로 도구 호출을 주고받는다

MCP의 메시지 형식은 JSON-RPC 2.0을 따른다. 요청과 응답은 method, params, id를 중심으로 짝을 이루며, 도구 호출에는 실행할 이름과 인자를 함께 전달한다.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "query_database",
    "arguments": {
      "sql": "SELECT * FROM users WHERE active = true",
      "limit": 100
    }
  }
}

서버는 실행 결과를 result에 담고, 콘텐츠 유형과 오류 여부를 클라이언트에 돌려준다.

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "[{\"id\": 1, \"name\": \"Alice\", ...}]"
      }
    ],
    "isError": false
  }
}

연결 직후에는 initialize 메서드로 프로토콜 버전과 양쪽이 지원하는 기능을 협상한다. 서버가 protocolVersion, capabilities, serverInfo를 반환하면 클라이언트가 initialized 알림을 보내 핸드셰이크를 끝낸다.

Client → Server: initialize {protocolVersion, capabilities, clientInfo}
Server → Client: {protocolVersion, capabilities, serverInfo}
Client → Server: notifications/initialized

로컬 프로세스와 원격 서버를 잇는 전송 방식

MCP의 전송 방식은 실행 위치와 연결 형태에 따라 나뉜다.

방식 연결 특성 적합한 환경
STDIO 클라이언트가 서버를 자식 프로세스로 스폰하고 stdin/stdout으로 통신 로컬 전용, 단일 클라이언트
Streamable HTTP HTTP POST/GET에 선택적 SSE 스트리밍을 결합하며 2025-03-26 사양에서 표준으로 도입 원격 배포, 다중 클라이언트
SSE (레거시) Server-Sent Events 기반 단방향 스트림 레거시 호환성 유지

현재 공식 표준은 Streamable HTTP다. 기존 SSE는 서버에서 클라이언트로 향하는 단방향 스트림과 연결 유지 비용이라는 제약이 있어 deprecated 처리됐다. Streamable HTTP는 하나의 엔드포인트에서 HTTP POST로 요청을 받고 GET으로 스트림을 열어, 상태를 유지하는 연결과 무상태(stateless) 모드를 모두 지원한다.

서버가 에이전트에 내놓는 기능 단위

MCP 서버는 실행 기능과 읽기 데이터, 프롬프트, 장기 작업을 서로 다른 프리미티브로 노출한다.

Tools      → AI가 실행할 수 있는 함수 (DB 쿼리, API 호출, 파일 쓰기)
Resources  → 컨텍스트로 노출되는 읽기 전용 데이터 (파일, DB 레코드, 문서)
Prompts    → 재사용 가능한 프롬프트 템플릿 (파라미터화된 지시문)
Tasks      → 비동기 장기 실행 작업 (2026년 retry semantics + expiry policies 추가 예정)

Tools는 모델이 호출을 결정하는 능동적 실행 단위다. Resources는 파일이나 데이터베이스 레코드처럼 컨텍스트로 읽어 들이는 수동적 데이터이고, Prompts는 특정 워크플로우에 맞춘 지시문을 재사용할 수 있게 패키징한다. Tasks는 장시간 비동기로 실행되는 작업을 다룬다.

서버가 제공하는 능력은 연결 시점에 고정해서 가정하지 않는다. 에이전트는 tools/list로 도구의 이름과 설명, JSON Schema 입력 스키마를 받아 LLM의 function calling 컨텍스트에 넣는다. 필요한 데이터는 resources/read로 가져오고, 실행은 tools/call로 요청한다.

"External Tool/API""MCP Server""MCP Client""Host (LLM App)""External Tool/API""MCP Server""MCP Client""Host (LLM App)""연결 초기화 요청""initialize {protocolVersion, capabilities}""{capabilities: {tools, resources, prompts}}""서버 기능 목록 전달""tools/list 요청""tools/list""[{name, description, inputSchema}]""등록된 툴 목록 반환""tools/call: query_database""tools/call {name, arguments}""실제 DB/API 실행""실행 결과 반환""{content: [{type, text}]}""최종 결과 전달"

전체 라이프사이클은 연결 초기화와 기능 협상에서 시작해 tools/list 탐색, resources/read를 이용한 컨텍스트 로드, tools/call 실행, 결과 반환으로 이어진다.

AAIF로 옮겨간 거버넌스

Anthropic은 2025년 12월 9일 MCP를 Linux Foundation 산하 AAIF에 기증했다. 특정 벤더가 사양을 단독으로 관리하는 구조에서 공개 검토와 RFC를 기반으로 한 벤더 중립 거버넌스로 전환한 것이다.

Linux FoundationAAIF (Agentic AIFoundation)MCP (Anthropic 기증)goose (Block 기증)AGENTS.md (OpenAI 기증)Platinum 창립 멤버 (8개사)AnthropicAmazon Web ServicesGoogleMicrosoftOpenAIBlockBloombergCloudflareSilver 멤버WorkOS

Platinum 창립 멤버 8개사는 AWS, Anthropic, Block, Bloomberg, Cloudflare, Google, Microsoft, OpenAI다. 이들은 거버넌스 위원회에 참여하며, 사양 변경은 RFC와 공개 검토를 거친다. 사양 버전은 2025-03-26, 2025-06-18처럼 날짜 기반 식별자로 관리한다.

2026 H1 로드맵에는 서버 자동 검색과 세션 핸들링을 개선하는 Stateless HTTP 지원, 원격 서버 인증을 위한 OAuth 2.1 + PKCE, 감사 로그·SSO·게이트웨이 패턴을 포함한 Enterprise Readiness가 담겼다. Tasks에는 retry semantics와 expiry policies가 추가될 예정이다.

H2 2026에는 .well-known URL에서 서버 메타데이터를 찾는 MCP Server Cards, Google A2A 프로토콜과의 조율 체계, 공식 레지스트리가 이어진다. MCP Registry는 Q4 2026 출시를 목표로 하며 보안 감사, 사용 통계, SLA를 포함한 큐레이션 정보를 제공한다.

VS Code 프로젝트에 MCP 서버 연결하기

VS Code Copilot에는 MCP 클라이언트가 내장돼 있다. 프로젝트 범위의 서버 연결은 .vscode/mcp.json에서 선언한다. 로컬 서버는 STDIO로 실행하고, 원격 서버는 URL과 인증 헤더를 지정할 수 있다.

{
  "servers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"],
      "type": "stdio"
    },
    "postgres": {
      "url": "https://mcp.company.internal/postgres",
      "type": "http",
      "headers": {
        "Authorization": "Bearer ${env:MCP_TOKEN}"
      }
    }
  }
}

GitHub Copilot의 Agent mode는 MCP auto-approve를 지원하는 Agent hooks 프리뷰 단계에 들어갔다. 커스텀 에이전트, 서브 에이전트, 플랜 에이전트는 GA(General Availability) 상태다.

JetBrains에서는 조직 정책까지 함께 다룬다

JetBrains AI Assistant 역시 IntelliJ IDEA, PyCharm, WebStorm을 비롯한 9개 이상 IDE와 Android Studio에서 MCP를 지원한다. 사용자는 설정 화면에서 서버를 등록하고, Enterprise 플랜에서는 관리자가 조직 전체의 MCP 정책을 중앙에서 관리할 수 있다.

설정 경로: Settings → Tools → AI Assistant → MCP Servers
Enterprise: 관리자 콘솔에서 허용 서버 목록 중앙 관리
지원 전송: STDIO (로컬 서버), HTTP (원격 서버)

조직 관리자는 사내 MCP 서버 URL 화이트리스트와 인증 토큰 주입, 도구 실행 승인 정책을 통제할 수 있다. 개발자별 설정에만 의존하지 않고 IDE 연결 단계에서 보안 컴플라이언스를 적용하는 방식이다.

사내 시스템 앞에는 MCP 게이트웨이를 둔다

Jira, Confluence, 내부 데이터베이스, CI/CD 파이프라인을 각각 MCP 서버로 감싸면 에이전트가 공통 JSON-RPC 인터페이스로 접근할 수 있다. 다만 내부 서버를 에이전트에 직접 노출하면 인증과 감사 정책이 서버마다 흩어진다.

MCP Gateway 패턴은 이 통제 지점을 하나로 모은다.

OAuth 2.1 Token검증된 요청검증된 요청검증된 요청검증된 요청Jira REST APIConfluence APISQL/ORMPipeline APIIDE / AI Agent HostMCP Gateway (Auth Proxy)MCP Server: JiraMCP Server: ConfluenceMCP Server: Internal DBMCP Server: CI/CD PipelineJira CloudConfluenceInternal DBJenkins/ArgoCD

게이트웨이는 토큰 검증과 요청 라우팅, 감사 로그 기록을 담당한다. 뒤쪽의 서버들은 각 시스템 API를 MCP 프리미티브로 추상화한다. Prefect, Kubiya를 포함한 9개 이상의 엔터프라이즈 MCP 배포 플랫폼이 이 패턴을 지원한다.

원격 연결의 인증과 권한 경계

2026 H1 로드맵에서는 OAuth 2.1 + PKCE가 원격 MCP 서버의 표준 인증 방식으로 공식 사양에 편입된다. 보안 통제는 전송 구간, 사용자와 에이전트의 인증, 도구별 권한, 호출 추적을 함께 다뤄야 한다.

통제 계층 적용 방식 운영 기준
전송 암호화 TLS 1.3 (HTTPS) 원격 서버 필수
인증 OAuth 2.1 + PKCE H1 2026 사양 표준화
권한 스코프 Tool-level permission scoping 최소 권한 원칙
감사 로그 Audit Trails (H1 2026) 도구 호출 이력 기록
SSO 통합 SAML/OIDC 연동 엔터프라이즈 플랜
서버 검증 .well-known/mcp-card (H2 2026) 서버 신원 메타데이터

로컬 STDIO 서버에서는 프로세스 격리가 기본 보안 경계가 된다. 원격 HTTP 서버에는 토큰 기반 인증과 TLS를 적용해야 한다. 전체 MCP 서버 중 “high trust” 기준인 70점 이상을 충족하는 비율은 12.9%이므로, 엔터프라이즈 환경에서는 승인된 서버만 연결하는 화이트리스트 관리가 필요하다.

여러 에이전트가 같은 서버를 사용할 때

멀티에이전트 구조에서는 여러 에이전트가 같은 Resources와 Tools를 공유한다. 이때 도구 목록을 함께 쓰는 문제와 실행 컨텍스트를 섞지 않는 문제를 구분해야 한다. 각 에이전트는 독립된 세션을 사용하고, 공유가 필요한 Resources만 공통 서버에서 참조하는 방식이다.

Session ID: sess-001Session ID: sess-002Session ID: sess-003Orchestrator AgentSub-Agent A (코드 생성)Sub-Agent B (테스트 실행)Sub-Agent C (문서 작성)MCP Server (Shared)Resources: 코드베이스Tools: git, test-runner,doc-gen 서브에이전트는 독립세션으로컨텍스트를 격리하되Resources는 공유

Streamable HTTP는 여러 클라이언트 연결을 지원하므로 복수의 에이전트 세션이 단일 MCP 서버에 동시에 접속할 수 있다. MCP가 에이전트와 도구·데이터 소스 사이를 맡는다면, A2A(Agent-to-Agent)는 에이전트 간 태스크 위임과 상태 공유를 담당한다.

Function Calling과 프레임워크 인터페이스의 경계

MCP, OpenAI Function Calling, LangChain Tool Interface는 모두 모델에 외부 기능을 연결하지만 표준화 범위가 다르다.

비교 항목 MCP OpenAI Function Calling LangChain Tool Interface
표준 주체 AAIF / Linux Foundation OpenAI LangChain (커뮤니티)
메시지 포맷 JSON-RPC 2.0 REST API (Chat Completions) Python 클래스 인터페이스
전송 방식 STDIO / Streamable HTTP HTTPS REST 라이브러리 내장 (추상화)
벤더 중립성 높음 (멀티벤더 거버넌스) 낮음 (OpenAI 종속) 중간 (프레임워크 종속)
서버 생태계 13,000개+ 서버 없음 (모델 종속) 300개+ 통합
동적 툴 탐색 지원 (tools/list) 미지원 (정적 정의 필요) 제한적 지원
스트리밍 SSE / Streamable HTTP SSE (streaming mode) 미지원 (기본)
엔터프라이즈 거버넌스 AAIF 표준, OAuth 2.1 없음 없음
멀티에이전트 지원 설계 지원 (A2A 연계) 제한적 LangGraph 별도 필요
IDE 네이티브 지원 VS Code, JetBrains, Xcode ChatGPT Plugin (제한) 없음

OpenAI Function Calling은 Chat Completions API의 tools 파라미터에 함수 스키마를 정적으로 넣는 구조다. 모델이 함수 호출 여부를 결정하는 방식은 단순하지만 별도의 서버 생태계가 없고 OpenAI 모델에 종속된다.

LangChain Tool Interface는 외부 서비스를 Python 클래스로 감싸는 프레임워크 내부 추상화다. 표준 통신 프로토콜은 아니며, LangChain도 MCP 클라이언트를 지원하는 방향으로 전환 중이다.

MCP는 통신 프로토콜 자체를 분리해 정의한다. tools/list 기반 동적 탐색, 다중 클라이언트 연결, 멀티벤더 거버넌스를 제공한다는 점이 두 인터페이스와의 차이다.

MCP와 A2A를 어느 계층에 놓을 것인가

두 프로토콜은 같은 문제를 두고 경쟁하지 않는다. MCP는 에이전트가 도구와 데이터에 접근하는 인터페이스이고, A2A는 에이전트끼리 업무와 상태를 교환하는 통신 규격이다.

구분 MCP A2A (Google)
목적 에이전트 ↔ 툴/데이터 연결 에이전트 ↔ 에이전트 통신
출시 2024년 11월 (Anthropic) 2025년 4월 (Google Cloud)
채택 규모 97M 다운로드 엔터프라이즈 파트너 50개+
거버넌스 AAIF (Linux Foundation) AAIF (Linux Foundation)
포지셔닝 단일 에이전트 + 툴 표준 다중 에이전트 오케스트레이션
권장 전략 에이전트 + MCP 툴로 시작 에이전트 자율성이 필요할 때 추가

단일 에이전트가 외부 시스템을 호출하는 구조라면 MCP로 시작할 수 있다. 전문화된 에이전트가 서로 태스크를 위임해야 할 때 A2A 계층을 더하는 방식이 2026년 권장되는 레이어드 아키텍처다.

에이전트 아키텍처에서 MCP가 차지하는 자리

에이전트 시스템을 인식, 추론, 행동, 통합 계층으로 나누면 MCP는 행동 계층과 통합 계층 사이에 놓인다. 모델이 결정한 행동을 외부 도구 호출로 변환하고, 서로 다른 AI 플랫폼이 같은 도구 정의를 재사용할 수 있게 한다.

AI 에이전트 아키텍처 계층(1) 인식 계층 (Perception)(2) 추론 계층 (Reasoning)(3) 행동 계층 (Action)(4) 통합 계층 (Integration)RAG / 벡터 DB컨텍스트 주입LLM 추론 엔진(Claude, GPT, Gemini)MCP Tools 실행Function CallingMCP 프로토콜 표준JSON-RPC 2.0A2A 에이전트간 통신오케스트레이션OKF 지식 컨텍스트표준화

JSON-RPC 2.0 기반 인터페이스는 이기종 AI 플랫폼 사이의 도구 재사용성을 제공한다. tools/list를 이용하면 에이전트가 런타임에 새 도구를 발견할 수 있고, AAIF 거버넌스는 특정 벤더에 종속될 위험을 낮춘다. 보안 측면에서는 OAuth 2.1 + PKCE, 감사 로그, 최소 권한 스코프가 제로 트러스트 구조를 뒷받침한다. OKF(Open Knowledge Framework)는 Resources 프리미티브를 통해 구조화된 지식 컨텍스트를 노출하는 접점이 된다.

채택 규모보다 서버 신뢰도가 중요해진다

2026년 MCP 로드맵의 중심에는 엔터프라이즈 운영 요건이 있다. OAuth 2.1 + PKCE, 감사 로그, SSO 통합, MCP Server Cards가 인증과 컴플라이언스 기반을 구성한다.

서버 생태계에서는 Q4 2026 공식 큐레이션 레지스트리가 보안 감사, 사용 통계, SLA를 제공할 예정이다. 현재 12.9%인 high trust 서버 비율을 높이기 위한 검증 체계도 이 흐름에 포함된다.

프로토콜의 적용 범위는 A2A와의 역할 분리를 바탕으로 멀티에이전트 시스템까지 넓어진다. MCP는 에이전트-툴 연결을, A2A는 에이전트-에이전트 협업을 맡고 두 프로토콜은 AAIF 거버넌스 아래 공존한다.

엔터프라이즈 채택도 Bloomberg의 금융, Cloudflare의 엣지 컴퓨팅, Block·BitGo·CoinGecko의 블록체인 영역으로 확산되고 있다. Apple Xcode 26 지원은 MCP의 범위를 모바일과 Apple Silicon 생태계까지 넓힌다. 2024년 11월 출시 이후 16개월 만에 형성된 97M 다운로드와 13,000개+ 서버 생태계는 이제 연결 수보다 인증, 권한, 신뢰도 관리가 더 중요한 단계에 들어섰음을 보여준다.

Sources

MCPAI 에이전트IDE 통합엔터프라이즈 보안AAIF