Dify MCP 클라이언트: Sume 호스팅 MCP 서버 연결하기

Dify는 Integrations > Tools에서 원격 MCP 서버에 연결합니다. Sume 호스팅 MCP를 URL로 추가한 뒤 OAuth로 로그인하거나 API 키 헤더를 보내세요.

읽는 시간 5분Sume
전체 글

Dify는 MCP 클라이언트로 동작합니다. Integrations > Tools에서 URL, 이름, 고유한 서버 식별자로 원격 MCP 서버를 연결하면, Dify가 그 서버의 도구를 가져와 Workflow, Chatflow, Agent 앱이 호출할 수 있게 합니다. Dify는 HTTP 트랜스포트를 쓰는 서버만 지원합니다. Sume 호스팅 MCP 서버라면 URL은 https://mcp.sume.com/mcp이고, 인증은 Dynamic Client Registration을 거치는 OAuth나, Sume API 키를 담은 커스텀 Authorization: Bearer 헤더로 합니다.

Dify 쪽 내용은 Dify 도구 페이지에서, Sume 쪽 내용은 MCP OAuth와 API 키, MCP 빠른 시작, MCP 도구와 게이트, Job과 결과 (영문)에서 가져왔으며, 모두 2026-09-28에 확인했습니다. Sume에는 Dify 전용 연동이 없습니다. Dify는 다른 원격 MCP 서버와 똑같이 Sume 원격 MCP 서버에 연결하며, Sume 기초 페이지는 호스팅 MCP가 여전히 동작하지만 현재 주 경로는 아니라고 설명합니다. Dify에서 Sume REST API를 대신 호출하려면 Dify OpenAPI 커스텀 도구를 참고하세요.

Dify에 MCP 서버를 어떻게 추가하나요?

Integrations > Tools를 열고 MCP 서버를 연결한 뒤 아래 필드를 채우세요. Dify가 서버에 연결하고, 필요하면 인가를 거친 뒤, 서버의 도구를 가져옵니다. 식별자는 한 번만 정하세요. 앱은 식별자로 서버를 참조하므로, 나중에 식별자를 바꾸면 이전 식별자를 쓰던 앱에서 그 서버의 도구가 동작하지 않게 되고, 내보낸 앱을 다른 워크스페이스에서 쓰려면 그 워크스페이스에 식별자가 일치하는 서버가 있어야 합니다.

Dify Dify 도구와 Sume MCP OAuth와 API 키 기준, 2026-09-28 확인.
Dify 설정Dify 페이지 설명Sume에서는
Server URLHTTP 트랜스포트를 쓰는 MCP 서버만 지원https://mcp.sume.com/mcp, Sume의 Streamable HTTP 엔드포인트
NameURL, 식별자와 함께 입력Sume
Server identifier고유 값. 앱이 이 값으로 서버를 참조sume. 나중에 바꾸지 않음
Dynamic Client Registration기본값은 켜짐. Dify가 서버에서 OAuth 자격 증명을 받음OAuth를 쓰려면 켜 둠
Custom Headers모든 요청에 전송. 보통 고정 토큰이나 API 키Authorization: Bearer <key> 또는 x-api-key: <key>
Timeouts요청 타임아웃과 SSE 읽기 타임아웃. 타임아웃 오류가 날 때만 변경jobs_wait 호출이 타임아웃되면 55초보다 크게

Dify에서 Sume에 연결할 때 OAuth와 API 키 중 무엇을 써야 하나요?

읽기 전용으로 시작하려면 OAuth를, 앱이 사람 없이 계속 실행되어야 한다면 API 키를 쓰세요. Dynamic Client Registration을 쓰면 Dify가 서버에서 OAuth 자격 증명을 자동으로 받으며, 현재 Sume 서버는 등록 엔드포인트를 알립니다. 동의는 Sume MCP 호스트에서 이뤄지며, Read는 켜진 채 고정되고 Write 토글은 기본적으로 꺼져 있습니다. Write가 꺼져 있으면 세션에는 읽기 전용 도구만 보이고, generate_image 같은 유료 도구는 insufficient_scope를 반환합니다. 현재 Sume 코드에서 오는 한계가 두 가지 있습니다. 액세스 토큰은 한 시간 동안 유효하고 Sume는 리프레시 토큰을 발급하지 않으므로, 한 시간 뒤에는 다시 인가해야 한다고 생각해 두세요.

등록이 실패하면 Dify가 제시하는 대안은 등록을 끄고 기존 OAuth 앱의 Client ID와 Client Secret을 입력하는 것입니다. 현재 Sume 서버는 토큰 엔드포인트 인증 방식이 none인 공개 클라이언트만 등록하므로 입력할 시크릿이 없습니다. 이럴 때는 키 헤더를 쓰세요.

API 키를 쓰면 한 시간마다 로그인하지 않아도 됩니다. API 키 세션에는 유료 도구를 포함한 Sume의 전체 호스팅 도구 세트가 보이고, 지출은 키가 속한 Sume 워크스페이스로 잡히므로, 이 서버를 쓰는 모든 Dify 앱이 그 워크스페이스에서 지출합니다.

  • Dify는 실행마다 헤더를 채울 수 있습니다. {{request.headers.X-Custom-Auth}}는 Service API 호출처럼 그 실행을 시작한 HTTP 요청의 해당 헤더 값으로 바뀝니다. 헤더가 없으면 빈 값이 되고, 실행을 시작한 요청 자체가 없으면 플레이스홀더 텍스트가 그대로 전송됩니다. 어느 경우든 그 실행은 Sume 인증을 통과하지 못합니다.
  • 키를 프롬프트나 앱 입력에 넣지 말고, 로그나 채팅 기록에 노출되면 교체하세요.

Dify 앱은 어떤 Sume 도구를 받나요?

Dify가 목록을 가져올 때 세션에 보이는 도구 전부입니다. 그러니 앱의 Tool 노드나 에이전트에는 그 앱에 필요한 도구만 추가하세요. 엔드포인트, 인증 출처, 안전 설정을 확인해 주는 mcp_health와 tools_list부터 시작하세요. Dify는 나중에 도구 목록을 업데이트해 서버의 최신 도구를 가져올 수 있지만, 앱이 쓰던 도구가 제거되거나 바뀌었다면 그 앱이 깨질 수 있습니다.

Sume 유료 도구에는 모두 idempotency_key가 필요합니다. dry_run=true는 Job을 제출하지 않고 접수 여부와 비용을 미리 보여 주며, max_spend_usd는 값을 보낸 경우에만 호출의 상한이 됩니다. 에이전트에서는 모델이 이 인수들을 작성하므로, 먼저 dry_run을 실행하라고 지시하세요. Sume MCP 도구 목록은 호스팅 도구를 읽기, 쓰기, 유료로 나눠 정리합니다.

Sume를 쓰려면 Dify 타임아웃은 얼마나 필요하나요?

Job 대기에는 55초보다 길어야 합니다. Sume의 jobs_wait는 호출 한 번을 최대 55초, timeout_seconds를 생략하면 50초 동안 붙잡아 둡니다. Dify 페이지는 요청 타임아웃의 기본값을 밝히지 않고 타임아웃 오류가 날 때만 바꾸라고 하므로, jobs_wait 호출이 타임아웃되면 55초보다 크게 올리세요.

클라이언트 쪽 타임아웃은 Job을 취소하지 않습니다. Job은 계속 실행되고 계속 청구됩니다. wait_slice_expired를 받으면 앱은 같은 id로 jobs_wait를 다시 호출해야 하며, 유료 create는 절대 다시 제출하면 안 됩니다. 이 패턴은 긴 영상 Job의 MCP 도구 호출 타임아웃에서 다룹니다.

출처

관련 글

연동 카테고리의 다른 글

연동 글 전체 보기

작성자 Sume