Cline oversized MCP result cache: keep Sume job results small
Cline's SDK now caches MCP results over 16 MiB and gives a preview plus a cache URI. Keep Sume job output small with jobs_wait include_results.

Cline's SDK v0.0.89 caches oversized MCP results per session, up to 16 MiB, and returns a bounded preview with a cline://cache/... URI that read_files can page; an entry expires after five model iterations without a read (release notes, read 2026-10-04). With Sume you rarely need that path. Ask jobs_wait for ids without include_results, then fetch only the results you need.
How Sume keeps a wait small
jobs_wait holds at most 55 seconds per call and accepts a batch of job ids. By default it returns statuses. With include_results it adds the results, and when they are too big for one answer it names the ones it left out in results_omitted.job_ids (MCP tools and gates).
| Call | Returns | Result size risk |
|---|---|---|
| jobs_wait, no include_results | Status per job id | Small |
| jobs_wait with include_results | Statuses plus results that fit | Bounded; extras listed in results_omitted.job_ids |
| jobs_result on the omitted ids | Results for those ids | You choose the batch |
A pattern that avoids the cache
Start the jobs, wait on all ids with statuses only, and read results for the finished ones in a second call. If a wait with include_results lists ids under results_omitted.job_ids, read those in a batch jobs_result call. A model then sees a small payload each turn, and nothing depends on a client-side cache expiring after five iterations.
- Wait loop: repeat
jobs_waitwhile any job is still running; a call that returns early is not a failure. - Read step: one batch call for finished ids.
- A client timeout does not cancel a job, so a dropped connection never loses the render.
What the cache is good for
Cline's cache helps with results you cannot shrink, such as a large file listing. Use it there. For Sume job output, the cheaper fix is to ask for less in the first place.
Sources
Related posts
More in Developers
- Cut a 30-second hook from a video's audio: detach with a range
Pull just seconds 45 to 75 of a Sume-hosted video as a mono mp3 with POST /v1/audio-detach and range. Source and output caps, price and refusals.
- Claude rejects forced tool_choice: steer generate_video by description
Claude Sonnet 5.5 and Opus 5.5 return a 400 for tool_choice any or tool, and thinking cannot be disabled. Steer Sume tool calls with descriptions and a dry run.
- Docker Compose: make a Sume webhook receiver refuse an empty secret
Use ${SUME_COM_WEBHOOK_SIGNING_SECRET:?message} in compose.yaml so docker compose stops before the receiver starts, and check again in the app code.
- Draft with GPT Image 2.5 Flare, finish with Sunburst: a two-pass edit
OpenAI pairs Flare with fast generation and Sunburst with editing precision. A Python two-pass on Sume's Image API that drafts, then refines the first result.
Written by Sume