Skip to main content
Glama

UploadKit

File uploads for developers. Beautifully.

Open-source TypeScript SDK + 40+ premium React components + managed storage on Cloudflare R2 — with BYOS (Bring Your Own Storage) mode so you can use your own S3, R2, GCS, or Backblaze B2 bucket. 5 GB free forever.

Website · Docs · Dashboard · Changelog

npm: @uploadkitdev/react npm: @uploadkitdev/mcp Glama MCP score Awesome MCP Servers


Quickstart — add to an existing project

Most people land here with a Next.js app already running. Three steps:

pnpm add @uploadkitdev/react @uploadkitdev/next

Create app/api/uploadkit/[...uploadkit]/route.ts:

import { createUploadKitHandler, type FileRouter } from '@uploadkitdev/next';

const router = {
  default: { maxFileSize: '4MB', allowedTypes: ['image/*'] },
} satisfies FileRouter;

export const { GET, POST } = createUploadKitHandler({
  router,
  apiKey: process.env.UPLOADKIT_API_KEY!,
});

Wrap the root layout and drop in a dropzone:

// app/layout.tsx
import { UploadKitProvider } from '@uploadkitdev/react';
// <UploadKitProvider endpoint="/api/uploadkit">{children}</UploadKitProvider>

// any page
import { UploadDropzone } from '@uploadkitdev/react';
// <UploadDropzone route="default" />

Set UPLOADKIT_API_KEY=uk_live_... in .env.local and you're done. Full walkthrough: docs.uploadkit.dev/docs/getting-started/quickstart.

npx uploadkit init

Detects your framework, installs deps, creates the route handler, and wraps your layout — all in one command. See the CLI guide for details.

Starting a new project?

npx create-uploadkit-app my-app

Templates for Next.js, SvelteKit, Remix, and Vite — see the CLI guide.

Using an AI-assistant IDE?

Install the UploadKit MCP server and let Claude Code, Cursor, Windsurf, or Zed wire the whole thing up for you:

npx -y @uploadkitdev/mcp

Related MCP server: mintlify-mcp

Packages

Package

Version

Description

@uploadkitdev/core

npm

Framework-agnostic upload client (browser, Node, Edge)

@uploadkitdev/react

npm

40+ premium React upload components

@uploadkitdev/next

npm

Next.js App Router handler + Express/Hono adapters

@uploadkitdev/mcp

npm

Official MCP server for AI coding assistants

create-uploadkit-app

npm

Scaffolder for new projects (Next, SvelteKit, Remix, Vite)

Component highlights

UploadKit ships 40+ components across 7 categories:

  • ClassicsUploadButton, UploadDropzone, UploadModal, FileList, FilePreview

  • Premium dropzones — Glass (Vercel/Linear), Aurora (Apple), Terminal (Raycast), Brutal (Neo-brutalist), Minimal, Neon

  • SpecialtyUploadAvatar, UploadInlineChat (ChatGPT-style), UploadStepWizard (Stripe Checkout-style), UploadEnvelope (WeTransfer-style)

  • Motion / ProgressUploadProgressRadial, UploadProgressLiquid, UploadProgressOrbit, UploadCloudRain, UploadBento, UploadParticles, UploadDataStream (Matrix/Warp-style)

  • GalleriesUploadGalleryGrid, UploadPolaroid, UploadTimeline, UploadKanban, UploadStickyBoard

All are MIT-licensed, dark mode out of the box, themeable via CSS custom properties, and work with or without motion as a peer dep.

BYOS — Bring Your Own Storage

Use the same SDK against your own bucket — zero frontend changes, credentials stay server-side.

import { createUploadKitHandler, type FileRouter } from '@uploadkitdev/next';
import { createR2Storage } from '@uploadkitdev/next/byos';

const router = {
  media: { maxFileSize: '8MB', maxFileCount: 4, allowedTypes: ['image/*'] },
} satisfies FileRouter;

export const { GET, POST } = createUploadKitHandler({
  router,
  storage: createR2Storage({
    accountId: process.env.CLOUDFLARE_R2_ACCOUNT_ID!,
    accessKeyId: process.env.CLOUDFLARE_R2_ACCESS_KEY_ID!,
    secretAccessKey: process.env.CLOUDFLARE_R2_SECRET_ACCESS_KEY!,
    bucket: process.env.CLOUDFLARE_R2_BUCKET!,
  }),
});

Supported providers: AWS S3 · Cloudflare R2 · Google Cloud Storage · Backblaze B2.

AI-native — MCP server

UploadKit ships an official Model Context Protocol server so Claude Code, Cursor, Windsurf, Zed, ChatGPT, and Claude.ai can generate UploadKit code with first-class knowledge of every component and scaffold.

Stdio (IDE clients):

npx -y @uploadkitdev/mcp

Remote HTTP (ChatGPT / Claude.ai web):

https://api.uploadkit.dev/api/v1/mcp

Full setup: docs.uploadkit.dev/docs/guides/mcp · Source: packages/mcp · Registry: io.github.drumst0ck/uploadkit

Monorepo layout

apps/
  web         Landing + pricing (uploadkit.dev)
  docs        Fumadocs site (docs.uploadkit.dev)
  dashboard   SaaS dashboard (app.uploadkit.dev)
  api         REST API + MCP remote endpoint (api.uploadkit.dev)
packages/
  core                  @uploadkitdev/core
  react                 @uploadkitdev/react
  next                  @uploadkitdev/next
  mcp                   @uploadkitdev/mcp (stdio MCP server)
  mcp-core              shared MCP tool surface (internal)
  create-uploadkit-app  scaffolder for new projects
  db                    MongoDB models
  emails                React Email templates
  shared                types, errors, utilities
  ui                    dashboard components
  config                shared tsconfig / eslint / tailwind base

Tech stack

Next.js 16 · React 19 · Tailwind CSS v4 · TypeScript 5 · MongoDB + Mongoose · Cloudflare R2 · Auth.js v5 · Stripe · Resend + React Email · Fumadocs · Turborepo · pnpm · Changesets.

Status

Version 1.0 shipped. Actively maintained. Issues and contributions are welcome on GitHub.

License

MIT © Drumst0ck and contributors.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
1wRelease cycle
8Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables users to query any Mintlify-powered documentation site directly from Claude. It leverages Mintlify's AI Assistant API to provide RAG-based answers and code examples for various platforms like Agno, Resend, and Upstash.
    11
    18
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides version-pinned, deterministic documentation sourced from DevDocs.io to AI assistants (Claude, RooCode, Cline, Copilot etc.) and also via offline mode. Not via Scraping! But using the supported downloading option from devdocs.
    38
    13
    MIT

View all related MCP servers

Related MCP Connectors

  • Official MCP server for Lovable, the AI-powered full-stack app builder.

  • Augments MCP Server - A comprehensive framework documentation provider for Claude Code

  • Official Microsoft Learn MCP Server – real-time, trusted docs & code samples for AI and LLMs.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/drumst0ck/uploadkit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server