MCP에서 “툴”이란 무엇이며, 왜 생각보다 더 중요한가

발행: (2026년 5월 4일 AM 12:00 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

Tools

MCP가 시스템이라면, 도구는 그 시스템을 유용하게 만드는 요소입니다.

Simple Definition

도구는 모델이 선택해서 수행할 수 있는 구조화된 행동입니다.

👉 모델이 무언가를 하고 싶을 때, 도구를 사용합니다.

Important Clarification

도구는 단순히 함수가 아닙니다.
함수에 다음과 같은 요소가 추가된 형태입니다:

  • 명확한 이름
  • 명확한 목적
  • 정의된 입력

이 구조 덕분에 모델이 도구를 이해하고 사용할 수 있습니다.

What a Tool Looks Like

get_user_orders(user_id, limit)

이 도구는 모델에게 다음을 알려줍니다:

  • 무엇을 하는가 → 사용자 주문을 가져옴
  • 무엇이 필요한가user_id, limit

How the Model Uses a Tool

사용자 질문: “내 최근 3개 주문을 보여줘”

  1. 모델이 사용 가능한 도구를 확인

    • get_user_orders
    • cancel_order
    • search_products
  2. 모델이 결정
    “이건 주문 관련 요청이니 → get_user_orders를 사용하자”

  3. 모델이 도구 호출을 생성

    {
      "tool": "get_user_orders",
      "arguments": {
        "user_id": "123",
        "limit": 3
      }
    }
  4. 시스템이 실행 – MCP 서버가 로직을 수행하고 데이터를 반환합니다.

  5. 모델이 응답 – 결과를 사용자 친화적인 답변으로 변환합니다.

Key Insight

모델은 코드를 보지 못합니다. 모델이 보는 것은:

  • 도구 이름
  • 설명
  • 입력 구조

👉 이것을 기반으로 판단합니다.

Why Tool Design Matters

불명확한 도구는 시스템을 망가뜨립니다.

Bad Tool

process_data(data)

문제점

  • 무엇을 하는가?
  • 언제 사용해야 하는가?
  • “data”가 의미하는 바는?

👉 모델이 혼란스러워합니다.

Good Tools

get_user_orders(user_id, limit)
cancel_order(order_id)
search_products(query)

각 도구가 명확한 목적을 가지고 있어 모델이 쉽게 적절한 도구를 선택할 수 있습니다.

Golden Rules for Designing Tools

  1. 한 도구 = 한 행동
    여러 책임을 하나에 합치지 마세요.

  2. 명확한 이름 사용
    선호: get_user_orders, create_order
    피할 것: handle_data, process_request

  3. 입력을 명시적으로 정의

    잘못된 예

    { "data": "string" }

    올바른 예

    { "user_id": "string", "limit": "number" }
  4. 편리함보다 명료함을 설계
    백엔드가 복잡한 작업을 지원하더라도 도구는 단순하고 이해하기 쉬워야 합니다.

A Better Way to Think About Tools

도구를 모델이 사용할 수 있는 행동 집합이라고 생각하세요.
도구가 없으면 모델은 해당 행동을 수행할 수 없습니다.

Common Mistakes

  • 도구를 너무 많이 만들기 → 선택이 어려워짐
  • 도구를 지나치게 일반화하기 → 사용법이 불분명
  • 하나의 도구에 과도한 기능을 넣기 → 혼란

Why This Concept Is So Important

도구 설계는 직접적으로 다음에 영향을 미칩니다:

  • 모델의 수행 능력
  • 결정의 정확성
  • 시스템의 확장성

What’s Next

이제 도구에 대해 이해했으니, 다음 단계는 이 도구들이 실제로 어디에 존재하고 누가 실행하는지를 살펴보는 것입니다. 우리는 MCP 서버—결정을 실제 행동으로 전환하는 구성 요소—를 자세히 분석할 것입니다.

0 조회
Back to Blog

관련 글

더 보기 »