[κ°œλ…] λͺ¨λΈ μ»¨ν…μŠ€νŠΈ ν”„λ‘œν† μ½œ(MCP) μ™„μ „ 정볡

Posted by Euisuk's Dev Log on March 29, 2025

[κ°œλ…] λͺ¨λΈ μ»¨ν…μŠ€νŠΈ ν”„λ‘œν† μ½œ(MCP) μ™„μ „ 정볡

원본 κ²Œμ‹œκΈ€: https://velog.io/@euisuk-chung/MCP-μ™„μ „-μ •λ³΅ν•˜κΈ°

AI의 USB μ‹œλŒ€κ°€ μ‹œμž‘λœλ‹€

졜근 AI 개발 μƒνƒœκ³„μ—μ„œ β€œMCP(Model Context Protocol)β€λΌλŠ” ν‚€μ›Œλ“œκ°€ μ‹¬μƒμΉ˜ μ•Šμ€ μ£Όλͺ©μ„ λ°›κ³  μžˆμŠ΅λ‹ˆλ‹€. ChatGPT, Claude, Cursor λ“± λ‹€μ–‘ν•œ AI 에디터와 μ—μ΄μ „νŠΈ ν™˜κ²½μ΄ μƒκ²¨λ‚˜λŠ” κ°€μš΄λ°, LLM(Large Language Model)κ³Ό μ™ΈλΆ€ 도ꡬλ₯Ό μ—°κ²°ν•˜λŠ” β€œν‘œμ€€ μΈν„°νŽ˜μ΄μŠ€β€κ°€ ν•„μš”ν•˜λ‹€λŠ” 인식이 λ†’μ•„μ‘Œκ³ , κ·Έ ν•΄κ²°μ±…μœΌλ‘œ λ“±μž₯ν•œ 것이 λ°”λ‘œ MCPμž…λ‹ˆλ‹€.

MCPλŠ” λ‹¨μˆœν•œ 기술 μš”μ†Œλ₯Ό λ„˜μ–΄, AI 도ꡬ μƒνƒœκ³„λ₯Ό ν•˜λ‚˜μ˜ ν†΅ν•©λœ ν”Œλž«νΌμœΌλ‘œ ν™•μž₯μ‹œν‚€λŠ” κ°œλ…μž…λ‹ˆλ‹€. AIκ°€ λ‹¨μˆœνžˆ ν…μŠ€νŠΈ 생성에 κ·ΈμΉ˜μ§€ μ•Šκ³ , μ‹€μ œλ‘œ 무언가λ₯Ό β€˜ν•  수 μžˆλŠ”β€™ μ—μ΄μ „νŠΈκ°€ 되기 μœ„ν•΄μ„œλŠ” λ‹€μ–‘ν•œ μ™ΈλΆ€ λ„κ΅¬μ™€μ˜ 연결이 ν•„μˆ˜μ μΈλ°, 이 연결을 μ–΄λ–»κ²Œ 효율적이고 보편적인 λ°©μ‹μœΌλ‘œ κ΅¬ν˜„ν•  것인가에 λŒ€ν•œ 해닡이 λ°”λ‘œ MCPμž…λ‹ˆλ‹€.

λ°μ΄ν„°κ³Όν•™μž μž…μž₯μ—μ„œ 보면, λͺ¨λΈμ΄ μ˜ˆμΈ‘μ„ λ„˜μ–΄μ„œ 직접 행동(예: 파일 μ—΄κΈ°, 이메일 전솑, DB 질의 λ“±)을 ν•˜λ €λ©΄ μ‹€μ œ μ„Έκ³„μ™€μ˜ 연결이 ν•„μš”ν•©λ‹ˆλ‹€. κ·Έ μ—°κ²°μ˜ 닀리가 λ°”λ‘œ MCP이며, μ΄λŠ” 맀우 κ΅¬μ‘°ν™”λœ λ°©μ‹μœΌλ‘œ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€. 이 κΈ€μ—μ„œλŠ” μ΅œλŒ€ν•œ μΉœμ ˆν•˜κ³  λΉ„μ „κ³΅μžλ„ 이해할 수 μžˆλ„λ‘ MCP κ°œλ…μ„ μ„€λͺ…ν•˜κ³ , μ‹€μ œ μ‚¬μš© 사둀와 ν•¨κ»˜ μ°¨κ·Όμ°¨κ·Ό μ•ˆλ‚΄λ“œλ¦΄ μ˜ˆμ •μž…λ‹ˆλ‹€.


  1. MCPλž€ 무엇인가?

MCP(Model Context Protocol)λŠ” LLM이 μ™ΈλΆ€ 도ꡬ(툴), 데이터, μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ“±κ³Ό μƒν˜Έμž‘μš©ν•  수 있게 ν•΄μ£ΌλŠ” κ°œλ°©ν˜• μΈν„°νŽ˜μ΄μŠ€ κ·œμ•½μž…λ‹ˆλ‹€.

쑰금 더 μ‰½κ²Œ λ§ν•˜λ©΄, AI λͺ¨λΈμ΄ 인터넷 검색, 파일 μ €μž₯, μ½”λ“œ μ‹€ν–‰, λ°μ΄ν„°λ² μ΄μŠ€ 질의 같은 일을 ν•  수 μžˆλ„λ‘ 도ꡬ(tool)λ₯Ό μ‚¬μš©ν•  수 있게 ν•΄ μ£ΌλŠ” κ³΅ν†΅μ˜ μ‚¬μš© μ„€λͺ…μ„œλΌκ³  μƒκ°ν•˜λ©΄ λ©λ‹ˆλ‹€.

λΉ„μœ : USB-C 규격

MCPλŠ” AI μƒνƒœκ³„μ˜ USB-Cλ‹€.

슀마트폰, λ…ΈνŠΈλΆ, 카메라 λ“± λ‹€μ–‘ν•œ 기기듀이 USB-CλΌλŠ” ν•˜λ‚˜μ˜ ν‘œμ€€ 포트λ₯Ό 톡해 μΆ©μ „/데이터 전솑이 κ°€λŠ₯ν•΄μ§„ κ²ƒμ²˜λŸΌ, MCPλŠ” λ‹€μ–‘ν•œ AI 툴과 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ β€œν‘œμ€€ μΈν„°νŽ˜μ΄μŠ€β€ ν•˜λ‚˜λ‘œ LLMκ³Ό μ—°κ²°ν•  수 μžˆλ„λ‘ λ§Œλ“€μ–΄μ€λ‹ˆλ‹€.

즉, MCPλŠ” LLM이 μ™ΈλΆ€ κΈ°λŠ₯을 β€˜ν”„λ‘¬ν”„νŠΈβ€™λ§ŒμœΌλ‘œ ν˜ΈμΆœν•˜κ³  μ œμ–΄ν•  수 있게 ν•˜λŠ” API ν‘œμ€€μ΄λΌκ³  λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜ˆμ „μ—λŠ” λͺ¨λΈμ΄ νŒŒμΌμ„ μ €μž₯ν•˜λ €λ©΄ β€˜νŒŒμΌ μ €μž₯용 μ½”λ“œβ€˜λ₯Ό 직접 μ—°κ²°ν•΄μ•Ό ν–ˆμ§€λ§Œ, μ΄μ œλŠ” MCP둜 λž˜ν•‘λœ λ„κ΅¬λ§Œ 있으면 μ–΄λŠ AIλ“  곡톡 λ°©μ‹μœΌλ‘œ 뢈러 μ‚¬μš©ν•  수 있게 된 κ²ƒμž…λ‹ˆλ‹€.


  1. μ™œ MCPκ°€ ν•„μš”ν•œκ°€?

κΈ°μ‘΄ λ°©μ‹μ˜ ν•œκ³„

μ˜ˆμ „μ—λŠ” AIκ°€ μ™ΈλΆ€ 도ꡬλ₯Ό μ“°λ €λ©΄ λ‹€μŒκ³Ό 같은 λ³΅μž‘ν•œ 쑰건이 ν•„μš”ν–ˆμŠ΅λ‹ˆλ‹€:

  • νŠΉμ • ν”„λ ˆμž„μ›Œν¬(예: LangChain, LanGraph)λ₯Ό λ°°μ›Œμ•Ό ν–ˆκ³ ,
  • 각각의 도ꡬ에 맞게 μ»€μŠ€ν…€ μ½”λ“œλ‘œ μ—°κ²°ν•΄μ•Ό ν•˜λ©°,
  • λͺ¨λΈλ§ˆλ‹€ 연동 방식이 달라 쀑볡 개발이 λ§Žμ•˜κ³ ,
  • λ‹€μ–‘ν•œ 도ꡬλ₯Ό ν•œ λ²ˆμ— μ—°λ™ν•˜κΈ° μ–΄λ €μ› μŠ΅λ‹ˆλ‹€.

MCP의 λ„μž… 효과

이런 λΉ„νš¨μœ¨μ„±μ„ 쀄이기 μœ„ν•΄, MCPλŠ” λ‹€μŒμ„ κ°€λŠ₯ν•˜κ²Œ λ§Œλ“­λ‹ˆλ‹€:

  • μ–΄λ–€ 도ꡬ든 ν‘œμ€€ν™”λœ λ°©μ‹μœΌλ‘œ μ—°κ²°ν•  수 있음
  • μ–΄λ–€ AI λͺ¨λΈ(GPT, Claude λ“±)이든 λ™μΌν•œ λ°©μ‹μœΌλ‘œ 호좜 κ°€λŠ₯
  • κ°œλ°œμžλ“  일반 μ‚¬μš©μžλ“  μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ 직관적인 ꡬ쑰
  • 도ꡬ μƒνƒœκ³„κ°€ β€˜μ•±μŠ€ν† μ–΄β€™μ²˜λŸΌ ν™•μž₯ κ°€λŠ₯함

좜처: https://changelog.langchain.com/announcements/mcp-adapters-for-langchain-and-langgraph

ν•œλ§ˆλ””λ‘œ, AIκ°€ μ‹€μ„Έκ³„μ—μ„œ λ‹€μ–‘ν•œ μž‘μ—…μ„ ν•˜λ €λ©΄ κ·Έ 기반이 λ˜λŠ” λ„κ΅¬λ“€μ˜ μ—°κ²° ꡬ쑰가 ν•„μš”ν•˜κ³ , MCPλŠ” 이걸 λͺ¨λ‘μ—κ²Œ μ—΄λ € μžˆλŠ” λ°©μ‹μœΌλ‘œ μ œκ³΅ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.


  1. MCP의 기본 ꡬ쑰

κ΄€λ ¨ 링크

μ–΄λ ΅κ²Œ μƒκ°ν•˜μ§€ 말고, μ‚¬λžŒ-도ꡬ-μ€‘κ³„μž ꡬ쑰둜 μ΄ν•΄ν•˜μž

MCP(Multi-Agent Control Protocol)λŠ” λ³΅μž‘ν•œ 도ꡬ μ œμ–΄ ν™˜κ²½μ„ λ‹¨μˆœν™”ν•˜κΈ° μœ„ν•΄ 호슀트(Host), ν΄λΌμ΄μ–ΈνŠΈ(Client), μ„œλ²„(Server)둜 κ΅¬μ„±λœ 3계측 ꡬ쑰λ₯Ό λ”°λ¦…λ‹ˆλ‹€.

좜처: https://github.com/langchain-ai/langchain-mcp-adapters/tree/main

이 κ΅¬μ‘°λŠ” β€œAI μ•± ↔ ν†΅μ—­μž ↔ 도ꡬ” κ΄€κ³„λ‘œ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€.

🧩 전체 ꡬ쑰 μš”μ•½

μ—­ν•  κ΅¬μ„±μš”μ†Œ 핡심 κΈ°λŠ₯
🧠 Host (AI App) LangGraph Agent, Claude App λ“± μ‚¬μš©μžμ˜ λͺ…령을 μ΄ν•΄ν•˜κ³  ν΄λΌμ΄μ–ΈνŠΈλ₯Ό 톡해 μ‹€ν–‰ μ§€μ‹œ
πŸ—£οΈ Client (MCP ν΄λΌμ΄μ–ΈνŠΈ) Py Client, Claude Client λ“± Host ↔ Server κ°„ 쀑간 닀리 μ—­ν• . μš”μ²­μ„ ν”„λ‘œν† μ½œ ν˜•μ‹μœΌλ‘œ λ²ˆμ—­
πŸ› οΈ Server (MCP μ„œλ²„) Tool Server (Math, Data λ“±) μ‹€μ œλ‘œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 도ꡬ μ‹€ν–‰κΈ°

1) 🧠 Host (APP, LangGraph λ“±)

μ‚¬μš©μžμ™€ μƒν˜Έμž‘μš©ν•˜λ©° ν΄λΌμ΄μ–ΈνŠΈλ₯Ό 톡해 μš”μ²­μ„ μ „λ‹¬ν•˜λŠ” AI μ• ν”Œλ¦¬μΌ€μ΄μ…˜

  • Claude, Cursor 등은 μ‚¬μš©μžμ˜ μžμ—°μ–΄ λͺ…령을 μ΄ν•΄ν•˜κ³  μž‘μ—…μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•œ μ€€λΉ„λ₯Ό ν•©λ‹ˆλ‹€.
  • ν•˜μ§€λ§Œ 직접 MCP μ„œλ²„μ™€ 톡신할 μˆ˜λŠ” μ—†κ³ , 쀑간에 ν΄λΌμ΄μ–ΈνŠΈ(Client)κ°€ ν•„μš”ν•©λ‹ˆλ‹€.
  • 즉, HostλŠ” μ‚¬μš©μžμ˜ μš”μ²­μ„ μ΄ν•΄ν•œ λ’€ μ‹€μ œ μž‘μ—…μ€ MCP ν΄λΌμ΄μ–ΈνŠΈκ°€ λŒ€μ‹  μˆ˜ν–‰ν•  수 μžˆλ„λ‘ μš”μ²­μ„ μ „λ‹¬ν•©λ‹ˆλ‹€.
    • λ‹€λ₯΄κ²Œ ν‘œν˜„ν•˜λ©΄, 직접 μ‹€ν–‰ν•˜μ§€ μ•Šκ³  ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μž‘μ—… μˆ˜ν–‰μ„ μš”μ²­ν•˜λŠ” μ—­ν• λ§Œ ν•©λ‹ˆλ‹€.

πŸ“Œ μ˜ˆμ‹œ

  • LangGraph μ›Œν¬ν”Œλ‘œμš°μ—μ„œ β€œλ‰΄μŠ€ 검색” λ…Έλ“œ μ‹€ν–‰
  • Cursor AIμ—μ„œ β€œPDF μš”μ•½β€ μš”μ²­

2) πŸ—£οΈ Client (MCP ν΄λΌμ΄μ–ΈνŠΈ, Protocol Adapter)

Host와 Server κ°„ 톡신을 μ€‘κ³„ν•˜λŠ” β€˜ν†΅μ—­μ‚¬β€™ μ—­ν• 

  • 호슀트 내뢀에 λ‚΄μž₯되며, 도ꡬ μ„œλ²„μ™€μ˜ 연결을 1:1둜 μœ μ§€ν•©λ‹ˆλ‹€.
  • μ„œλ²„κ°€ 이해할 수 μžˆλ„λ‘ μš”μ²­μ„ JSON-RPC ν˜•μ‹μœΌλ‘œ λ²ˆμ—­ν•˜μ—¬ μ „λ‹¬ν•©λ‹ˆλ‹€.
  • κ²°κ³Όλ₯Ό λ‹€μ‹œ ν˜ΈμŠ€νŠΈκ°€ 이해할 수 μžˆλŠ” ν˜•νƒœλ‘œ μ—­λ³€ν™˜ν•©λ‹ˆλ‹€.

πŸ“Œ μ˜ˆμ‹œ

  • LangGraphμ—μ„œ load_mcp_tools() ν•¨μˆ˜λ‘œ MCP ν΄λΌμ΄μ–ΈνŠΈλ₯Ό λ‘œλ”©
  • Claude μ•± 내뢀에 MCP clientκ°€ νƒ‘μž¬λ˜μ–΄ μ„œλ²„μ™€ 톡신 μˆ˜ν–‰

βœ… νŠΉμ§•

  • ν΄λΌμ΄μ–ΈνŠΈκ°€ μ—†μœΌλ©΄, HostλŠ” MCP μ„œλ²„μ™€ 직접 톡신할 수 μ—†μŒ
  • μ—¬λŸ¬ MCP μ„œλ²„μ— λŒ€ν•œ 연결을 κ°œλ³„λ‘œ 관리 (1:1 ꡬ쑰)
  • 일반적으둜 Adapter ν˜•νƒœλ‘œ λ°°ν¬λ˜μ–΄ μ†μ‰½κ²Œ 연동 κ°€λŠ₯

3) πŸ› οΈ Server (MCP Servers)

μš”μ²­μ„ μ‹€μ œλ‘œ β€˜μ²˜λ¦¬β€™ν•˜λŠ” κΈ°λŠ₯ μ‹€ν–‰ 주체

  • β€œPDF μš”μ•½β€, β€œDB μ§ˆμ˜β€, β€œλ‚ μ”¨ 확인” λ“±μ˜ μ‹€μ œ κΈ°λŠ₯ 둜직이 κ΅¬ν˜„λœ μ„œλ²„μž…λ‹ˆλ‹€.
  • ν•˜λ‚˜μ˜ μ„œλ²„ μ•ˆμ— μ—¬λŸ¬ 개의 도ꡬλ₯Ό κ°€μ§ˆ 수 있으며, 각각의 λ„κ΅¬λŠ” λ…λ¦½λœ API처럼 λ™μž‘ν•©λ‹ˆλ‹€.
  • SSE λ˜λŠ” STDIO λ°©μ‹μœΌλ‘œ ν΄λΌμ΄μ–ΈνŠΈμ™€ 응닡을 μ£Όκ³ λ°›μŠ΅λ‹ˆλ‹€.

πŸ“Œ μ˜ˆμ‹œ

  • Math μ„œλ²„: add(), divide() λ“± 수치 계산 κΈ°λŠ₯
  • Data μ„œλ²„: search_documents(), get_summary() λ“± 정보 쑰회 κΈ°λŠ₯

βœ… νŠΉμ§•

  • ν΄λΌμ΄μ–ΈνŠΈκ°€ μš”μ²­ν•œ λͺ…령을 μ‹€μ œ μˆ˜ν–‰ν•˜κ³  응닡 전달
  • 도ꡬ λ‹¨μœ„λ‘œ κ΅¬λΆ„λœ μΈν„°νŽ˜μ΄μŠ€ 제곡
  • λ‘œμ»¬μ—μ„œλ„ μž‘λ™ κ°€λŠ₯, λ˜λŠ” μ™ΈλΆ€ API μ„œλ²„λ‘œ 운영 κ°€λŠ₯

λ°μ΄ν„°κ³Όν•™μž μž…μž₯μ—μ„œ μ΄ν•΄ν•˜λ©΄, 마치 pandasλ‚˜ sklearnμ—μ„œ ν•¨μˆ˜ ν˜ΈμΆœν•  λ•Œ, ν•¨μˆ˜ 이름, 인자, κ²°κ³Όκ°’μ˜ 포맷을 λ§žμΆ°μ•Ό ν•˜λ“― MCP도 그런 μΈν„°νŽ˜μ΄μŠ€ κ·œκ²©μ„ 정해놓은 κ²ƒμž…λ‹ˆλ‹€.


  1. MCP의 λ™μž‘ 방식 – μ•„μ£Ό μ‰½κ²Œ μ„€λͺ…ν•˜κΈ°

μ‹€μ œ μ‚¬μš© μ˜ˆμ‹œ: β€œλ‚΄ μ»΄ν“¨ν„°μ—μ„œ 큰 파일 μ°Ύμ•„μ€˜β€

  1. μ‚¬μš©μžλŠ” Claude 같은 AIμ—κ²Œ λ§ν•©λ‹ˆλ‹€:

    β€œλ‚΄ μ»΄ν“¨ν„°μ—μ„œ κ°€μž₯ 큰 파일 5개 μ•Œλ €μ€˜β€

  2. ClaudeλŠ” 이 μš”μ²­μ„ 보고 β€œνŒŒμΌ 검색 툴이 ν•„μš”ν•˜κ² κ΅°β€μ΄λΌκ³  νŒλ‹¨ν•©λ‹ˆλ‹€.
  3. ClaudeλŠ” μžμ‹ μ΄ μ—°κ²°λœ 도ꡬ μ€‘μ—μ„œ β€˜νŒŒμΌ 검색 툴(MCP Server)’이 μžˆλŠ”μ§€ μ°ΎμŠ΅λ‹ˆλ‹€.
  4. 찾은 νˆ΄μ— λŒ€ν•΄ μ‚¬μš©μžμ—κ²Œ λ¬Όμ–΄λ΄…λ‹ˆλ‹€:

    β€œμ΄ 도ꡬλ₯Ό μ‚¬μš©ν•΄λ„ λ κΉŒμš”?”

  5. μ‚¬μš©μžκ°€ ν—ˆμš©ν•˜λ©΄ ClaudeλŠ” ν•΄λ‹Ή 도ꡬ에 MCP λ°©μ‹μœΌλ‘œ μš”μ²­μ„ λ³΄λƒ…λ‹ˆλ‹€.
  6. 도ꡬ가 μ‘λ‹΅ν•©λ‹ˆλ‹€: β€œμ΄λŸ° νŒŒμΌλ“€μ΄ μžˆμ–΄μš”~”
  7. ClaudeλŠ” 이걸 λ‹€μ‹œ μžμ—°μ–΄λ‘œ 예쁘게 μ •λ¦¬ν•΄μ„œ μš°λ¦¬μ—κ²Œ λ³΄μ—¬μ€λ‹ˆλ‹€.

이 λͺ¨λ“  과정은 κΈ°μ‘΄ λ°©μ‹μ²˜λŸΌ λ³΅μž‘ν•œ μ½”λ“œ μž‘μ„± 없이, ν”„λ‘¬ν”„νŠΈ 기반 λŒ€ν™”λ‘œ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€. 그리고 도ꡬ와 AI κ°„μ˜ 연결은 λͺ¨λ‘ MCP κ·œμ•½μœΌλ‘œ μΌκ΄€λ˜κ²Œ μ²˜λ¦¬λ˜λ―€λ‘œ, 맀우 μ•ˆμ •μ μ΄κ³  ν™•μž₯ κ°€λŠ₯ν•˜κ²Œ μ„€κ³„λ©λ‹ˆλ‹€.


  1. μ™œ μ§€κΈˆ MCPκ°€ ν•«ν•œκ°€?

  • Claude, Cursor, AIXE λ“± μ£Όμš” ν”Œλž«νΌμ—μ„œ 정식 지원
  • 도ꡬ듀을 자유둭게 등둝할 수 μžˆλŠ” MCP λ§ˆμΌ“ν”Œλ ˆμ΄μŠ€ κΈ‰μ„±μž₯
  • λˆ„κ΅¬λ‚˜ Python만 μ•Œλ©΄ νˆ΄μ„ λ§Œλ“€μ–΄ 등둝할 수 있음
  • 도ꡬ μƒνƒœκ³„κ°€ 컀지면 μ‚¬μš©μžλ„ 더 λ§Žμ•„μ§ β†’ μ„ μˆœν™˜ ꡬ쑰

λΉ„κ°œλ°œμžμ—κ²Œλ„ μ€‘μš”ν•œ λ³€ν™”

κΈ°μ‘΄μ—λŠ” κ°œλ°œμžκ°€ 도ꡬλ₯Ό λ§Œλ“€μ–΄μ•Όλ§Œ AIκ°€ 행동할 수 μžˆμ—ˆμ§€λ§Œ,

μ΄μ œλŠ” κ·Έ 도ꡬ듀이 λ§ˆμΌ“ν”Œλ ˆμ΄μŠ€μ— μ˜¬λΌμ™€ 있기 λ•Œλ¬Έμ—,

λ°μ΄ν„°κ³Όν•™μžλ‚˜ 일반 μ‚¬μš©μžλ„ MCP λ§ˆμΌ“μ—μ„œ ν•„μš”ν•œ κΈ°λŠ₯을 λ°”λ‘œ κ°€μ Έλ‹€ μ“Έ 수 있게 된 κ²ƒμž…λ‹ˆλ‹€.


  1. MCP κ°œλ°œμ€ μ–΄λ ΅μ§€ μ•Šμ„κΉŒ? β†’ λ†€λΌμšΈ 만큼 쉽닀

λ‹€μŒμ€ κ°€μž₯ 기본적인 MCP 툴 μ˜ˆμ œμž…λ‹ˆλ‹€. 이름을 λ°›μ•„ 인사말을 좜λ ₯ν•΄μ£ΌλŠ” λ„κ΅¬μž…λ‹ˆλ‹€:

1
2
3
4
5
6
7
8
9
from fastmcp import tool, FastMCP
from fastapi import FastAPI

app = FastAPI()
mcp = FastMCP(app)

@tool(name="hello", description="인사말을 좜λ ₯ν•©λ‹ˆλ‹€")
def hello(name: str):
    return f"μ•ˆλ…•ν•˜μ„Έμš”, {name}λ‹˜!"

이처럼 MCP νˆ΄μ€ μ‹€μ œ κΈ°λŠ₯을 ν•¨μˆ˜λ‘œ κ΅¬ν˜„ν•œ ν›„, @toolμ΄λΌλŠ” λ°μ½”λ ˆμ΄ν„°λ§Œ 뢙이면 μžλ™μœΌλ‘œ MCP ν˜•μ‹μ΄ λ©λ‹ˆλ‹€.

이제 이 νˆ΄μ„ μ‹€ν–‰ν•΄ MCP μ„œλ²„λ‘œ λ„μš°κ³ , ν΄λΌμ΄μ–ΈνŠΈμ— λ“±λ‘ν•˜λ©΄ Claudeλ‚˜ Cursorμ—μ„œ 이 κΈ°λŠ₯을 뢈러 μ“Έ 수 있게 λ©λ‹ˆλ‹€.

λ°μ΄ν„°κ³Όν•™μžμ˜ κ΄€μ μ—μ„œ 보면, μ˜ˆμ „μ— Flaskλ‚˜ FastAPI둜 κ°„λ‹¨ν•œ API μ„œλ²„ λ§Œλ“€λ˜ κ²½ν—˜μ΄ μžˆλ‹€λ©΄ MCP 툴 κ°œλ°œμ€ 맀우 μΉœμˆ™ν•˜κ³  λ‹¨μˆœν•©λ‹ˆλ‹€.


  1. 미래 전망: μ—μ΄μ „νŠΈ μƒνƒœκ³„μ˜ μ€‘μ‹¬μœΌλ‘œ

μš°λ¦¬λŠ” μ§€κΈˆ AI μƒνƒœκ³„κ°€ λ‹¨μˆœν•œ ν…μŠ€νŠΈ μƒμ„±μ—μ„œ 도ꡬ μ‹€ν–‰, 행동 기반 μž‘μ—…μœΌλ‘œ μ§„ν™”ν•˜λŠ” μ‹œμ μ— μžˆμŠ΅λ‹ˆλ‹€. MCPλŠ” 이 νλ¦„μ˜ 핡심 기술둜 자리 작고 있으며, 마치 μ•±μŠ€ν† μ–΄, USB-C처럼 ν”Œλž«νΌ 독립적인 ν‘œμ€€μ΄ 될 κ°€λŠ₯성이 ν½λ‹ˆλ‹€.

πŸ’Œ μ•žμœΌλ‘œ μ˜ˆμƒλ˜λŠ” λ³€ν™”

  • κΈ°μ—… μ†”λ£¨μ…˜, SaaS μ œν’ˆμ΄ MCP 툴둜 λž˜ν•‘λ˜μ–΄ AI에 연결됨
  • μ‚¬μš©μž λ§žμΆ€ν˜• μ—μ΄μ „νŠΈλ₯Ό λ§Œλ“€ λ•Œ MCP 도ꡬ 연결이 κΈ°λ³Έ
  • μ˜€ν”ˆμ†ŒμŠ€ 툴, λΉ„μ¦ˆλ‹ˆμŠ€ μžλ™ν™” 도ꡬ가 MCPν™”λ˜μ–΄ μ‚¬μš© κ°€λŠ₯

πŸ’Œ λ°μ΄ν„°κ³Όν•™μžμ—κ²Œ μ˜λ―Έν•˜λŠ” λ°”

  • μžμ‹ μ΄ λ§Œλ“  뢄석 ν•¨μˆ˜, 데이터 νŒŒμ΄ν”„λΌμΈλ„ MCP 툴둜 λž˜ν•‘ κ°€λŠ₯
  • 데이터 μ ‘κ·Ό, μ •μ œ, μ‹œκ°ν™” λ“± 반볡 μž‘μ—…μ„ AIμ—κ²Œ μ‹œν‚¬ 수 있음
  • GPTλ‚˜ Claude 기반 μ—μ΄μ „νŠΈμ—κ²Œ β€˜λ‚΄ νˆ΄β€™μ„ λ§‘κΈ°λŠ” 것이 ν˜„μ‹€ν™”λ¨

마치며

MCPλŠ” λ‹¨μˆœν•œ 기술 κ·œμ•½μ΄ μ•„λ‹™λ‹ˆλ‹€.

이것은 AI λͺ¨λΈμ΄ μ§„μ§œλ‘œ β€˜μΌμ„ ν•  수 μžˆλŠ”β€™ μ„ΈμƒμœΌλ‘œ κ°€λŠ” 문이며, κ·Έ 문을 μ—¬λŠ” 곡톡 ν‚€(key)μž…λ‹ˆλ‹€. USB-Cκ°€ λͺ¨λ“  κΈ°κΈ°λ₯Ό ν•˜λ‚˜λ‘œ μ—°κ²°ν•œ κ²ƒμ²˜λŸΌ, MCPλŠ” λͺ¨λ“  AI와 도ꡬλ₯Ό ν•˜λ‚˜λ‘œ λ¬ΆλŠ” μƒνƒœκ³„μ˜ μ‹œμž‘μž…λ‹ˆλ‹€. λ°μ΄ν„°κ³Όν•™μžλ“ , κ°œλ°œμžλ“ , 일반 μ‚¬μš©μžλ“  μ§€κΈˆ 이 흐름에 μ˜¬λΌνƒ€μ•Ό ν•  μ΄μœ λŠ” λΆ„λͺ…ν•©λ‹ˆλ‹€.

아직 λŠ¦μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€!!

μ§€κΈˆλΆ€ν„° MCP λ§ˆμΌ“ν”Œλ ˆμ΄μŠ€μ™€ 예제 νˆ΄λ“€μ„ μ‹€ν—˜ν•΄ λ³΄λ©΄μ„œ, λ‹Ήμ‹ λ§Œμ˜ μ—μ΄μ „νŠΈ ν™˜κ²½μ„ λ§Œλ“€μ–΄ λ³΄μ„Έμš”πŸ’‘

μ½μ–΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.



-->