🧠 AI μžλ™ν™”/MCP

Claude MCP - AIλ₯Ό μ™ΈλΆ€ 세계와 μ—°κ²°ν•˜λŠ” μƒˆλ‘œμš΄ ν‘œμ€€

Vento AI Lab 2026. 5. 11.
λ°˜μ‘ν˜•

 

​

μ˜€λŠ˜λ‚ μ˜ 인곡지λŠ₯은 더 이상 단일 λͺ¨λΈμ˜ μ„±λŠ₯만으둜 ν‰κ°€λ˜μ§€ μ•ŠλŠ”λ‹€. 외뢀에 μœ„μΉ˜ν•œ μ‹œμŠ€ν…œκ³Ό 데이터λ₯Ό μ–Όλ§ˆλ‚˜ 잘 ν†΅ν•©ν•˜κ³ , λ‹€μ–‘ν•œ 도ꡬ와 유기적으둜 μž‘λ™ν•  수 μžˆλŠ”μ§€κ°€ AI의 μ‹€μ§ˆμ  μ—­λŸ‰μ„ μ’Œμš°ν•œλ‹€. μ΄λŸ¬ν•œ λ§₯λ½μ—μ„œ λ“±μž₯ν•œ 것이 λ°”λ‘œ Model Context Protocol(μ΄ν•˜ MCP)이닀. AI의 μ™ΈλΆ€ 세계와 μ—°κ²°ν•˜λŠ” μƒˆλ‘œμš΄ ν‘œμ€€μΈ MCP의 κ°œλ…κ³Ό ꡬ쑰와 톡신 방식 등을 μ‚΄νŽ΄λ³΄μž.

​

​

1. MCP λ“±μž₯λ°°κ²½

LLM의 κ°–κ³  μžˆλŠ” μ—¬λŸ¬ κ°€μ§€ ν•œκ³„λ₯Ό λ³΄μ™„ν•˜κΈ° μœ„ν•΄ λ‹€μ–‘ν•œ κΈ°μˆ λ“€μ΄ λ“±μž₯ν–ˆλ‹€. νŒŒμΈνŠœλ‹(Fine-Tuning), ν”„λ‘¬ν”„νŒ…(Prompting), RAG(Retrieval-Argumented Generation, 검색-증강 생성) λ“±μ˜ 기술둜 λͺ‡ κ°€μ§€ ν•œκ³„λ₯Ό λ³΄μ™„ν•˜μ˜€μ§€λ§Œ, μ‹€μ œ 무언가λ₯Ό ν–‰λ™ν•˜κ±°λ‚˜ μˆ˜ν–‰ν•  수 μžˆλŠ” λŠ₯λ ₯은 μ—†μ—ˆλ‹€. 그런 이유둜 2023λ…„ μ€‘λ°˜λΆ€ν„° OpenAi의 Function Calling, Anthropic의 Tool Use, Langchain의 Tool Callingμ΄λΌλŠ” κΈ°λŠ₯을 λ„μž…ν•˜μ—¬ LLM이 μ™ΈλΆ€ 세계와 연동할 수 μžˆλŠ” λ°©μ•ˆμ„ λ§ˆλ ¨ν–ˆλ‹€.

​

참고둜 OpenAI의 Function Calling은 GPT λͺ¨λΈμ΄ 사전에 μ •μ˜λœ ν•¨μˆ˜μ˜ 인자λ₯Ό μ˜ˆμΈ‘ν•˜κ³  λ°˜ν™˜ν•˜λŠ” λ°©μ‹μœΌλ‘œ μ™ΈλΆ€ κΈ°λŠ₯을 μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•˜λŠ” λ©”μ»€λ‹ˆμ¦˜μ΄λ‹€. Anthropic의 Claude λͺ¨λΈμ΄ μ‚¬μš©ν•˜λŠ” Tool UseλŠ” LLM이 μƒν˜Έμž‘μš© κ°€λŠ₯ν•œ μ™ΈλΆ€ λ„κ΅¬μ˜ μ‚¬μš©μ„ 슀슀둜 κ²°μ •ν•˜κ³  μš”μ²­ν•˜λŠ” κΈ°λŠ₯이닀. LangChain은 λ‹€μ–‘ν•œ LLM(OpenAI, Anthropic λ“±)에 도ꡬ 호좜 κΈ°λŠ₯을 ν†΅ν•©μ μœΌλ‘œ μ—°κ²°·μ œμ–΄ν•  수 μžˆλ„λ‘ μ„€κ³„λœ μ˜€ν”ˆμ†ŒμŠ€ ν”„λ ˆμž„μ›Œν¬μ΄λ‹€.

​

LLM을 ν•΅μ‹¬μœΌλ‘œ ν•˜μ—¬ μ‚¬μš©μžμ˜ μš”μ²­μ„ μ΄ν•΄ν•˜κ³ , κ·Έ μš”μ²­μ— ν•΄λ‹Ήν•˜λŠ” κΈ°λŠ₯을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ λ³„λ„λ‘œ AI Agentλ₯Ό κ΅¬ν˜„ν•˜μ˜€λ‹€. AI Agentλ₯Ό ν™œμš©ν•˜λ©΄ μ‚¬μš©μžμ˜ ν•œ 번의 μš”μ²­μœΌλ‘œ μ—¬λŸ¬ λ‹¨κ³„μ˜ μž‘μ—…λ„ 유기적으둜 μˆ˜ν–‰ν•  수 μžˆλ‹€. κ·ΈλŸ¬λ‚˜ ν‘œμ€€ν™”κ°€ 이루어지지 μ•Šμ•„ κ°œλ°œμžλ“€μ—κ²Œ μƒλ‹Ήν•œ 뢀담을 μ£Όκ³  μžˆμ—ˆλ‹€.

​

​

2. MCPλž€ 무엇인가?

2024λ…„ 11μ›”, Anthropic은 MCPλΌλŠ” ν‘œμ€€ν™”λœ ν”„λ‘œν† μ½œμ„ λ°œν‘œν–ˆλ‹€. Anthropic은 MCPλ₯Ό μ˜€ν”ˆμ†ŒμŠ€λ‘œ κ³΅κ°œν•˜λ©° 이λ₯Ό “AI μ–΄μ‹œμŠ€ν„΄νŠΈλ₯Ό 데이터가 μ‘΄μž¬ν•˜λŠ” μ™ΈλΆ€ 세계에 μ—°κ²°ν•˜λŠ” μƒˆλ‘œμš΄ ν‘œμ€€”이라고 μ†Œκ°œν•˜μ˜€λ‹€. λ“œλ””μ–΄ ν‘œμ€€ν™”λœ λ°©μ‹μœΌλ‘œ AI와 μ™ΈλΆ€ 세계 κ°„μ˜ μƒν˜Έ μž‘μš©ν•˜κΈ° μœ„ν•œ 방법이 λ§ˆλ ¨λ˜μ–΄ AI Agent κ°œλ°œμžλŠ” κ΅¬ν˜„ν•˜λŠ” κΈ°λŠ₯μ—λ§Œ 집쀑할 수 있게 λ˜μ—ˆλ‹€.

​

MCPλŠ” λŒ€ν˜• μ–Έμ–΄ λͺ¨λΈ(LLM) 기반의 AI μ‹œμŠ€ν…œμ΄ μ™ΈλΆ€ 데이터 μ†ŒμŠ€μ™€ 도ꡬ에 μΌκ΄€λœ λ°©μ‹μœΌλ‘œ 연결될 수 μžˆλ„λ‘ μ„€κ³„λœ κ°œλ°©ν˜• ν‘œμ€€ ν”„λ‘œν† μ½œμ΄λ‹€. μ‰½κ²Œ 말해, USB-C처럼 μ–΄λ–€ λͺ¨λΈμ΄λ“  λ‹€μ–‘ν•œ μ‹œμŠ€ν…œκ³Ό 톡신할 수 μžˆλ„λ‘ λ§Œλ“€μ–΄μ£ΌλŠ” μΈν„°νŽ˜μ΄μŠ€ 역할을 μˆ˜ν–‰ν•œλ‹€. MCPλΌλŠ” κ°œλ°©ν˜• ν‘œμ€€μœΌλ‘œ AI μƒνƒœκ³„μ˜ μƒν˜Έμš΄μš©μ„±μ„ 높이고, AIκ°€ μ™ΈλΆ€ 지식과 도ꡬλ₯Ό μ•ˆμ „ν•˜κ²Œ ν™œμš©ν•  수 μžˆλŠ” 길을 μ—΄μ—ˆλ‹€. MCPλ₯Ό 톡해 AI λͺ¨λΈμ€ μ‹€μ‹œκ°„ λ‰΄μŠ€ API, 사내 λ¬Έμ„œ μ €μž₯μ†Œ, λ‚΄λΆ€ λ°μ΄ν„°λ² μ΄μŠ€ λ“± λ‹€μ–‘ν•œ μ‹€μ‹œκ°„ μ†ŒμŠ€μ— 직접 μ—°κ²°ν•  수 μžˆλ‹€.

​

MCPλŠ” AIκ°€ μ΅œμ‹  정보에 μ ‘κ·Όν•˜κ³  μ™ΈλΆ€ 도ꡬλ₯Ό μ•ˆμ „ν•˜κ²Œ ν™œμš©ν•¨μœΌλ‘œμ¨ ν™˜κ°(hallucination) 문제λ₯Ό μ™„ν™”ν•˜κ³  응닡 ν’ˆμ§ˆμ„ ν–₯μƒμ‹œν‚€λŠ” 역할을 μˆ˜ν–‰ν•œλ‹€. 이λ₯Ό 톡해 AI λͺ¨λΈμ΄ μ„œλ‘œ λ‹€λ₯Έ λ°μ΄ν„°λ² μ΄μŠ€, 파일 μ‹œμŠ€ν…œ, 업무 도ꡬ 등에 μΌκ΄€λœ λ°©λ²•μœΌλ‘œ 접속할 수 있게 ν•΄μ€€λ‹€. 이λ₯Ό 톡해 ν–₯μƒλœ μ„±λŠ₯의 AI μ—μ΄μ „νŠΈ, 더 ν’λΆ€ν•œ λ§₯락을 κ°€μ§„ 응닡, 그리고 λ‹€μ–‘ν•œ μ‘μš© λΆ„μ•Όμ—μ„œ ν™•μž₯μ„± μžˆλŠ” ν™œμš©μ΄ κ°€λŠ₯ν•΄μ‘Œλ‹€.

 

MCPλŠ” AI μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μœ„ν•œ USB-C ν¬νŠΈμ™€ κ°™λ‹€.

 

​

3. MCP κ΅¬μ„±μš”μ†Œ

MCP은 λŒ€ν˜• μ–Έμ–΄ λͺ¨λΈ(LLM)κ³Ό μ™ΈλΆ€ 세계λ₯Ό μ•ˆμ •μ μ΄κ³  μœ μ—°ν•˜κ²Œ μ—°κ²°ν•  수 μžˆλ„λ‘ μ •κ΅ν•˜κ²Œ μ„€κ³„λœ ν΄λΌμ΄μ–ΈνŠΈ-μ„œλ²„ μ•„ν‚€ν…μ²˜ 기반 μ‹œμŠ€ν…œμ΄λ‹€. 여기에 ‘호슀트(Host)’λΌλŠ” 쀑심 κ°œλ…μ΄ μΆ”κ°€λ˜λ©΄μ„œ, MCPλŠ” λ›°μ–΄λ‚œ ν™•μž₯μ„±κ³Ό 높은 λ³΄μ•ˆμ„±μ„ λ™μ‹œμ— 확보할 수 있게 λ˜μ—ˆλ‹€.

​

MCP의 전체 κ΅¬μ‘°λŠ” MCP 호슀트(Host), MCP ν΄λΌμ΄μ–ΈνŠΈ(Client), MCP μ„œλ²„(Server)λΌλŠ” μ„Έ κ°€μ§€ 핡심 μš”μ†Œλ‘œ κ΅¬μ„±λ˜λ©°, 이듀 κ°„μ˜ λΆ„λͺ…ν•œ μ—­ν•  λΆ„λ‹΄κ³Ό 격리 κ΅¬μ‘°λŠ” λ³΅μž‘ν•œ 톡합 ν™˜κ²½μ—μ„œλ„ μ‹ λ’°μ„± μžˆλŠ” μš΄μ˜μ„ κ°€λŠ₯ν•˜κ²Œ ν•œλ‹€.

​

1) MCP Host: AI의 쀑심 μ œμ–΄ ν—ˆλΈŒ

MCP 호슀트(Host)λŠ” MCP μ•„ν‚€ν…μ²˜μ—μ„œ μ‚¬μš©μžμ™€ 직접 μƒν˜Έμž‘μš©ν•˜λŠ” μ£Ό μ• ν”Œλ¦¬μΌ€μ΄μ…˜μœΌλ‘œ, 전체 MCP ν†΅μ‹ μ˜ 쀑심이 λ˜λŠ” 역할을 μˆ˜ν–‰ν•œλ‹€. Claude Desktopμ΄λ‚˜ AI 기반 도ꡬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜, IDE의 AI ν”ŒλŸ¬κ·ΈμΈκ³Ό 같은 μΈν„°νŽ˜μ΄μŠ€κ°€ λŒ€ν‘œμ μΈ ν˜ΈμŠ€νŠΈμ— ν•΄λ‹Ήν•œλ‹€.

​

ν˜ΈμŠ€νŠΈλŠ” λ‹¨μˆœν•œ UI μ΄μƒμ˜ κΈ°λŠ₯을 μˆ˜ν–‰ν•œλ‹€. λ‚΄λΆ€μ μœΌλ‘œ λ‹€μˆ˜μ˜ MCP ν΄λΌμ΄μ–ΈνŠΈλ₯Ό μƒμ„±ν•˜κ³  이λ₯Ό κ΄€λ¦¬ν•˜λ©°, 각 ν΄λΌμ΄μ–ΈνŠΈκ°€ μ–΄λ–€ MCP μ„œλ²„μ— μ—°κ²°ν•  것인지, μ–΄λ–€ μž‘μ—…μ— λŒ€ν•΄ μ–΄λ–€ κΆŒν•œμ„ λΆ€μ—¬ν•  것인지λ₯Ό μ‘°μœ¨ν•˜λŠ” μ œμ–΄ 역할을 ν•œλ‹€. ν˜ΈμŠ€νŠΈκ°€ λ™μ‹œμ— μ—¬λŸ¬ MCP μ„œλ²„μ™€ 연결될 수 있으며, 각 연결에 λŒ€ν•΄ μ‚¬μš©μžμ˜ λͺ…μ‹œμ  승인, λ³΄μ•ˆ μ •μ±… 적용, AI λͺ¨λΈ 톡합 μ„€μ • 등을 λ…λ¦½μ μœΌλ‘œ κ΄€λ¦¬ν•¨μœΌλ‘œμ¨ 전체 μ‹œμŠ€ν…œμ˜ μ‹ λ’°μ„±κ³Ό ν†΅μ œλ ₯을 ν™•λ³΄ν•œλ‹€.

​

2) MCP Client: μ—°κ²°κ³Ό μ„Έμ…˜μ˜ κ΄€λ¦¬μž

MCP ν΄λΌμ΄μ–ΈνŠΈ(Client)λŠ” 호슀트 내뢀에 μ‘΄μž¬ν•˜λ©°, 각각 ν•˜λ‚˜μ˜ MCP μ„œλ²„μ™€ 1:1둜 μ—°κ²°λ˜λŠ” 역할을 μˆ˜ν–‰ν•˜λŠ” ꡬ성 μš”μ†Œμ΄λ‹€. ν˜ΈμŠ€νŠΈλŠ” ν•„μš”μ— 따라 νŠΉμ • μ„œλ²„μš© ν΄λΌμ΄μ–ΈνŠΈλ₯Ό μƒμ„±ν•˜κ³ , ν•΄λ‹Ή ν΄λΌμ΄μ–ΈνŠΈλŠ” μ„œλ²„μ™€μ˜ μƒνƒœ μœ μ§€(stateful) μ„Έμ…˜μ„ κ΄€λ¦¬ν•˜λ©°, ν”„λ‘œν† μ½œ 초기 ν˜‘μƒ, λ©”μ‹œμ§€ λΌμš°νŒ… λ“± MCP ν†΅μ‹ μ˜ 핡심을 λ‹΄λ‹Ήν•œλ‹€.

​

MCP ν΄λΌμ΄μ–ΈνŠΈμ˜ κ°€μž₯ μ€‘μš”ν•œ κΈ°λŠ₯ 쀑 ν•˜λ‚˜λŠ” μ„œλ²„ κ°„ 격리(isolation)λ₯Ό 보μž₯ν•˜λŠ” 것이닀. 예λ₯Ό λ“€μ–΄, μ‚¬μš©μžκ°€ 파일 μ‹œμŠ€ν…œ MCP μ„œλ²„μ™€ λ°μ΄ν„°λ² μ΄μŠ€ MCP μ„œλ²„λ₯Ό λ™μ‹œμ— μ‚¬μš©ν•  경우, 각 μ„œλ²„κ°€ λ‹€λ₯Έ μ„œλ²„μ˜ μ„Έμ…˜μ΄λ‚˜ μ‚¬μš©μžμ˜ λŒ€ν™” λ‚΄μš©μ„ μ°Έμ‘°ν•˜μ§€ λͺ»ν•˜λ„둝 ν΄λΌμ΄μ–ΈνŠΈ μˆ˜μ€€μ—μ„œ μ™„λ²½νžˆ λΆ„λ¦¬λœλ‹€. μ΄λŠ” λ³΄μ•ˆμ„±κ³Ό κ°œμΈμ •λ³΄ 보호 μΈ‘λ©΄μ—μ„œ 맀우 μ€‘μš”ν•œ 섀계 μš”μ†Œμ΄λ‹€.

​

3) MCP Server: μ™ΈλΆ€ κΈ°λŠ₯κ³Ό 데이터에 λŒ€ν•œ μΈν„°νŽ˜μ΄μŠ€

MCP μ„œλ²„(Server)λŠ” μ™ΈλΆ€ λ˜λŠ” λ‘œμ»¬μ— μœ„μΉ˜ν•˜λŠ” 독립 μ‹€ν–‰ ν”„λ‘œμ„ΈμŠ€λ‘œ, νŠΉμ • κΈ°λŠ₯μ΄λ‚˜ 데이터 접근을 λ‹΄λ‹Ήν•œλ‹€. 각 μ„œλ²„λŠ” ν•˜λ‚˜μ˜ μ±…μž„ μžˆλŠ” 도메인에 μ§‘μ€‘ν•˜μ—¬ μ„€κ³„λœλ‹€.

​

μ„œλ²„λŠ” MCP ν‘œμ€€μ— 따라 μžμ‹ μ΄ μ œκ³΅ν•˜λŠ” κΈ°λŠ₯을 λͺ…μ‹œμ μœΌλ‘œ μ„ μ–Έν•˜λ©°, 주둜 λ‹€μŒ μ„Έ κ°€μ§€ κΈ°λŠ₯을 μ€‘μ‹¬μœΌλ‘œ κ΅¬μ„±λœλ‹€.

  • Tools (도ꡬ 호좜): 검색 μ‹€ν–‰, 데이터 처리, API 호좜 λ“±μ˜ μ™ΈλΆ€ 행동을 λͺ¨λΈμ΄ μˆ˜ν–‰ν•  수 μžˆλ„λ‘ 지원
  • Resources (λ¦¬μ†ŒμŠ€/데이터): λ¬Έμ„œ, 파일, DB λ ˆμ½”λ“œ λ“± AIκ°€ μ°Έμ‘°ν•  수 μžˆλŠ” μ™ΈλΆ€ μ½˜ν…μΈ λ₯Ό 제곡
  • Prompts (ν”„λ‘¬ν”„νŠΈ ν…œν”Œλ¦Ώ): 사전에 μ •μ˜λœ ν…μŠ€νŠΈ ν…œν”Œλ¦Ώμ„ μ œκ³΅ν•˜μ—¬ μ›Œν¬ν”Œλ‘œμš° μžλ™ν™”λ₯Ό λ•λŠ” κΈ°λŠ₯

​

MCP μ„œλ²„λŠ” 이처럼 독립적인 λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ ν˜•νƒœλ‘œ λ™μž‘ν•˜λ©°, λ³΅μž‘ν•œ 둜직 μ²˜λ¦¬λ‚˜ AI μ œμ–΄λŠ” λͺ¨λ‘ 호슀트 μΈ‘μ—μ„œ 이루어진닀. 즉, μ„œλ²„λŠ” 단일 κΈ°λŠ₯을 μ±…μž„μ§€κ³ , κ·Έ μ™Έμ˜ λ³΅μž‘μ„±μ€ μ‹œμŠ€ν…œ 쀑심인 ν˜ΈμŠ€νŠΈκ°€ λ‹΄λ‹Ήν•¨μœΌλ‘œμ¨ 전체 μ•„ν‚€ν…μ²˜μ˜ μœ μ§€λ³΄μˆ˜μ„±κ³Ό ν™•μž₯성을 λ†’μ΄λŠ” ꡬ쑰λ₯Ό κ°–λŠ”λ‹€.​

​

4. JSON-RPC 톡신

MCPλŠ” 톡신 ν”„λ‘œν† μ½œλ‘œ JSON-RPC 2.0 ν‘œμ€€μ„ μ±„νƒν•˜κ³  μžˆλ‹€. JSON-RPCλŠ” μš”μ²­(Request)κ³Ό 응닡(Response), 였λ₯˜(Error), μ•Œλ¦Ό(Notification)을 JSON ν˜•μ‹μœΌλ‘œ μ£Όκ³ λ°›λŠ” κ²½λŸ‰ 톡신 κ·œμ•½μ΄λ‹€. 가볍고(stateless) λ‹¨μˆœν•œ ꡬ쑰λ₯Ό κ°–μΆ˜ 원격 ν”„λ‘œμ‹œμ € 호좜(Remote Procedure Call, RPC) λ°©μ‹μœΌλ‘œ λ³„λ„μ˜ μ„€μ • 없이도 κ΅¬μ‘°ν™”λœ λ©”μ‹œμ§€ κ΅ν™˜μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ λ°©μ‹μœΌλ‘œ 인해 MCP ν΄λΌμ΄μ–ΈνŠΈμ™€ MCP μ„œλ²„λŠ” λ™μΌν•œ λ©”μ‹œμ§€ ν˜•μ‹μœΌλ‘œ μƒν˜Έ κ°„μ˜ λͺ…ν™•ν•œ μ†Œν†΅μ΄ κ°€λŠ₯ν•˜λ©°, λ‹€μ–‘ν•œ 언어와 ν”Œλž«νΌ κ°„μ˜ ν˜Έν™˜μ„±λ„ λ›°μ–΄λ‚˜λ‹€.

​

1) 전솑 계측

MCP λ©”μ‹œμ§€λŠ” λ‹€μ–‘ν•œ 전솑 λ°©μ‹μœΌλ‘œ 주고받을 수 μžˆλ‹€. 둜컬 MCP μ„œλ²„μ˜ 경우 ν‘œμ€€ μž…μΆœλ ₯(STDIO) νŒŒμ΄ν”„λ₯Ό 톡해 JSON-RPC λ©”μ‹œμ§€λ₯Ό κ΅ν™˜ν•˜κ³ , 원격 MCP μ„œλ²„μ˜ 경우 HTTP(S) μ—°κ²°μ΄λ‚˜ Server-Sent Events (SSE) μŠ€νŠΈλ¦Όμ„ 톡해 ν†΅μ‹ ν•œλ‹€. 즉, λ™μΌν•œ JSON-RPC λ‚΄μš©μ„ TCP/IP μƒμ˜ HTTP둜 주고받을 μˆ˜λ„ 있고, 둜컬 ν”„λ‘œμ„ΈμŠ€ κ°„μ—λŠ” νŒŒμ΄ν”„λ‘œ 톡신할 μˆ˜λ„ 있게 μœ μ—°ν•˜κ²Œ μ„€κ³„λ˜μ–΄ μžˆλ‹€.

​

2) λ©”μ‹œμ§€ μœ ν˜•

MCPμ—μ„œ μ£Όκ³ λ°›λŠ” JSON λ©”μ‹œμ§€μ—λŠ” μš”μ²­, 응닡, μ•Œλ¦Ό μ„Έ κ°€μ§€ νƒ€μž…μ΄ μžˆλ‹€. 각 λ©”μ‹œμ§€ νƒ€μž…μ€ λ‹€μŒκ³Ό 같은 JSON ꡬ쑰λ₯Ό κ°€μ§„λ‹€.

​

a) μš”μ²­(Request)

μ–΄λ–€ λ™μž‘μ„ κ°œμ‹œν•  λ•Œ μ‚¬μš©λœλ‹€. method ν•„λ“œμ— μˆ˜ν–‰ν•  μž‘μ—… 이름을, params ν•„λ“œμ— ν•΄λ‹Ή μž‘μ—…μ— ν•„μš”ν•œ μΈμžλ“€μ„ λ‹΄λŠ”λ‹€. λͺ¨λ“  μš”μ²­μ—λŠ” κ³ μœ ν•œ idκ°€ λΆ€μ—¬λ˜μ–΄ 응닡과 λ§€μΉ­λœλ‹€.

​

b) 응닡(Response)

μš”μ²­μ— λŒ€ν•œ κ²°κ³Όλ₯Ό μ „λ‹¬ν•œλ‹€. id ν•„λ“œλ‘œ μ–΄λ–€ μš”μ²­μ— λŒ€ν•œ 응닡인지 ν‘œμ‹œν•˜λ©°, 성곡 μ‹œ result 객체에 κ²°κ³Ό 데이터λ₯Ό, μ‹€νŒ¨ μ‹œ error 객체에 였λ₯˜ μ½”λ“œλ₯Ό ν¬ν•¨ν•œ λ©”μ‹œμ§€λ₯Ό λ„£λŠ”λ‹€. μ‘λ‹΅μ—λŠ” result λ˜λŠ” error λ‘˜ 쀑 ν•˜λ‚˜λ§Œ μžˆμ–΄μ•Ό ν•˜λ©°, idλŠ” μš”μ²­μ˜ 것과 λ™μΌν•˜κ²Œ λ§žμΆ°μ•Ό ν•œλ‹€.

​

c) μ•Œλ¦Ό(Notification)

단방ν–₯ 톡지에 μ‚¬μš©λœλ‹€. μ˜ˆμ»¨λŒ€ μƒλŒ€μ—κ²Œ μ•Œλ €μ€„ μ΄λ²€νŠΈκ°€ μžˆμ„ λ•Œ 보내며, idκ°€ μ—†κ³  method와 params만 ν¬ν•¨ν•œλ‹€. μ•Œλ¦Όμ—λŠ” λŒ€μ‘ν•˜λŠ” 응닡이 μ˜€μ§€ μ•ŠμœΌλ©°, κ°€λ Ή μ„œλ²„μ—μ„œ “μƒˆ 데이터가 μ—…λ°μ΄νŠΈλ˜μ—ˆλ‹€”λŠ” 톡지λ₯Ό λ³΄λ‚΄λŠ” μš©λ„λ‘œ μ‚¬μš©ν•œλ‹€.

​

​

5. MCP 톡신방식

MCPλŠ” LLMκ³Ό μ™ΈλΆ€ 도ꡬλ₯Ό μ—°κ²°ν•˜λŠ” κ΅¬μ‘°ν™”λœ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•΄ κ³ μ•ˆλœ 톡신 ν”„λ‘œν† μ½œμ΄λ‹€. 이 ν”„λ‘œν† μ½œμ€ JSON-RPC λ©”μ‹œμ§€λ₯Ό 기반으둜 λ™μž‘ν•˜λŠ”λ°, ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ κ°„ λ©”μ‹œμ§€λ₯Ό μ£Όκ³ λ°›λŠ” ν˜•μ‹λ§Œμ„ ν‘œμ€€ν™”ν•˜κ³  μžˆμ„ 뿐, κ·Έ μ‹€μ œ 톡신 μžμ²΄λŠ” μ—¬λŸ¬ κ°€μ§€ 방식을 ν—ˆμš©ν•˜λŠ” μœ μ—°ν•œ ꡬ쑰λ₯Ό κ°–κ³  μžˆλ‹€.

​

MCPλŠ” 둜컬 톡신과 원격 ν†΅μ‹ μ΄λΌλŠ” 두 κ°€μ§€ μ£Όμš” μ‹œλ‚˜λ¦¬μ˜€λ₯Ό λͺ¨λ‘ 포괄할 수 μžˆλ„λ‘, λ‹€μŒκ³Ό 같은 두 κ°€μ§€ 톡신 방식을 μ •μ˜ν•˜κ³  μžˆλ‹€.

​

1) STDIO 방식: 둜컬 ν™˜κ²½μ— μ ν•©ν•œ κ°„λ‹¨ν•œ κ΅¬ν˜„

STDIO(Standard Input/Output) 방식은 MCP ν΄λΌμ΄μ–ΈνŠΈκ°€ MCP μ„œλ²„(λ˜λŠ” 툴)λ₯Ό λ™μΌν•œ μ‹œμŠ€ν…œ λ‚΄μ—μ„œ μžμ‹ ν”„λ‘œμ„ΈμŠ€λ‘œ μ‹€ν–‰ν•  λ•Œ μ‚¬μš©λœλ‹€. 이 경우 ν΄λΌμ΄μ–ΈνŠΈλŠ” MCP μš”μ²­μ„ ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€μ˜ ν‘œμ€€ μž…λ ₯(stdin)으둜 μ „λ‹¬ν•˜κ³ , μ„œλ²„λŠ” 응닡을 ν‘œμ€€ 좜λ ₯(stdout) 을 톡해 λ°˜ν™˜ν•œλ‹€.

​

λ„€νŠΈμ›Œν¬ μ„€μ • 없이도 μ‰½κ²Œ κ΅¬ν˜„ν•  수 μžˆμ–΄ 개발 μ΄ˆκΈ°λ‚˜ ν…ŒμŠ€νŠΈ ν™˜κ²½μ—μ„œ μœ μš©ν•˜κ³  동일 λ¨Έμ‹ μ—μ„œ λ™μž‘ν•˜κΈ° λ•Œλ¬Έμ— λ„€νŠΈμ›Œν¬ 지연이 μ—†μœΌλ©°, λΉ λ₯Έ μš”μ²­-응닡이 κ°€λŠ₯ν•˜λ‹€. ν•˜μ§€λ§Œ 단방ν–₯ μŠ€νŠΈλ¦¬λ°μ΄λ‚˜ λ„€νŠΈμ›Œν¬ 기반 원격 μ—°λ™μ—λŠ” μ ν•©ν•˜μ§€ μ•Šμ•„, κ³ λ„ν™”λœ μ‹œλ‚˜λ¦¬μ˜€μ—λŠ” ν•œκ³„κ°€ μžˆλ‹€. STDIOλŠ” 개발 쀑인 둜컬 νˆ΄μ„ MCP와 μ—°λ™ν•˜κ±°λ‚˜, LLM 기반 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ‘œμ»¬μ—μ„œ μ‹œλ²”μ μœΌλ‘œ ν…ŒμŠ€νŠΈν•  λ•Œ μœ μš©ν•˜κ²Œ ν™œμš©λœλ‹€.

​

2) SSE 방식: μ‹€μ‹œκ°„ μŠ€νŠΈλ¦¬λ°μ— μ΅œμ ν™”λœ 원격 톡신

SSE(Server-Sent Events)λŠ” HTTP 기반의 단방ν–₯ 슀트리밍 ν”„λ‘œν† μ½œλ‘œ, μ„œλ²„κ°€ ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μ§€μ†μ μœΌλ‘œ 데이터λ₯Ό ν‘Έμ‹œ ν•  수 μžˆλ„λ‘ ν•œλ‹€. ν΄λΌμ΄μ–ΈνŠΈλŠ” μ„œλ²„μ— ν•œ 번 μ—°κ²°ν•œ ν›„, λ³„λ„μ˜ μš”μ²­ 없이도 μ„œλ²„λ‘œλΆ€ν„° μ‹€μ‹œκ°„ 데이터λ₯Ό λ°›μ•„λ³Ό 수 μžˆλ‹€.

​

LLM이 툴의 μ‹€ν–‰ 상황을 μ‹€μ‹œκ°„μœΌλ‘œ λͺ¨λ‹ˆν„°λ§ν•˜κ±°λ‚˜, 쀑간 κ²°κ³Όλ₯Ό 순차적으둜 λ°›μ•„ 뢄석할 수 μžˆλ‹€. ν΄λΌμš°λ“œ 기반 데이터 뢄석 λ„κ΅¬λ‚˜ λ°±μ—”λ“œ μ„œλ²„μ™€ μ—°κ²°ν•  λ•Œ μœ μš©ν•˜λ‹€. WebSocketκ³Ό μœ μ‚¬ν•œ κΈ°λŠ₯을 μ œκ³΅ν•˜μ§€λ§Œ, HTTP ν‘œμ€€μ„ 기반으둜 ν•˜μ—¬ λΈŒλΌμš°μ € ν˜Έν™˜μ„±κ³Ό κ΅¬ν˜„μ˜ κ°„λ‹¨ν•¨μ—μ„œ 이점을 κ°€μ§„λ‹€.

[좜처]  https://medium.com/@piyushagni5/building-mcp-server-client-from-stdio-to-server-sent-events-sse-c47fb99dba3d
 

​

6. 단계별 ν”„λ‘œμ„ΈμŠ€

MCPλŠ” μ•„λž˜μ™€ 같은 단계별 ν”„λ‘œμ„ΈμŠ€λ‘œ 인해 ν™•μž₯μ„±, λ³΄μ•ˆμ„±, λͺ¨λ“ˆμ„±μ„ κ°–μΆ˜ μ»¨ν…μŠ€νŠΈ 톡합 ν”„λ ˆμž„μ›Œν¬λ‘œ κΈ°λŠ₯ν•  수 μžˆλ‹€. ν•„μš”μ— 따라 μƒˆλ‘œμš΄ μ„œλ²„λ₯Ό μœ μ—°ν•˜κ²Œ μΆ”κ°€ν•˜κ±°λ‚˜ μ œκ±°ν•  수 있으며, 데이터 접근도 κ°œλ³„μ μœΌλ‘œ ν†΅μ œν•  수 μžˆλ‹€.

​

1) μ‚¬μš©μž 쿼리 μž…λ ₯

μ‚¬μš©μžλŠ” Claude Desktopκ³Ό 같은 MCP 호슀트 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 톡해 AI Agentμ—κ²Œ μ§ˆλ¬Έμ΄λ‚˜ μš”μ²­μ„ μ œκΈ°ν•œλ‹€.

"였늘 일정을 μ•Œλ €μ£Όκ³  μ–΄μ œ μˆ˜μ‹ ν•œ 메일 λ‚΄μš©μ„ μ •λ¦¬ν•΄μ€˜"

​

2) AI의 μ»¨ν…μŠ€νŠΈ νŒλ‹¨

AI λͺ¨λΈμ€ ν˜„μž¬ μš”μ²­μ— λŒ€ν•΄ 슀슀둜 λ‹΅λ³€ν•  수 μžˆλŠ”μ§€, μ•„λ‹ˆλ©΄ μ™ΈλΆ€ 도ꡬ가 ν•„μš”ν•œμ§€λ₯Ό νŒλ‹¨ν•œλ‹€. 더 λ§Žμ€ 정보가 ν•„μš”ν•΄μ„œ μ™ΈλΆ€ 도ꡬ가 ν•„μš”ν•˜λ‹€κ³  νŒλ‹¨ν•˜λ©΄, MCP μ„œλ²„μ— μ‚¬μš©κ°€λŠ₯ν•œ ν•¨μˆ˜ λͺ©λ‘κ³Ό κ΄€λ ¨ 데이터λ₯Ό λ³΄μœ ν•˜κ³  μžˆλŠ”μ§€λ₯Ό μ‹λ³„ν•œλ‹€.

​

3) 호슀트의 MCP μ„œλ²„ 쿼리

호슀트 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ MCP ν΄λΌμ΄μ–ΈνŠΈλ₯Ό 톡해 ν•¨μˆ˜ λͺ©λ‘μ„ λΆ„μ„ν•˜μ—¬ μ μ ˆν•œ ν•¨μˆ˜λ₯Ό μ‹λ³„ν•˜κ³  ν•΄λ‹Ή μš”μ²­μ„ κ΄€λ ¨λœ MCP μ„œλ²„λ‘œ μ „λ‹¬ν•œλ‹€.

​

4) MCP μ„œλ²„μ˜ μš”μ²­ 처리

각 MCP μ„œλ²„λŠ” μžμ‹ μ΄ μ—°κ²°λœ 데이터 μ†ŒμŠ€μ— μ ‘κ·Όν•˜μ—¬ μš”μ²­μ„ μ²˜λ¦¬ν•œ ν›„, κ΄€λ ¨λœ 정보λ₯Ό μ‘λ‹΅μœΌλ‘œ μƒμ„±ν•œλ‹€.

​

5) 응닡 집계 및 전달

MCP ν΄λΌμ΄μ–ΈνŠΈλŠ” μ—¬λŸ¬ μ„œλ²„λ‘œλΆ€ν„° 받은 응닡을 μˆ˜μ§‘ν•˜κ³ , 이λ₯Ό μ •λ¦¬ν•˜μ—¬ AI λͺ¨λΈμ—κ²Œ μ „λ‹¬ν•œλ‹€.

​

6) μ΅œμ’… AI 응닡 생성

AIλŠ” MCP μ„œλ²„λ“€λ‘œλΆ€ν„° 얻은 λ§₯락 정보λ₯Ό λ°”νƒ•μœΌλ‘œ, μ‚¬μš©μžμ—κ²Œ λ”μš± μ •ν™•ν•˜κ³  ν’λΆ€ν•œ 응닡을 μƒμ„±ν•˜μ—¬ μ œκ³΅ν•œλ‹€.

​

λ°˜μ‘ν˜•

'🧠 AI μžλ™ν™” > MCP' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

MCP νŠœν† λ¦¬μ–Ό - Advanced MCP Tutorial  (0) 2026.07.19

λŒ“κΈ€