uploads.sh — Claude Code MCP server: what it does, how to install
Hosts coding agent artifacts at fixed URLs and consolidates screenshots, logs, and reports into a self-updating GitHub pull request comment.
claude mcp add --transport http mcp https://agents.uploads.sh/mcpWhat uploads.sh does
This MCP server lets coding agents publish files while working inside a Git branch. It accepts screenshots, screen recordings, test runs, JSON dumps, PDFs, and zip archives directly via raw bytes or URLs. Storage keys omit content hashes, meaning replacing a file keeps the exact same URL active everywhere it was embedded.
Once you open a pull request, the companion GitHub App consolidates staged files into a single comment. Marking screenshots with before and after states arranges them into a side-by-side comparison table. Users can also connect an external Cloudflare R2 bucket or S3-compatible storage to avoid hosted limits.
Running the server via stdio transport requires Node.js along with a valid UPLOADS_TOKEN. Connecting via the hosted HTTP endpoint at https://agents.uploads.sh/mcp works without configuring local CLI packages.
What it helps with
- publish agent screenshots and logs to public URLs before opening a PR
- group test runs and build artifacts into a single GitHub PR comment
- render side-by-side before and after UI comparisons for reviewers
- store agent assets in a private Cloudflare R2 or S3 bucket
Example prompts for the agent
- Upload settings.png to uploads.sh with the path meta set to /settings
- Stage report.json on the current branch using uploads.sh
- Upload before.png and after.png as a visual comparison pair for the pull request
How to install uploads.sh
1Platform CLI: remote server
claude mcp add --transport http mcp https://agents.uploads.sh/mcp2Platform CLI
claude mcp add --env UPLOADS_TOKEN=<UPLOADS_TOKEN> --env UPLOADS_WORKSPACE=<UPLOADS_WORKSPACE> --env UPLOADS_API_URL=<UPLOADS_API_URL> --transport stdio uploadssh -- npx -y @buildinternet/uploadsReplace <…> with your own values
1Platform CLI: remote server
codex mcp add uploadssh --url https://agents.uploads.sh/mcp2Platform CLI
codex mcp add uploadssh --env UPLOADS_TOKEN=<UPLOADS_TOKEN> --env UPLOADS_WORKSPACE=<UPLOADS_WORKSPACE> --env UPLOADS_API_URL=<UPLOADS_API_URL> -- npx -y @buildinternet/uploadsReplace <…> with your own values
Config file
{
"mcpServers": {
"uploadssh": {
"url": "https://agents.uploads.sh/mcp"
}
}
}{
"mcpServers": {
"uploadssh": {
"command": "npx",
"args": [
"-y",
"@buildinternet/uploads"
],
"env": {
"UPLOADS_TOKEN": "<UPLOADS_TOKEN>",
"UPLOADS_WORKSPACE": "<UPLOADS_WORKSPACE>",
"UPLOADS_API_URL": "<UPLOADS_API_URL>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"uploadssh": {
"type": "http",
"url": "https://agents.uploads.sh/mcp"
}
}
}{
"servers": {
"uploadssh": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@buildinternet/uploads"
],
"env": {
"UPLOADS_TOKEN": "<UPLOADS_TOKEN>",
"UPLOADS_WORKSPACE": "<UPLOADS_WORKSPACE>",
"UPLOADS_API_URL": "<UPLOADS_API_URL>"
}
}
}
}Replace <…> with your own values
1Platform CLI: remote server
gemini mcp add -t http uploadssh https://agents.uploads.sh/mcp2Platform CLI
gemini mcp add -e UPLOADS_TOKEN=<UPLOADS_TOKEN> -e UPLOADS_WORKSPACE=<UPLOADS_WORKSPACE> -e UPLOADS_API_URL=<UPLOADS_API_URL> uploadssh npx -y @buildinternet/uploadsReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about uploads.sh
How to install uploads.sh in Claude Code?
Run claude mcp add --transport http uploadssh https://agents.uploads.sh/mcp to add the remote server. If you prefer stdio with npx, run `claude mcp add --env UPLOADS_TOKEN=<UPLOADS_TOKEN> --env UPLOADS_WORKSPACE=<UPLOADS_WORKSPACE> --env UPLOADS_API_URL=<UPLOADS_API_URL> --transport stdio uploadssh -- npx -y @buildinternet/uploads`.
What does uploads.sh do?
It provides coding agents with fixed public URLs for their build artifacts, logs, and screenshots. Staged files automatically attach to a single managed comment on the corresponding GitHub pull request.
Can I connect my own cloud storage?
Yes, uploads.sh supports custom storage through Cloudflare R2 or any S3-compatible service. The entire service can also be self-hosted from its open-source repository.