Step 04: Tool 정의
core 60 min

Tool 정의

rmcp Tool 스키마와 파라미터를 정의하는 방법을 학습합니다.

Execute this step

Run from step folder:
cd steps/04_tool_schema && cargo run
Run from project root:
cargo run -p step04_tool_schema

Step 4: Tool 정의

학습 목표

  • rmcp Tool 스키마, 파라미터 정의
  • JSON Schema 기반 Tool 인터페이스

핵심 개념

Agent가 사용할 수 있는 도구(Tool)를 정의합니다. 각 Tool은 이름, 설명, 파라미터 스키마를 가집니다.

Tool 구조

1Tool {
2    name: "read_file",
3    description: "Read contents of a file",
4    parameters: json!({
5        "type": "object",
6        "properties": {
7            "path": { "type": "string", "description": "File path" }
8        },
9        "required": ["path"]
10    })
11}

Tool 호출 흐름

  1. LLM에 사용 가능한 Tool 목록 전달
  2. LLM이 적절한 Tool 선택 및 인자 생성
  3. Tool 실행 후 결과를 LLM에 반환
LLM ──▶ "read_file(path: ./main.rs)" ──▶ Tool 실행
LLM ◀── "fn main() { ... }"           ◀──────┘

소스 코드

1//! Sample Step 4: Tool 정의
2
3fn main() {
4    println!("=== Step 4: Tool 정의 ===\n");
5    println!("TODO: rmcp Tool 스키마");
6}

체크리스트

  • [ ] Tool 구조체 이해
  • [ ] JSON Schema 파라미터 정의
  • [ ] Tool 목록을 Provider에 전달하는 방법 이해

Did you find this helpful? Give it a cheer!