Thanks for reporting a bug you have found in Cursor!
Please add the following info to help us diagnose your issue:
Check the forum to ensure the issue hasn’t been reported already
None found
Provide a clear description of the bug
I was testing out the puppeteer mcp server written by anthropic. When I try and take a screen shot I get a warning saying that images aren’t supported.
Explain how to reproduce the bug (if known)
Just ask it to take a screen shot.
Attach screenshots or recordings (e.g., .jpg, .png, .mp4).
The issue here is that the puppeteer MCP server outputs screenshots as base64 data directly to the terminal, rather than saving them as image files that Cursor can reference. This causes the “conversation too long” error since it’s trying to include all that raw image data
You’ll need to modify the server to save screenshots to files instead of outputting them directly. For now you can work around this by having the server save screenshots to a local path and return that path instead of the base64 data
imo this is the last missing piece of the agent loop.
Cursor agent is amazing at writing server code and checking itself, but if you guys add this one feature, you’ve basically built a Devin capable of fully autonomous full-stack web development right into the IDE.
capabilities: {
resources: {
templates: [“file://${path}”]
}, // Enable resources capability with templates
tools: {}, // Keep tools capability
}. When coding for MCP server if you support “resource” templates and we can send screenshots as resources. that would still be honouring MCP and give us that image reading abilties
I’m having the same problem with a tool I created to manage Android devices and do UI automation and other tasks. Everything works amazing, except for screenshots. Any time a screenshot is requested, Cursor says the conversation is too long and fails. I’m using the MCP Python SDK and the Image type. I tried converting from PNG to JPG to reduce the size, but the conversation too long error persists. The size of the image is <300K so it should be totally fine.
This is definitely a missing piece in the agentic workflow. I’d love it if this got fixed!
A work around for this is just using an api key for Claude models. it’s unfortunate theres an additional cost, but it does make the server usable. Tried it with and without api key and confirmed.
Edit actually I realize it only worked the first time because the window it took the screenshot with was very small
If that’s of any help, I have a workaround for now :
I forked the mcp-playwright repo from microsoft and added an option to save the screenshots in a directory, returning the absolute path of the saved file.
Thanks, Dan. I can update the code manually to start saving them to disk.
How can Cursor reference them, however? Is there some docs on this? I’d be happy for now if the screenshots just showed up in the cursor chat (even though I understand right now you cannot make use of them) in future chats.
This will make it so the user using the MCP server can at least see that screenshots are happening in the moment, and click into it to see what screenshot was taken.