MCP server for OpenClaw: add Sume's image and video tools
Save Sume's hosted MCP server in OpenClaw with openclaw mcp add, sign in with OAuth or an API-key header, and set requestTimeoutMs above 55,000.

OpenClaw connects to MCP servers you save under mcp.servers in its config and makes their tools available to your agents: add one with openclaw mcp add <name> --url <server-url> --transport streamable-http, or in the Control UI under Settings → MCP. For image, video, and audio tools, add Sume's hosted MCP server that way with openclaw mcp add sume --url https://mcp.sume.com/mcp --transport streamable-http --auth oauth, then run openclaw mcp login sume, or send a Sume API key in a header instead of OAuth. Filter the tools, and set requestTimeoutMs above 55,000, because one Sume jobs_wait call can hold for 55 seconds.
OpenClaw's side comes from Connect MCP servers, Manage saved MCP servers, Transports and OAuth, and its environment and secrets page; Sume's side comes from MCP OAuth and API keys, MCP tools and gates, and Jobs and results, all read on 2026-09-27. Commands and flags are as OpenClaw's docs showed them on that date. Sume has no official OpenClaw integration, and Sume's basics page says hosted MCP still works but is not part of the primary path today.
How do I add Sume to OpenClaw?
OpenClaw connects to Streamable HTTP, SSE, or stdio servers. Set transport: "streamable-http" for Sume; when it is omitted, OpenClaw uses SSE. The same server written straight into OpenClaw's config, with OAuth, a longer request timeout, and a tool filter that admits one paid tool, generate_image:
{
mcp: {
servers: {
sume: {
url: "https://mcp.sume.com/mcp",
transport: "streamable-http",
auth: "oauth",
requestTimeoutMs: 70000,
toolFilter: {
include: [
"mcp_health",
"tools_list",
"jobs_wait",
"jobs_result",
"generate_image",
],
},
},
},
},
}Should OpenClaw use OAuth or an API key for Sume?
OAuth, when a person is around to sign in. OpenClaw's OAuth is for HTTP servers that advertise the MCP OAuth flow, which Sume's does. openclaw mcp login sume prints an authorization URL; after you approve in the browser, OpenClaw normally captures the loopback redirect and saves the credentials. Sume's consent page shows Read locked on and Write off by default; with Write off, paid tools return insufficient_scope. If you set --oauth-scope, Sume's current server accepts only mcp:read and mcp:write.
Sume's current access tokens last one hour, and it issues no refresh token, so an OAuth session needs openclaw mcp login sume again after an hour. For an agent that runs unattended, Sume keeps API-key remote MCP for automation: drop auth, and reference the key from the environment, since OpenClaw substitutes ${VAR_NAME} in any config string and says to keep credentials out of config literals. For example, headers: { "x-api-key": "${SUME_API_KEY}" }, with the key in the environment or ~/.openclaw/.env. An API-key session sees Sume's full hosted tool set, paid tools included.
How do I stop the agent from spending without asking?
Filter first. toolFilter.include and toolFilter.exclude (--include and --exclude on the CLI) filter Sume's tools before they become OpenClaw tools, with simple * globs. Leave generate_image and generate_video out unless the agent should create paid jobs; each one needs an idempotency_key, dry_run=true previews the cost, and max_spend_usd caps a call only when sent.
Approval modes apply to Codex-backed runs, where the default full-permission posture does not prompt. openclaw mcp configure sume --approval prompt asks for every call, auto uses each tool's safety annotations, and approve bypasses per-call approval. Sume's current server marks its read tools readOnlyHint: true and its write and paid tools false.
| Setting | What OpenClaw's docs say | For Sume |
|---|---|---|
transport | streamable-http; SSE when omitted | streamable-http |
auth or headers | auth: "oauth" uses credentials from openclaw mcp login | OAuth, or x-api-key from an environment variable |
requestTimeoutMs | Per-server request timeout in milliseconds; examples use 20000 and 30000 | Above 55,000, for example 70000 |
toolFilter | Include and exclude lists applied before tools reach the agent | Read tools, plus paid tools only when wanted |
--approval | Codex runs: approve, prompt, or auto | prompt when paid tools are listed |
Why does the request timeout matter?
Sume's paid tools answer with a job, and the agent waits with jobs_wait, which holds one call for at most 55 seconds (50 by default). OpenClaw documents requestTimeoutMs without a default; 20000 and 30000 are the values in its examples, and either could cut a Sume wait short. After wait_slice_expired, the agent calls jobs_wait again with the same id and never resubmits the paid create. MCP tool call timeouts on long-running video jobs covers the rest.
How do I check the connection?
openclaw mcp doctor sume --probechecks the saved definition, then opens a live connection and reports the tools the server advertises.openclaw mcp status --verboseprints the resolved transport, auth, timeout, and filter without connecting.- Ask the agent to call
mcp_health, which confirms the endpoint, auth source, and safety posture. Hosted MCP cannot read files from your laptop, so image references must be public HTTPS URLs.
Sources
- OpenClaw Docs: Connect MCP servers (read 2026-09-27)
- OpenClaw Docs: Manage saved MCP servers (read 2026-09-27)
- OpenClaw Docs: Transports and OAuth (read 2026-09-27)
- OpenClaw Docs: Configuration — environment, secrets, and includes (read 2026-09-27)
- MCP OAuth and API keys
- MCP tools and gates
- Jobs and results
- MCP quickstart
- Image API
- MCP overview
- Sume basics
Related posts
More in Integrations
- MCP server for OpenCode: add Sume in opencode.json
Add Sume's hosted MCP server to OpenCode as a remote entry in opencode.json, then sign in with OAuth or send an API key, and keep paid tools in check.
- PHP webhook signature verification in plain PHP and Laravel
Verify a Sume webhook in PHP: hash_hmac sha256 over timestamp.raw_body, split the sume-v1 entries, and compare each one with hash_equals.
- Pipedream wait for webhook callback from a Sume video run
Call $.flow.suspend() in the step that starts a Sume video run, pass resume_url as webhook_url, and Pipedream resumes when Sume POSTs the result.
- Power Automate HTTP request API: start and poll a Sume run
Call the Sume API from a Power Automate HTTP action: start a Format run, poll it in a Do until loop, and read the key from a Key Vault secret.
Written by Sume