본문으로 건너뛰기

JARVIS 도구

JARVIS 는 정의 파일이 없어서 도구 목록(tools)도 비어 있다. 그래서 앱 레지스트리에 등록된 도구 전체를 쓴다. 다른 에이전트는 정의 파일의 tools 에 적은 도구만 받으므로, 셸과 파일 쓰기처럼 권한이 큰 도구를 기본으로 가진 에이전트는 JARVIS 하나다. 이 페이지는 JARVIS 가 받는 도구를 언제 붙는지에 따라 나눠 표로 정리한다. 서버가 뜰 때 늘 있는 도구, 설정이나 실행 중에 붙는 도구, 모든 에이전트가 함께 쓰는 도구, JARVIS 에게 없는 도구 순서다.

내장 도구​

서버가 뜰 때 항상 등록되는 도구다(app/infra_builder.py 의 build_tool_registry).

도구하는 일승인
bash셸 명령. 기본 타임아웃 30초필요
write_file파일 쓰기. 부모 디렉토리 생성, 덮어쓰기필요
edit_file문자열 정밀 교체필요
read_file라인 범위 읽기
glob패턴으로 파일 찾기, 최근 수정순
grep정규식 검색, 바이너리 건너뜀
list_dir디렉토리 나열
web_searchBrave(키 있으면) 또는 DuckDuckGo
web_fetchURL 본문을 텍스트로

승인이 필요한 도구에서 항상 허용 을 고르면 규칙이 ~/.jarvis/approvals/main.yaml 에 쌓인다. 대조 방식은 Tool & Approve System에 있다.

설정과 실행 중에 붙는 도구​

아래 도구는 설정이 있거나 실행 중에 만들어지면 앱 레지스트리에 들어오고, JARVIS 는 따로 고르지 않아도 받는다.

도구언제 붙나자세히
agent_<name>, orchestrate서브 에이전트 정의가 있을 때Orchestration Pattern
schedule스케줄러가 켜져 있을 때(JARVIS_SCHEDULER__ENABLED, 기본 켜짐). "1분 뒤 알려줘" 를 /schedule 과 같은 일정으로 만든다Scheduling
goal스케줄러가 켜져 있을 때. 계속 맡길 목표를 맡기고, 목록을 보고, 멈춘다Goals
procedure_<name>여러 도구로 성공한 작업을 절차로 승인했을 때Memory Management
MCP 서버의 도구MCP 서버를 연결했을 때Extension
사용자 도구~/.jarvis/tools/ 에 도구 파일을 두었을 때Extension

사용자 도구와 MCP 도구는 같은 이름의 내장 도구를 덮어쓴다.

모든 에이전트가 함께 쓰는 도구​

도구하는 일
ask_agent다른 최상위 에이전트에게 일을 맡긴다. 에이전트가 둘 이상일 때만 있다(Multi agent Orchestration)
remember_task_pattern사용자가 알려 준 작업 방식을 부른 에이전트의 작업 패턴으로 저장한다(Memory Management → 작업 패턴)
recall_episodes최근 3턴보다 앞의 지난 턴을 작업 종류, 성패, 기간으로 골라 읽는다(Memory Management)

갖지 않는 도구​

lh_notice, sh_notice, housing_budget, housing_loan, housing_profile, housing_watch 는 에이전트 전용 도구라서 JARVIS 에게 없다. 청약 질문을 받으면 JARVIS 는 ask_agent 로 KAREN에게 맡긴다.