OpenAI Responses API MCP 도구로 Sume 호출
Sume 호스팅 MCP 서버를 Responses API에 mcp 도구로 추가하고, Sume API 키는 headers로 보내고, 유료 도구 호출은 실행 전에 승인하세요.

OpenAI Responses API에서 Sume 호스팅 MCP 도구를 호출하려면 server_label을 sume로, server_url을 https://mcp.sume.com/mcp로 지정한 mcp 도구를 추가하고, Sume API 키를 도구의 headers에 Authorization: Bearer로 담아 보내세요. 그리고 읽기 도구는 승인 없이 실행되고 유료 도구는 승인을 기다리도록 require_approval을 설정하세요.
OpenAI 쪽 내용은 MCP 서버 가이드와 Create a response 레퍼런스에서, Sume 쪽 내용은 OAuth와 API 키, MCP 도구와 게이트, Job과 결과 (영문)에서 가져왔으며, 모두 2026-09-27에 확인했습니다. Sume는 OpenAI용 패키지나 플러그인을 배포하지 않습니다. Responses API 자체의 mcp 도구가 Sume 원격 MCP 서버에 연결하는 방식입니다. Sume 기초 페이지는 호스팅 MCP가 여전히 동작하지만 현재 주 경로는 아니라고 설명합니다.
Sume API 키는 어디에 넣나요?
headers에 넣습니다. OpenAI 레퍼런스는 authorization을 애플리케이션이 자체 OAuth 플로로 얻은 OAuth 액세스 토큰으로, headers를 인증이나 그 밖의 목적으로 MCP 서버에 보내는 선택 사항 HTTP 헤더로 설명합니다. Sume 호스팅 MCP는 OAuth 액세스 토큰이나 Sume API 키를 받는데 두 자격 증명은 서로 바꿔 쓸 수 없고, Sume 자격 증명 안전 수칙은 Sume OAuth 토큰을 서드파티 프로바이더로 전달하지 말라고 하므로 authorization은 쓸 경로가 아닙니다. 키는 Authorization: Bearer $SUME_API_KEY나 x-api-key로 보내세요.
API 키 세션에는 쓰기·유료 도구를 포함한 전체 호스팅 도구 세트가 보입니다. 이 도구를 쓰면 Sume를 호출하는 쪽은 여러분의 코드가 아니라 OpenAI API이므로, 키는 이 도구가 담긴 모든 요청에 실려 서버 밖으로 나갑니다. Sume 인증 페이지는 API 키를 신뢰할 수 있는 서버, CI 시크릿 저장소, 로컬 개발 머신에 두고, 로그나 채팅 기록에 노출된 키는 교체하라고 합니다. 연결을 직접 관리하고 싶다면 OpenAI Agents SDK가 그런 용도로 MCPServerStreamableHttp를 문서화해 두었습니다. OpenAI Agents SDK MCP 서버에서 Sume용 설정을 다룹니다.
요청은 어떻게 생겼나요?
Responses API는 Streamable HTTP나 HTTP/SSE를 쓰는 원격 서버와 함께 동작하며, Sume 빠른 시작 문서는 streamable HTTP 클라이언트에 Sume 엔드포인트를 지정하라고 안내합니다. 아래 Python 요청은 Sume 도구 여섯 개를 가져오고, 그중 쓰기도 지출도 하지 않는 다섯 개는 승인을 건너뜁니다. allowed_tools는 서버 도구 중 일부만 가져오며, OpenAI는 도구를 많이 노출하면 비용과 지연 시간이 늘어날 수 있다고 설명합니다. 모델이 서버를 처음 쓰면 출력에 mcp_list_tools 항목이 생기고, 이 항목이 컨텍스트에 남아 있는 동안 API는 턴마다 목록을 다시 가져오지 않습니다.
import os
from openai import OpenAI
client = OpenAI()
reads = ["mcp_health", "tools_schema", "generation_admission_preview", "jobs_wait", "jobs_result"]
resp = client.responses.create(
model="gpt-6-astra",
tools=[
{
"type": "mcp",
"server_label": "sume",
"server_url": "https://mcp.sume.com/mcp",
"headers": {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
"allowed_tools": reads + ["generate_video"],
"require_approval": {"never": {"tool_names": reads}},
}
],
input="Check admission for a 5-second 9:16 clip of a desk lamp. Do not submit it.",
)
print(resp.output_text)유료 Sume 도구의 승인은 어떻게 동작하나요?
기본적으로 OpenAI는 원격 MCP 서버와 어떤 데이터든 공유하기 전에 승인을 요청합니다. 승인이 필요한 호출은 도구의 name과 arguments를 담은 mcp_approval_request 항목을 반환합니다. 이 요청에 답하려면 previous_response_id를 앞선 응답으로 설정하고, approve와 approval_request_id를 담은 mcp_approval_response 타입의 입력 항목을 넣어 새 응답을 만드세요. OpenAI 예제는 새 요청에도 같은 tools 항목을 그대로 넣습니다. require_approval: "never"는 모든 도구의 승인을 건너뛰고, never.tool_names를 담은 객체는 목록에 적은 도구만 승인을 건너뜁니다.
승인하기 전에 arguments를 읽어 보세요. Sume는 모든 쓰기·유료 도구에 idempotency_key를 요구하고, dry_run=true는 Job을 제출하지 않고 접수 여부와 비용을 미리 보여 주며, max_spend_usd는 값을 보낸 경우에만 호출의 상한이 됩니다.
| Sume 도구 | Sume 문서 | 승인 설정 |
|---|---|---|
mcp_health, tools_schema | 준비 상태와 인증 출처, name으로 가져오는 도구 하나의 계약 | never 목록에 포함 |
generation_admission_preview | 계정과 카탈로그 도구. 비싼 버스트 전 프리뷰용 | never 목록에 포함 |
jobs_wait, jobs_result | Job 읽기 도구 | never 목록에 포함 |
generate_video | 유료. idempotency_key 필요 | 승인 필요(기본값) |
jobs_cancel | 쓰기. idempotency_key 필요 | allowed_tools에서 제외 |
모델이 Sume를 호출하면 무엇이 돌아오나요?
Sume 호출은 각각 출력에서 mcp_call 항목이 되며, 모델이 보낸 arguments와 Sume가 반환한 output을 담습니다. 호출이 실패하면 error 필드에 MCP 프로토콜 오류, 도구 실행 오류, 연결 오류 중 하나가 채워집니다.
렌더를 기다릴 때 모델은 jobs_wait를 써야 합니다. jobs_wait는 호출 한 번을 최대 55초 동안 붙잡아 두며, wait_slice_expired를 받으면 유료 create를 다시 제출하지 말고 같은 id로 다시 호출해야 합니다. 나머지 대기 계약은 긴 영상 Job의 MCP 도구 호출 타임아웃에서 다룹니다.
실제로 쓰기 전에 무엇을 확인해야 하나요?
첫 실행에서 확인할 두 가지입니다.
- 모델이 먼저
mcp_health를 호출하게 하세요. 엔드포인트, 인증 출처, 안전 설정을 확인해 줍니다. - OpenAI 가이드는 원격 MCP 서버가 OpenAI의 검증을 거치지 않았다고 밝히고, 원격 MCP 서버와 공유하는 모든 데이터를 검토하고 필요하면 기록해 두라고 권합니다.
출처
관련 글
연동 카테고리의 다른 글
- PHP 웹훅 서명 검증: 순수 PHP와 Laravel
PHP에서 Sume 웹훅 검증하기: timestamp.raw_body에 hash_hmac sha256을 적용하고, sume-v1 항목을 나눠 각각 hash_equals로 비교하세요.
- Pipedream에서 Sume 영상 실행의 웹훅 콜백 기다리기
Sume 영상 실행을 시작하는 단계에서 $.flow.suspend()를 호출하고 resume_url을 webhook_url로 넘기면, Sume가 결과를 POST할 때 Pipedream이 재개합니다.
- Power Automate HTTP 요청 API: Sume 실행 시작과 폴링
Power Automate HTTP action으로 Sume API를 호출하세요. Format 실행을 시작하고, Do until 루프로 폴링하고, 키는 Key Vault 시크릿에서 읽습니다.
- Pydantic AI MCP 서버: 에이전트에 Sume 호스팅 도구 연결
MCPToolset과 API 키 헤더로 Pydantic AI 에이전트를 Sume 호스팅 MCP 서버에 연결하고, 도구를 걸러 내고, 유료 호출은 승인 전까지 보류하세요.
작성자 Sume