β MCP μ€λͺ : AI π€ μμ΄μ νΈλ₯Ό μν κ°λ¨ν κ°μ΄λ π
Source: Dev.to
AI π€ μμ΄μ νΈλ?
AI μμ΄μ νΈλ λ€μμ ν μ μμ΅λλ€:
- μμ μ λν΄ μΆλ‘ νκΈ°
- λꡬλ APIμ μ κ·ΌνκΈ°
- λ°μ΄ν°λ₯Ό μ½κ±°λ μ°κΈ°
- μμ¨μ μΌλ‘ νλνκΈ°
κ°λ μ μΌλ‘, μμ΄μ νΈλ λ€μκ³Ό κ°μ 루νλ₯Ό λ°λ¦ λλ€:
while task_not_done:
think()
choose_tool()
act()
observe_result()
AI π€ μμ΄μ νΈμ μ€μ λ¬Έμ μ
νμ€νλ μ κ·Ό λ°©μμ΄ μμΌλ©΄ λꡬ μ¬μ©μ΄ λ³΄ν΅ λ€μκ³Ό κ°μ΄ 보μ λλ€:
Prompt:
"You can call the GitHub API by sending a GET request to
https://api.github.com/users/{username}/repos
and then parse the JSON response..."
λ¬Έμ μ :
- λꡬμ λν μ§μκ° ν둬ννΈ μμ μ‘΄μ¬ν¨
- μμ΄μ νΈκ° λꡬ μλ λ°©μμ βκΈ°μ΅βν΄μΌ ν¨
- APIκ° λ³κ²½λλ©΄ μμ΄μ νΈκ° κΉ¨μ§ μ μμ
- λ§€μ° μ·¨μ½νκ³ νμ₯νκΈ° μ΄λ €μ
β MCPβοΈλ?
β MCP (Model Context Protocol) μ μμ΄μ νΈκ° ν둬ννΈμ λꡬ λ‘μ§μ μ½μ νμ§ μκ³ λ λꡬλ₯Ό λ°κ²¬νκ³ μ¬μ©ν μ μκ² νλ ꡬ쑰νλ λ°©μμ μ μν©λλ€. μμ°μ΄λ‘ λꡬλ₯Ό μ€λͺ νλ λμ , MCPλ λꡬλ₯Ό λͺ μμ μΌλ‘ λ ΈμΆν©λλ€.
μ (μμ°μ΄):
"To read a file, do XYZ..."
ν(ꡬ쑰ν):
{
"tool": "read_file",
"input": {
"path": "notes.txt"
}
}
λͺ ννκ³ , μμΈ‘ κ°λ₯νλ©°, μ λ’°ν μ μμ΅λλ€.

β MCP μλ λ°©μ (κ³ μμ€)
β MCPλ μΈ κ°μ§ μν μ λμ ν©λλ€:
- Agent (Client) β 무μμ ν μ§ κ²°μ
- β MCP Server β λꡬ μ 곡
- Protocol β ꡬ쑰νλ ν΅μ
λꡬ λ°κ²¬ μμ
{
"type": "list_tools"
}
μλ΅:
{
"tools": [
{
"name": "search_docs",
"description": "Search internal documentation"
},
{
"name": "read_file",
"description": "Read a local file"
}
]
}
μ΄μ μμ΄μ νΈλ μ νν μ΄λ€ μμ μ ν μ μλμ§ μκ² λ©λλ€.
β MCPλ‘ λꡬ νΈμΆνκΈ°
λꡬλ₯Ό λ°κ²¬νλ©΄ νΈμΆμ λ§€μ° κ°λ¨ν©λλ€:
{
"type": "call_tool",
"tool": "search_docs",
"input": {
"query": "Model Context Protocol"
}
}
κ²°κ³Ό:
{
"results": [
{
"title": "MCP Overview",
"summary": "MCP standardizes how agents use tools."
}
]
}
μμ νμ ν μ€νΈλ₯Ό νμ±ν νμκ° μκ³ , μΆμΈ‘λ νμ μμ΅λλ€.
β MCP vs μ ν΅μ μΈ μμ΄μ νΈ μ€κ³
μ ν΅μ μΈ μ κ·Ό
prompt = """
If the user asks about files:
1. Read the file from disk
2. Summarize the content
"""
μ΄ λ°©μμ λ€μμ νΌν©ν©λλ€:
- μ§μμ¬ν
- λꡬ λ‘μ§
- μμ¬κ²°μ
MCP κΈ°λ° μ κ·Ό
if needs_file:
result = mcp.call("read_file", {"path": "report.txt"})
summarize(result)
κ΄μ¬μ¬μ λΆλ¦¬κ° λ κΉλν©λλ€.

β MCPκ° μ€μν μ΄μ
- νλ¬κ·ΈβμΈβνλ μ΄ λꡬ
- μμ΄μ νΈμ λꡬ μ¬μ΄μ λͺ νν κ³μ½
- ꡬν κ΅μ²΄κ° μ¬μ
- λλ²κΉ λ° μΆμ μ± ν₯μ
μ€μ λ‘ β MCPλ μμ΄μ νΈ κ°λ°μ ν둬ννΈ μμ§λμ΄λ§μμ μμ€ν μ€κ³λ‘ μ νμν΅λλ€.
β MCPκ° νμν κΉμ?
β MCPλ₯Ό μ¬μ©ν΄μΌ ν κ²½μ°:
- μμ΄μ νΈκ° μ¬λ¬ λꡬλ₯Ό μ¬μ©ν¨
- μμΈ‘ κ°λ₯ν λμμ μν¨
- μμ€ν μ νμ₯ν κ³νμ΄ μμ
β MCPλ₯Ό 건λλ°μ΄λ λλ κ²½μ°:
- κ°λ¨ν μ±ν μλ΅λ§ νμν¨
- μΈλΆ λκ΅¬κ° μ ν μ¬μ©λμ§ μμ
μμ΄μ νΈκ° λ°λͺ¨ μμ€μ λμ΄μ€ λ β MCPκ° λΉμ λ°ν©λλ€.
λ ν° κ·Έλ¦Ό π‘
AI μμ΄μ νΈλ μ μ λ μμ¨μ μΌλ‘ λ³νκ³ μμ΅λλ€. β MCP μ κ°μ νμ€μ μμ΄μ νΈκ° λ€μμ μ μ§νλλ‘ λμ΅λλ€:
- μ΄ν΄νκΈ° μ¬μ
- μ μ§λ³΄μ μ©μ΄
- μ λ’°μ± ν보

β MCPλ μμ΄μ νΈλ₯Ό λ λλνκ² λ§λ€μ§λ μμ§λ§, μ¬λ°λ₯΄κ² ꡬμΆνκΈ° μ½κ² λ§λ€μ΄ μ€λλ€.
λ§λ¬΄λ¦¬ μκ° π‘
AIλ ν둬ννΈμμ νλ‘ν μ½λ‘ μ ννκ³ μμ΅λλ€.
Model Context Protocolμ μ λ’°ν μ μλ AI μμ΄μ νΈλ₯Ό ꡬμΆνκΈ° μν μ€μν λ¨κ³μ΄λ©°, ν둬ννΈ λ§λ²μ μμ‘΄νμ§ μμ΅λλ€.
