get_species and explain_item inline base64 images that blow the MCP response budget (286 KB for a 150-char wiki extract) #230

Closed
opened 2026-08-12 23:14:54 +00:00 by coilyco-ops · 0 comments
Member

QA sweep, 2026-08-12.

Observed

get_species(name="Snapping Turtle") returns 286,264 characters. Field sizes:

Field Bytes
photoDataUri 285,619
wikiExtract 150
taxonomy 52
error 51
everything else < 50 each

99.8% of the response is one base64 JPEG. The response exceeds the MCP client's token cap, so a caller gets an error and a file path instead of an answer — for a lookup whose actual content is two sentences and a taxon.

explain_item(name="Wheat") has the same shape: ~100 KB of image_data_uri around a 3-sentence description.

Expected

Serve the image by URL and let the client fetch it, or gate it behind an opt-in parameter (include_image: false by default). A tool whose useful payload is 200 bytes should not cost a quarter of a megabyte.

Context

7 of 22 tools exceeded the response cap in this sweep. This is the most extreme case and the easiest fix.

QA sweep, 2026-08-12. ## Observed `get_species(name="Snapping Turtle")` returns 286,264 characters. Field sizes: | Field | Bytes | |---|---| | `photoDataUri` | **285,619** | | `wikiExtract` | 150 | | `taxonomy` | 52 | | `error` | 51 | | everything else | < 50 each | 99.8% of the response is one base64 JPEG. The response exceeds the MCP client's token cap, so a caller gets an error and a file path instead of an answer — for a lookup whose actual content is two sentences and a taxon. `explain_item(name="Wheat")` has the same shape: ~100 KB of `image_data_uri` around a 3-sentence description. ## Expected Serve the image by URL and let the client fetch it, or gate it behind an opt-in parameter (`include_image: false` by default). A tool whose useful payload is 200 bytes should not cost a quarter of a megabyte. ## Context 7 of 22 tools exceeded the response cap in this sweep. This is the most extreme case and the easiest fix.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-gaming/eco-app#230
No description provided.