Uploads.sh logo

Uploads.sh

Uploads coding-agent artifacts and stages them for managed GitHub pull-request comments.

Install Uploads.sh

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "uploads-sh": {
      "command": "npx",
      "args": [
        "-y",
        "@buildinternet/uploads"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y @buildinternet/uploads

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 20d ago.

Overview

The uploads.sh MCP server lets coding agents send screenshots, recordings, reports, logs, and other files to uploads.sh. It accepts files as bytes or a URL through the hosted MCP endpoint, with a local stdio option available through the npm CLI. Use it when an agent needs stable public artifact URLs before a pull request exists, or when staged files should appear in a managed GitHub comment.

Use cases

  • Stage screenshots before opening a pull request
  • Attach test reports and logs to GitHub issues
  • Pair before-and-after UI captures
  • Publish stable URLs for agent-generated artifacts

Key features

  • Hosted MCP endpoint with byte or URL uploads
  • Local stdio MCP mode through the npm CLI
  • Branch staging and pull-request promotion
  • Managed GitHub attachment comments
  • Before-and-after artifact pairing
  • Workspace file browsing and share pages

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

11/11 checks healthy over the last 55d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 6d ago via OSV.dev · @buildinternet/uploads (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars20Stargazers on the source repository.
npm downloads4.4kPackage downloads in the last 30 days.
Last commit3d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How Uploads.sh works

What uploads.sh MCP server does

The uploads.sh MCP server connects coding agents to the uploads.sh artifact service. It handles screenshots, screen recordings, test reports, logs, JSON, CSV, Markdown, PDFs, and zip archives. Uploaded files receive stable public URLs that can be used in pull requests and issues.

The service is designed around work in progress on a branch. Files can be staged before a pull request exists, then promoted into one managed GitHub comment when the pull request opens. Files attached to an existing pull request or issue are also collected into that comment, which is updated on later revisions rather than replaced with separate comments.

Uploads can include metadata such as a page path and a before or after state. Matching before-and-after files can be rendered side by side. Other media appears below the comparison, while non-media artifacts are listed with their type and size.

How it works

The hosted MCP endpoint is available at https://agents.uploads.sh/mcp and is registered as sh.uploads/mcp. Agents can send an artifact as file bytes or provide a URL. The local alternative is the uploads mcp command from the published npm package.

The command-line workflow uses uploads put to stage files, uploads attach to add files directly to an open pull request or issue, and uploads staged to inspect what will be attached. The GitHub App can promote staged files when a pull request opens. Without that app, uploads attach --promote performs the promotion after the pull request has been created.

Reusing a filename overwrites the existing upload without changing its URL. Workspaces separate tenants, budgets, and key policies. Uploaded files are public URLs; links for private-repository attachments are difficult to guess, but anyone with a link can view the file.

Setup and configuration

For the hosted connection, add https://agents.uploads.sh/mcp to an MCP-compatible client. The README provides commands for Claude Code and Codex, and also documents an OpenCode command, although OpenCode is not part of the supported-client list used here.

For local use, install the CLI with npm install --global @buildinternet/uploads, then run uploads login. Authentication supports GitHub or a magic link. After signing in, create a workspace or accept an invitation. The commands can also be run through npx @buildinternet/uploads without a global installation.

A GitHub App connection is used to promote staged files automatically.

Tools and capabilities

  • Upload files through the hosted MCP service as bytes or a URL.
  • Stage artifacts on the current branch before a pull request exists.
  • Attach files to an existing GitHub pull request or issue.
  • Create or update one managed attachments comment per pull request.
  • Pair before-and-after captures using metadata or filename conventions.
  • Capture and annotate a page with the CLI's screenshot command.
  • Browse workspace uploads and retrieve raw URLs or copy-ready embeds.

Limitations and notes

The uploads.sh MCP server is under active development, so its APIs may change. Do not upload secrets or sensitive interface content: hosted files are public, and anyone who obtains a URL can view the file.

The README names Claude Code, Codex, and OpenCode connection commands. It does not document MCP tool names or a detailed request schema, so implementations should rely on the current service documentation rather than assuming a fixed tool interface.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Uploads.sh

uploads.sh is an MCP server that connects coding agents to the uploads.sh hosted artifact service and GitHub pull-request workflows. Its documented MCP connection accepts files as bytes or a URL, while the surrounding uploads tools stage, upload, and attach artifacts. It provides public URLs for screenshots, recordings, reports, logs, and archives.

Add the hosted endpoint `https://agents.uploads.sh/mcp` to your MCP client, or install `@buildinternet/uploads` and run `uploads mcp` for local stdio. The CLI can be installed globally or invoked with `npx`.

Yes, `uploads put` stages files on the current branch before a pull request exists. The GitHub App promotes them into a managed comment when the pull request opens. Without the app, run `uploads attach --promote` after opening the pull request.

No, hosted files are public URLs. Attachments from private repositories use non-guessable links, but anyone who has a URL can view the file. Do not upload secrets or sensitive interface content.

Yes, the README provides a Codex command that adds the hosted MCP endpoint at `https://agents.uploads.sh/mcp`. The documented command is `codex mcp add uploads --url https://agents.uploads.sh/mcp`.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewUploads.sh AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/uploads-sh?style=directory)](https://allmcps.com/mcp/uploads-sh)
HTML Embed
<a href="https://allmcps.com/mcp/uploads-sh"><img src="https://allmcps.com/api/badge/uploads-sh?style=directory" alt="Uploads.sh on AllMCPs" /></a>