Skip to content

03 MCP 소개와 설정 메뉴

**MCP(Model Context Protocol)**는 인공지능(AI) 모델이 로컬 파일, 사내 데이터베이스, 외부 API 등 다양한 데이터 원천(Data Source)에 안전하고 규격화된 방식으로 접근할 수 있도록 만들어진 오픈 소스 연결 표준입니다.

  • 핵심 비유: 스마트폰이나 노트북의 제조사가 달라도 ‘USB-C’ 케이블 하나면 충전과 데이터 전송이 모두 가능하듯, MCP는 **‘AI 시대를 위한 범용 데이터 연결 표준 규격’**입니다.

2. MCP가 AI에게 제공하는 3가지 핵심 기능 (Primitives)

Section titled “2. MCP가 AI에게 제공하는 3가지 핵심 기능 (Primitives)”

MCP 서버는 AI 에이전트에게 단순히 데이터만 던져주는 것이 아니라, 다음과 같은 3가지 형태의 자원을 체계적으로 제공합니다.

  1. Resources (자원 - 읽기 전용): AI가 읽을 수 있는 정적인 데이터입니다. (예: 시스템 로그 파일, API 응답 데이터, 사내 위키 문서 등)

  2. Tools (도구 - 실행 가능): AI가 직접 실행할 수 있는 함수나 액션입니다. (예: 데이터베이스 상품 검색 실행, 이메일 발송, 날씨 API 호출 등)

  3. Prompts (프롬프트 템플릿): 사용자가 자주 쓰는 질문이나 지시사항을 사전에 양식화해 둔 템플릿입니다.


3. [심화 이해] 눈으로 보는 MCP 통신 프로토콜 상세 (도구 탐색부터 실행까지)

Section titled “3. [심화 이해] 눈으로 보는 MCP 통신 프로토콜 상세 (도구 탐색부터 실행까지)”

실제 환경에서 AI 에이전트와 데이터베이스(MCP 서버)가 어떻게 대화를 나누는지, ‘쇼핑몰의 일반 상품 검색 및 상세 조회’ 상황을 예로 들어 통신 규격(JSON-RPC)을 확인해 보겠습니다.

가장 중요한 것은 AI가 다짜고짜 데이터를 요구하는 것이 아니라, 1) 제공되는 도구 목록을 묻고 ➔ 2) 키워드로 전체 상품 목록을 검색한 뒤 ➔ 3) 특정 상품의 상세 데이터를 요청하는 논리적인 3단계 흐름을 거친다는 점입니다.

🔄 Phase 1: 도구 탐색 (어떤 기능을 쓸 수 있니?)

Section titled “🔄 Phase 1: 도구 탐색 (어떤 기능을 쓸 수 있니?)”

AI가 본격적인 작업을 시작하기 전, MCP 서버에게 “내가 쓸 수 있는 도구(Tools) 목록과 사용법을 알려줘”라고 먼저 요청합니다.

📥 AI의 도구 목록 요청 (Request)

JSON

{
"jsonrpc": "2.0",
"id": "req_01",
"method": "tools/list"
}

📤 MCP 서버의 응답 (Response)

서버는 현재 AI가 사용할 수 있는 도구의 이름, 설명, 그리고 필요한 입력값(Schema) 규칙을 친절하게 알려줍니다.

JSON

{
"jsonrpc": "2.0",
"id": "req_01",
"result": {
"tools": [
{
"name": "search_products_by_keyword",
"description": "사용자가 입력한 키워드를 바탕으로 상품 목록을 검색합니다.",
"inputSchema": {
"type": "object",
"properties": {
"keyword": { "type": "string" },
"limit": { "type": "number" }
}
}
},
{
"name": "get_product_details",
"description": "특정 상품 ID로 가격과 재고 등 상세 정보를 조회합니다.",
"inputSchema": { ... }
}
]
}
}

💡 강의 포인트: 이 단계를 통해 AI는 내부 데이터베이스의 복잡한 구조를 전혀 몰라도, 서버가 제공한 ‘설명서’만 읽고 어떤 검색 기능을 쓸지 스스로 판단할 수 있게 됩니다.

🔄 Phase 2: 도구 실행 (키워드로 목록 검색)

Section titled “🔄 Phase 2: 도구 실행 (키워드로 목록 검색)”

설명서를 읽은 AI는 방금 확인한 search_products_by_keyword 도구를 사용해 ‘무선 헤드폰’을 검색해 달라고 요청합니다.

📥 AI의 검색 실행 요청 (Request)

JSON

{
"jsonrpc": "2.0",
"id": "req_02",
"method": "tools/call",
"params": {
"name": "search_products_by_keyword",
"arguments": {
"keyword": "무선 헤드폰",
"limit": 3
}
}
}

📤 MCP 서버의 응답 (Response)

데이터베이스에서 키워드와 일치하는 상품들의 기본 정보(ID와 이름)만 가볍게 뽑아서 돌려줍니다.

JSON

{
"jsonrpc": "2.0",
"id": "req_02",
"result": {
"content": [
{
"type": "text",
"text": "[{\"id\": \"P102\", \"name\": \"노이즈 캔슬링 무선 헤드폰\"}, {\"id\": \"P105\", \"name\": \"가성비 무선 헤드폰\"}]"
}
]
}
}

🔄 Phase 3: 도구 실행 (선택한 상품의 상세 정보 조회)

Section titled “🔄 Phase 3: 도구 실행 (선택한 상품의 상세 정보 조회)”

검색 결과를 확인한 AI는 화면에 가장 먼저 띄울 첫 번째 상품(P102)의 상세 정보를 얻기 위해, 앞서 확인했던 두 번째 도구(get_product_details)를 실행합니다.

📥 AI의 상세 정보 요청 (Request)

JSON

{
"jsonrpc": "2.0",
"id": "req_03",
"method": "tools/call",
"params": {
"name": "get_product_details",
"arguments": {
"product_id": "P102"
}
}
}

📤 MCP 서버의 최종 응답 (Response)

이제 AI는 가격, 재고, 주요 기능 등 화면을 그리는 데 필요한 완벽한 실시간 데이터를 얻게 됩니다.

JSON

{
"jsonrpc": "2.0",
"id": "req_03",
"result": {
"content": [
{
"type": "text",
"text": "{\"id\": \"P102\", \"price\": 290000, \"stock\": 14, \"features\": [\"액티브 노이즈 캔슬링\", \"블루투스 5.3\"]}"
}
]
}
}
  1. 강력한 보안 통제 (Security): AI에게 데이터베이스를 마음대로 뒤질 수 있는 권한을 주지 않습니다. AI는 오직 사전에 서버가 tools/list로 허락한 검색 도구만 사용할 수 있어 데이터 유출을 원천 차단합니다.

  2. 무한한 확장성 (Scalability): 백엔드에 MCP 표준 서버만 한 번 구축해 두면, 향후 구글, 오픈AI 등 어떤 회사의 뛰어난 AI 모델을 가져오더라도 코드 수정 없이 즉시 연결하여 사용할 수 있습니다.

  3. 실시간 컨텍스트 (Real-time Context): AI가 인터넷에 떠도는 과거의 정보가 아닌, 항상 우리 회사의 최신 상태(현재 재고, 오늘 변경된 가격 등)를 직접 조회하여 사용자에게 정확한 답변이나 서비스를 제공합니다.


  • MCP는 오른쪽 상단에 Agent에 … 을 클릭하면 “MCP Servers”가 나타납니다. 해당 메뉴를 클릭합니다.
  • 해당 메뉴는 여러 MCP를 찾아서 설정할 수 있는 메뉴입니다.(기본 제공)