Cloud agents

Attach screenshots from a cloud coding agent

For agents that run in a hosted sandbox without the uploads CLI.

How it works #

Agents that run in a hosted sandbox often can’t install the uploads CLI. The hosted MCP server gives them the same uploads over a URL. With it, a cloud agent can:

  • Upload screenshots, recordings, and files to a pull request.
  • Stage files on a branch before the PR exists.
  • Get back a public URL and Markdown for anything it uploads.

Connect the MCP server #

Add this server URL to your agent’s MCP settings:

https://agents.uploads.sh/mcp

The agent signs in with OAuth the first time it connects. To use a token instead, send it as Authorization: Bearer up_…. For an agent the whole team shares, use a service token from the workspace’s Settings → Service tokens: it belongs to the workspace, and uploads show its label. A personal token from your account settings also works.

Install the GitHub App #

Install the uploads GitHub App on the repository. It posts the attachments comment for uploads made through the hosted server.

Upload from the agent #

The agent calls the put tool with the file and the pull request:

put
{
"filename": "settings-after.png",
"contentBase64": "iVBORw0KGgo…",
"repo": "acme/web",
"pr": 12,
"state": "after"
}

Pass contentUrl instead of contentBase64 when the file is already at a public HTTPS URL. Pass branch instead of pr to stage it before the PR opens.

Full tool list and parameters: Skill vs. MCP →

Cursor cloud agents #

Cursor cloud agents can post screenshots to the pull request themselves. With the GitHub App installed, uploads imports those into your workspace, so they’re searchable and don’t depend on Cursor’s copy. Turn on Allow posting artifacts to GitHub in the Cursor dashboard so the PR gets public artifact links. See Imported attachments.

FAQ #

Can a cloud coding agent attach screenshots to a GitHub pull request?
Yes. Connect the uploads hosted MCP server and install the uploads GitHub App on the repository. The agent calls the put tool with the PR number, and the file is posted to the PR's attachments comment.
How does the agent send a file with no filesystem access?
The put tool takes the file as base64 content, or a public HTTPS URL that the server fetches.
Does uploads work with Cursor cloud agents?
Yes. Connect the hosted MCP server as above. Screenshots a Cursor cloud agent posts to the PR on its own are also imported into your workspace by the uploads GitHub App.
Why install the GitHub App?
Without a local shell there is no gh fallback, so the GitHub App posts the attachments comment. Without it, the agent can still paste the returned Markdown into the PR itself.