Sign in to save your progressYou can keep reading without an account, but completed lessons won't be saved.
Sign 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는 사용자를 위해 작동합니다.