강좌
10개 강의 중 10번째 · Introduction to Model Context ProtocolMCP 리뷰
Sign in to save your progressYou can keep reading without an account, but completed lessons won't be saved.
Not nowSign in

이제 MCP 서버를 구축했으니, 세 가지 핵심 서버 프리미티브를 검토하고 각각을 언제 사용해야 하는지 알아보겠습니다. 핵심은 각 프리미티브가 애플리케이션 스택의 서로 다른 부분에 의해 제어된다는 점입니다.

Tools: 모델 제어

Tools는 전적으로 Claude에 의해 제어됩니다. AI 모델이 이러한 함수를 언제 호출할지 결정하며, 그 결과는 Claude가 작업을 수행하는 데 직접 사용됩니다.

Tools는 Claude가 자율적으로 사용할 수 있는 추가 기능을 제공하는 데 적합합니다. "JavaScript를 사용해 3의 제곱근을 계산해줘"라고 요청하면, Claude가 JavaScript 실행 도구를 사용해 계산을 실행하기로 결정하는 것입니다.

Resources: 앱 제어

Resources는 애플리케이션 코드에 의해 제어됩니다. 앱이 리소스 데이터를 언제 가져올지, 그리고 이를 어떻게 사용할지 결정합니다 - 일반적으로 UI 요소를 위해서나 대화에 컨텍스트를 추가하기 위해서입니다.

이번 프로젝트에서는 resources를 두 가지 방식으로 사용했습니다:

  • UI의 자동완성 옵션을 채우기 위한 데이터 가져오기
  • 프롬프트에 추가 컨텍스트를 더하기 위한 콘텐츠 검색

Claude 인터페이스의 "Add from Google Drive" 기능을 떠올려 보세요 - 애플리케이션 코드가 어떤 문서를 표시할지 결정하고, 해당 콘텐츠를 채팅 컨텍스트에 주입하는 작업을 처리합니다.

Prompts: 사용자 제어

Prompts는 사용자 행동에 의해 트리거됩니다. 사용자는 버튼 클릭, 메뉴 선택, 슬래시 명령과 같은 UI 상호작용을 통해 이러한 사전 정의된 워크플로를 언제 실행할지 결정합니다.

Prompts는 사용자가 필요에 따라 트리거할 수 있는 워크플로를 구현하는 데 이상적입니다. Claude 인터페이스에서 채팅 입력창 아래에 있는 워크플로 버튼들이 prompts의 예시입니다 - 사용자가 한 번의 클릭으로 시작할 수 있는 사전 정의되고 최적화된 워크플로입니다.

올바른 프리미티브 선택하기

간단한 결정 가이드는 다음과 같습니다:

  • Claude에게 새로운 기능을 제공해야 하나요? tools를 사용하세요
  • UI나 컨텍스트를 위해 앱에 데이터를 가져와야 하나요? resources를 사용하세요
  • 사용자를 위한 사전 정의된 워크플로를 만들고 싶나요? prompts를 사용하세요

Claude의 공식 인터페이스에서 세 가지 프리미티브가 모두 작동하는 모습을 확인할 수 있습니다. 워크플로 버튼은 prompts를 보여주고, Google Drive 통합은 resources가 작동하는 모습을 보여주며, Claude가 코드를 실행하거나 계산을 수행할 때는 내부적으로 tools를 사용하고 있는 것입니다.

이는 특정 사용 사례에 맞는 올바른 프리미티브를 선택하는 데 도움이 되는 상위 수준의 가이드라인입니다. 각각은 애플리케이션 스택의 서로 다른 부분을 담당합니다 - tools는 모델을 위해, resources는 앱을 위해, prompts는 사용자를 위해 작동합니다.