← All posts
6 min read

Giving Cursor Visual Context on a Mac

Cursor can see images — including ones returned by MCP tools. Here is how to get an annotated Mac screenshot in front of it, and why a labelled region beats a raw screenshot.

Short answer: yes, Cursor can see your screen — you just have to hand it over, and how you hand it over decides whether the answer is useful.

What Cursor actually supports

As of August 2026, Cursor's MCP documentation states that MCP servers can return images as base64-encoded strings, that Cursor attaches those returned images to the chat, and that the model analyzes them if the model supports images.

That last clause is worth reading twice. Image handling is a property of both the editor and the model you have selected. Cursor will attach the image either way; whether it gets understood depends on the model behind the composer. If you switch to a text-only model, the picture is still there and still ignored.

Why a raw screenshot underperforms

Handing over one flat image forces a choice you cannot win:

  • A full-screen capture buries the thing you care about in editor chrome, browser tabs, and half your desktop.
  • A cropped capture shows the thing you care about with none of the layout around it — so the model cannot tell whether the button is misaligned relative to the card, the column, or the page.

The result is a conversation where you spend three turns narrowing down which pixel you meant. That is the trade-off examined in how to give your AI coding agent visual context, and it is the reason "just paste a screenshot" plateaus so quickly.

Send a labelled capture directly

Screentack ships Cursor as a send target, so a capture can go straight into it.

Press the hotkey, drag a box over each thing that is wrong, and type a short label — "misaligned button", "this text wraps on mobile". Submit, and Cursor receives the full screenshot, a crop of each labelled region in order, and a manifest describing where each region sits on screen.

The labels are the part people underestimate. They are not annotations for you; they are the prompt. A region labelled "wrong colour" and a region labelled "wrong shade of the brand blue" send the model down different paths.

Or let Cursor pull the screenshot itself

Sending works well when you have one thing to point at. It works less well in a loop, where the agent changes something, wants to look, changes it again — and you are the bottleneck between every round.

Connecting a capture server over MCP removes you from that loop. Cursor calls the capture tool itself, gets the image attached to the chat, and can iterate without waiting on a human to take a new screenshot. Subject, as above, to the model you have selected being able to read images.

What to send

Whichever path you use, the same rule applies: send structure, not just pixels. The full shot for context, the crops for precision, the manifest to tie them together. One giant image asks the model to do your pointing for you, and it will sometimes point at the wrong thing very confidently.

If you want the inverse — the agent drawing its understanding back onto your screen so you can correct it before it writes code — that loop is described in bidirectional visual feedback for AI coding agents.

Stop making Cursor guess which button you meant. Download Screentack — a free 7-day trial, then $29 once.

Frequently asked questions

Can Cursor see images returned by an MCP server?

Yes. As of August 2026, Cursor's MCP documentation states that MCP servers can return images as base64-encoded strings, that Cursor attaches returned images to the chat, and that the model analyzes them if the model supports images. So image support depends on the model you have selected as well as on Cursor itself.

Is pasting a screenshot into Cursor good enough?

It works, but it makes the model guess which part of the image you mean. Sending labelled region crops alongside the full screenshot and a manifest of where each region sits removes the guessing, which is where most of the back-and-forth goes.

Do I need an MCP server to give Cursor a screenshot?

No. You can send a capture straight into Cursor as an image. An MCP server matters when you want Cursor to capture the screen itself during a loop instead of waiting for you to take and paste a new screenshot each round.