Dify 도구

Dify 도구 (Dify Tools)

LLM이 외부 서비스와 API와 상호작용할 수 있게 해주는 도구를 관리하는 방법을 알아봐요.

앱에 도구를 추가하면 LLM이 외부 서비스와 API를 호출해 실시간 데이터에 접근하거나 작업(웹 검색, 데이터베이스 질의, 콘텐츠 처리 등)을 수행할 수 있습니다.

도구를 사용하는 곳:

모든 도구는 Integrations > Tools에서 관리할 수 있어요.

도구 유형 (Tool Types)

도구 플러그인 (Tool Plugin)

Dify와 커뮤니티가 만든, 일반적인 유틸리티와 인기 서비스용 즉시 사용 가능한 도구입니다. Current Time 같은 내장 도구는 바로 사용할 수 있고, 더 많은 것을 Marketplace에서 설치하세요.

Google, GitHub 같은 일부 도구 플러그인은 먼저 인증이 필요합니다. 워크스페이스 수준 자격 증명을 Integrations > Tools > Tool Plugin에서 설정하거나, 앱·노드 안의 도구 설정에서 설정하세요.

Swagger API

도구 플러그인으로 이용할 수 없는 서비스를 OpenAPI(Swagger) 명세를 가져와 통합합니다.

스키마를 붙여넣거나, URL에서 가져오거나, 제공된 예제로 시작하면 Dify가 도구 인터페이스를 생성해 줍니다.

워크플로우 (Workflow)

User Input 노드로 시작하는 어떤 Workflow든 도구로 바꿀 수 있어, 다단계 로직을 여러 앱에서 재사용할 수 있습니다. Chatflow는 도구로 사용할 수 없어요.

MCP

MCP 서버를 연결해 그 도구를 Dify로 가져옵니다. MCP 서버는 데이터베이스, 파일 시스템, API 같은 외부 리소스를 감싸 표준 인터페이스로 노출하므로, 앱이 다른 도구처럼 호출할 수 있습니다.

: 여러분의 Dify 앱을 MCP 서버로 게시하려면 MCP 서버로 게시를 참고하세요.

MCP 서버 연결 (Connect an MCP Server)

참고: HTTP 전송을 지원하는 MCP 서버만 지원됩니다.

서버의 URL, 이름, 고유 서버 식별자를 제공해 서버를 추가하세요. Dify가 연결해 필요하면 인증하고, 서버의 도구를 가져와 앱이 호출할 수 있게 합니다.

나중에 도구 목록을 업데이트해 서버의 최신 도구를 가져올 수 있지만, 사용 중인 도구가 제거되거나 변경되면 앱이 깨질 수 있습니다.

참고: 앱은 서버를 그 식별자로 참조합니다. 나중에 변경하면 이전 식별자를 사용하던 앱에서 서버의 도구가 작동을 멈추므로, 영향받는 각 앱에서 도구를 다시 추가해 복원하세요. 내보낸 앱도 서버를 식별자로 참조하므로, 다른 워크스페이스에서 실행하려면 같은 식별자로 동일한 서버를 다시 만들어야 합니다.

인증 (Authentication)

Dynamic Client Registration(기본 켜짐)은 Dify가 서버에서 OAuth 자격 증명을 자동으로 얻을 수 있게 해줘서, 여러분이 직접 애플리케이션을 등록할 필요가 없습니다. 서버가 지원할 때는 켜둔 채로 두세요.

서버가 자동 등록을 지원하지 않거나, 팀의 기존 OAuth 애플리케이션을 써야 할 때는 끄세요. Client IDClient Secret을 입력하고 Dify가 표시하는 redirect URL을 등록하세요.

고급 옵션 (Advanced Options)

커스텀 헤더 (Custom Headers)

서버로 보내는 모든 요청에 추가 HTTP 헤더를 보냅니다. 정적 토큰이나 API 키로 인증하는 서버(예: Authorization: Bearer ***이지만 OAuth 대신 커스텀 헤더를 기대하는 서버라면 언제나 적용 가능)에서 주로 사용합니다.

헤더 값은 동적일 수도 있습니다. {{request.headers.X-Custom-Auth}}는 호출 시점에 실행을 트리거한 HTTP 요청(예: Service API 호출)의 X-Custom-Auth 헤더로 대체되므로, 각 호출자의 자격 증명을 서버로 전달할 수 있어요.

요청이 담고 있지 않은 헤더는 빈 값으로 해석되고, 원점이 되는 HTTP 요청이 없는 실행에서는 플레이스홀더 텍스트가 그대로 전송됩니다.

타임아웃 (Timeouts)

Dify가 서버에서 얼마나 기다릴지 제어합니다. 서버 응답이 느리면 요청 타임아웃을 높이고, 오래 걸리는 스트리밍 결과에는 SSE 읽기 타임아웃을 높이세요. 타임아웃 오류가 발생할 때만 변경하는 게 좋아요.