@buildinternet/uploads

MCPattestedlive
v0.52.1sh.uploadsApache-2.0Updated 2d agonpmGitHub

CLI and client for uploads.sh — workspace-scoped image hosting for GitHub embeds

Endpoint healthlive
checked 5 days ago · 838ms · auth required
100% of the last 1 check reached this endpoint
Works in
ClaudeCursorCopilotChatGPTGemini

Inferred from the transports this listing declares (stdio, streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
1kDownloads/wk
2d agoLast update
Needs 1 credential before it runs
  • UPLOADS_TOKENAPI keyrequired

    Workspace bearer token (up_<workspace>_…). Mint with uploads login.

Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Package
Authorsh.uploads
LicenseApache-2.0
Version0.52.1
Sourcenpm+mcp-registry
Trust Status
A
85/100Trusted
Listed in Forge index+10/10
Identity verified · attested build+20/20
Ed25519 publish signature+0/5
Included automatically when the publisher runs `forge publish`
Domain verification+0/5
Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
npm Trusted Publishing (Sigstore)+5/5
npm maintainer match+0/5
Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
CVE scan · clean+30/30
Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain
Provenance✓ Sigstore-verified · 8c3eda3
Dependencies✓ 16 resolved · none vulnerable
Tool surface22 tools · 1 privileged
Security scan✓ Cleanv0.52.1 · todayHow well does this scan work?
EvalsNone
IndexedAug 27, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

22 tools · 1 privileged
Statically extracted from the published packagev0.52.1 · 2h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

gallery_createCreate a public ordered media gallery in the workspace. The returned canonical URL is safe to give users, but anyone who knows it can view the gallery and its media.

Create a public ordered media gallery in the workspace. The returned canonical URL is safe to give users, but anyone who knows it can view the gallery and its media.

No input schema was published for this tool.

gallery_getGet a workspace-owned gallery, including ordered media and its canonical public URL. Gallery media is public to anyone with the URL.

Get a workspace-owned gallery, including ordered media and its canonical public URL. Gallery media is public to anyone with the URL.

No input schema was published for this tool.

gallery_addAdd one existing, publicly served workspace object to a gallery. Reads the latest gallery version before writing, so the optimistic API version is handled safely. Does not upload or delete the object.

Add one existing, publicly served workspace object to a gallery. Reads the latest gallery version before writing, so the optimistic API version is handled safely. Does not upload or delete the object.

No input schema was published for this tool.

gallery_linkLink a gallery to an external reference. References use provider-neutral fields; github currently accepts owner/repo#number or a strict GitHub issue/PR URL. No GitHub credentials or API calls are used.

Link a gallery to an external reference. References use provider-neutral fields; github currently accepts owner/repo#number or a strict GitHub issue/PR URL. No GitHub credentials or API calls are used.

No input schema was published for this tool.

gallery_find_by_referenceFind workspace galleries linked to an external reference. Returns gallery summaries and canonical public URLs without contacting the provider.

Find workspace galleries linked to an external reference. Returns gallery summaries and canonical public URLs without contacting the provider.

No input schema was published for this tool.

putNo description published

This tool published no description. Forge does not invent one.

screenshotCapture a URL or local HTML file and host it. Shares put's attach, comment, and metadata options. `via=local` needs Chrome; `via=remote` renders server-side. localhost URLs are local-only.

Capture a URL or local HTML file and host it. Shares put's attach, comment, and metadata options. `via=local` needs Chrome; `via=remote` renders server-side. localhost URLs are local-only.

No input schema was published for this tool.

attachNo description published

This tool published no description. Forge does not invent one.

listList uploaded objects in the workspace, filtered by key prefix or by a PR/issue's attachments. Paginate with cursor, or set all to fetch every page.

List uploaded objects in the workspace, filtered by key prefix or by a PR/issue's attachments. Paginate with cursor, or set all to fetch every page.

No input schema was published for this tool.

stagedList files staged for a git branch and whether they will auto-attach when a PR opens. Returns `{ repo, branch, files, binding }`.

List files staged for a git branch and whether they will auto-attach when a PR opens. Returns `{ repo, branch, files, binding }`.

No input schema was published for this tool.

deleteprivilegedDelete an uploaded object by key. Set dryRun to preview without deleting.

Delete an uploaded object by key. Set dryRun to preview without deleting.

No input schema was published for this tool.

get_metadataRead the queryable tags on one file. Returns `{ metadata }` (empty when none). Same as `uploads meta get`.

Read the queryable tags on one file. Returns `{ metadata }` (empty when none). Same as `uploads meta get`.

No input schema was published for this tool.

set_metadataSet or delete queryable tags on an existing file. `set` wins over `delete` for the same key. Requires `set` and/or `delete`. Same as `uploads meta set`.

Set or delete queryable tags on an existing file. `set` wins over `delete` for the same key. Requires `set` and/or `delete`. Same as `uploads meta set`.

No input schema was published for this tool.

find_filesSearch files by metadata (`filters`) and/or filename substring (`name`). At least one is required. Same as `uploads find`.

Search files by metadata (`filters`) and/or filename substring (`name`). At least one is required. Same as `uploads find`.

No input schema was published for this tool.

list_metadata_keysList metadata keys in the workspace (with counts). Pass `key` to list that key's values instead. Use before `find_files`. Same as `uploads meta keys`.

List metadata keys in the workspace (with counts). Pass `key` to list that key's values instead. Use before `find_files`. Same as `uploads meta keys`.

No input schema was published for this tool.

usageWorkspace storage and monthly upload counters (and remaining headroom when budgets are configured). Same as `uploads usage`.

Workspace storage and monthly upload counters (and remaining headroom when budgets are configured). Same as `uploads usage`.

No input schema was published for this tool.

reconcileRebuild usage ledger bytes/objects from storage (source of truth). Preserves the monthly upload counter. Requires files:write. Same as `uploads reconcile`.

Rebuild usage ledger bytes/objects from storage (source of truth). Preserves the monthly upload counter. Requires files:write. Same as `uploads reconcile`.

No input schema was published for this tool.

purge_expiredDelete objects older than the workspace retentionDays setting, then reconcile. Skips if retention is unset. Requires files:delete. Same as `uploads purge-expired`.

Delete objects older than the workspace retentionDays setting, then reconcile. Skips if retention is unset. Requires files:delete. Same as `uploads purge-expired`.

No input schema was published for this tool.

commentCreate or update the managed attachments comment on a GitHub PR or issue, listing everything uploaded for it. Posts as uploads-sh[bot] when the GitHub App is installed on the repo; otherwise via local gh auth. Edits its own prior comment in place and never touches other comments.

Create or update the managed attachments comment on a GitHub PR or issue, listing everything uploaded for it. Posts as uploads-sh[bot] when the GitHub App is installed on the repo; otherwise via local gh auth. Edits its own prior comment in place and never touches other comments.

No input schema was published for this tool.

whoamiShow the active uploads.sh identity: workspace, API URL, and token scopes. Use this to learn which workspace you're talking to. A successful result also means the API is up. For a full setup diagnosis, use `doctor`.

Show the active uploads.sh identity: workspace, API URL, and token scopes. Use this to learn which workspace you're talking to. A successful result also means the API is up. For a full setup diagnosis, use `doctor`.

No input schema was published for this tool.

doctorDiagnose the configuration: API health, token auth, and workspace/token alignment. Returns the same report as `uploads doctor --json`, including hints.

Diagnose the configuration: API health, token auth, and workspace/token alignment. Returns the same report as `uploads doctor --json`, including hints.

No input schema was published for this tool.

reportSend an explicit diagnostic report to the uploads team (message + optional text log).

Send an explicit diagnostic report to the uploads team (message + optional text log).

No input schema was published for this tool.

20 of 22 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

CLI and client for uploads.sh — workspace-scoped image hosting for GitHub embeds

Keywords
mcp
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-09-05 — observed resolution, not a publisher declaration.

16 packages resolved · 7 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

Not followed: optionalDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.