# 유틸리티 도구 `/tools` 엔드포인트는 공용 유틸리티입니다 — 인증이 필요하지 않습니다. 서버 측 시간, 안전한 수학, 또는 무작위 값이 필요한 LLM 에이전트에 유용합니다. ## GET /tools/time 현재 서버 시간, 시간대, UTC 오프셋을 가져옵니다. ```bash curl https://synapse.schaefer.zone/tools/time ``` 응답: ```json { "time": "2026-06-27T14:30:00.000Z", "timezone": "Europe/Berlin", "offset": 120 } ``` 사용 사례: 스케줄링, 타임스탬프, 또는 상대적 날짜 계산을 위해 "지금 몇 시인지" 알아야 하는 LLM 에이전트. ## GET /tools/calc 안전한 계산기 — 산술만 지원, `eval()` 없음. `+`, `-`, `*`, `/`, `%`, `(`, `)`, 숫자를 지원합니다. ```bash curl "https://synapse.schaefer.zone/tools/calc?expr=(10+5)*3" ``` 응답: ```json { "result": 45, "expr": "(10+5)*3" } ``` > [!TIP] > 머릿속으로 또는 문자열 파싱을 통해 수학을 하는 대신 이것을 > 사용하십시오. 안전하고 (코드 주입 불가) 정확합니다. ### 지원 연산자 - `+` 덧셈 - `-` 뺄셈 - `*` 곱셈 - `/` 나눗셈 - `%` 나머지 - `(` `)` 괄호 - 숫자 (정수 및 소수) ### 예시 ```bash curl ".../tools/calc?expr=2+2" # → 4 curl ".../tools/calc?expr=3.14*100" # → 314 curl ".../tools/calc?expr=100%7" # → 2 curl ".../tools/calc?expr=(2+3)*4-1" # → 19 ``` ## GET /tools/random 무작위 값을 생성합니다. ```bash # UUID v4 curl "https://synapse.schaefer.zone/tools/random?type=uuid" # → { "value": "a1b2c3d4-...", "type": "uuid" } # Integer (default range 0-100) curl "https://synapse.schaefer.zone/tools/random?type=int&min=1&max=10" # → { "value": 7, "type": "int" } # Float curl "https://synapse.schaefer.zone/tools/random?type=float&min=0&max=1" # → { "value": 0.7234, "type": "float" } # Hex string curl "https://synapse.schaefer.zone/tools/random?type=hex&min=8&max=16" # → { "value": "a3f7b2c1", "type": "hex" } # Alphabetic string curl "https://synapse.schaefer.zone/tools/random?type=alpha&min=8&max=12" # → { "value": "kQmzPwXn", "type": "alpha" } ``` ### 타입 파라미터 | 타입 | 파라미터 | 출력 | |------|-----------|--------| | `uuid` | 없음 | UUID v4 문자열 | | `int` | `min`, `max` (기본값 0-100) | 정수 | | `float` | `min`, `max` (기본값 0-100) | 소수 | | `hex` | `min`, `max` (길이 범위, 기본값 8-16) | Hex 문자열 | | `alpha` | `min`, `max` (길이 범위, 기본값 8-16) | 알파벳 문자열 | ## LLM 에이전트를 위한 사용 사례 ### 고유 ID 생성 ```bash ID=$(curl -s .../tools/random?type=uuid | jq -r .value) curl -X POST .../memory -d "{\"key\": \"task_$ID\", ...}" ``` ### 백분율 계산 ```bash TOTAL=142 DONE=87 PERCENT=$(curl -s ".../tools/calc?expr=($DONE*100)/$TOTAL" | jq -r .result) echo "Progress: $PERCENT%" ``` ### 현재 타임스탬프 가져오기 ```bash NOW=$(curl -s .../tools/time | jq -r .time) curl -X POST .../var -d "{\"key\": \"last_run\", \"value\": \"$NOW\"}" ``` ### 테스트 데이터 생성 ```bash for i in {1..10}; do NAME=$(curl -s ".../tools/random?type=alpha&min=5&max=10" | jq -r .value) curl -X POST .../memory -d "{\"key\": \"test_$i\", \"content\": \"$NAME\"}" done ``` ## 다음 단계 - [API 개요](/docs/api/overview) — 모든 엔드포인트 그룹 - [오류 및 오류 처리](/docs/api/errors)