# uploads.sh MCP server

> Allows coding agents to host artifacts like screenshots, recordings, and logs, then automatically attach them to GitHub pull requests as managed comments.

- Repository: https://github.com/buildinternet/uploads
- Page: https://hostedmcp.org/servers/buildinternet/uploads
- Transport: stdio, remote
- Stars: 20
- License: Apache-2.0
- Latest version: 0.63.1

## Install

### Claude Code

```sh
claude mcp add --env UPLOADS_TOKEN=<YOUR_UPLOADS_TOKEN> uploads -- npx -y @buildinternet/uploads
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "uploads": {
      "command": "npx",
      "args": [
        "-y",
        "@buildinternet/uploads"
      ],
      "env": {
        "UPLOADS_TOKEN": "<YOUR_UPLOADS_TOKEN>"
      }
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "uploads": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@buildinternet/uploads"
      ],
      "env": {
        "UPLOADS_TOKEN": "<YOUR_UPLOADS_TOKEN>"
      }
    }
  }
}
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "uploads": {
      "command": "npx",
      "args": [
        "-y",
        "@buildinternet/uploads"
      ],
      "env": {
        "UPLOADS_TOKEN": "<YOUR_UPLOADS_TOKEN>"
      }
    }
  }
}
```

### Codex (`~/.codex/config.toml`)

```toml
[mcp_servers.uploads]
command = "npx"
args = ["-y", "@buildinternet/uploads"]

[mcp_servers.uploads.env]
UPLOADS_TOKEN = "<YOUR_UPLOADS_TOKEN>"
```

### Gemini CLI (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "uploads": {
      "command": "npx",
      "args": [
        "-y",
        "@buildinternet/uploads"
      ],
      "env": {
        "UPLOADS_TOKEN": "<YOUR_UPLOADS_TOKEN>"
      }
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `UPLOADS_TOKEN` | yes | yes | Workspace bearer token (up_<workspace>_…). Mint with uploads login. |
| `UPLOADS_API_URL` | no | no | API origin. Defaults to https://api.uploads.sh. |
| `UPLOADS_WORKSPACE` | no | no | Workspace name. Inferred from the token when omitted. |

## FAQ

### How does uploads.sh help with GitHub pull requests?

It stages files on a branch and, when the pull request opens, promotes them into a single managed comment that updates automatically on each revision.

### Can I use my own storage provider?

Yes, you can connect your own Cloudflare R2 or any S3-compatible provider for unmetered storage.

### How can I connect my AI agent to this service?

You can connect agents like Claude Code or Codex using the hosted MCP server URL provided in the documentation.
