io.github.drumst0ck/uploadkit
UploadKit MCP — 40+ upload components, route scaffolds, BYOS setup, full docs search.
What can you do with io.github.drumst0ck/uploadkit?
- Classics —
UploadButton,UploadDropzone,UploadModal,FileList,FilePreview - Premium dropzones — Glass (Vercel/Linear), Aurora (Apple), Terminal (Raycast), Brutal (Neo-brutalist), Minimal, Neon
- Specialty —
UploadAvatar,UploadInlineChat(ChatGPT-style),UploadStepWizard(Stripe Checkout-style),UploadEnvelope(WeTransfer-style) - Motion / Progress —
UploadProgressRadial,UploadProgressLiquid,UploadProgressOrbit,UploadCloudRain,UploadBento,UploadParticles,UploadDataStream(Matrix/Warp-style) - Galleries —
UploadGalleryGrid,UploadPolaroid,UploadTimeline,UploadKanban,UploadStickyBoard
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
@uploadkitdev/mcpclaude mcp add uploadkit -- npx -y @uploadkitdev/mcp@0.3.1
{
"mcpServers": {
"uploadkit": {
"command": "npx",
"args": [
"-y",
"@uploadkitdev/mcp@0.3.1"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
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
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.
Or use the CLI (recommended)
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
Packages
| Package | Version | Description |
|---|---|---|
@uploadkitdev/core | Framework-agnostic upload client (browser, Node, Edge) | |
@uploadkitdev/react | 40+ premium React upload components | |
@uploadkitdev/next | Next.js App Router handler + Express/Hono adapters | |
@uploadkitdev/mcp | Official MCP server for AI coding assistants | |
create-uploadkit-app | Scaffolder for new projects (Next, SvelteKit, Remix, Vite) |
Component highlights
UploadKit ships 40+ components across 7 categories:
- Classics —
UploadButton,UploadDropzone,UploadModal,FileList,FilePreview - Premium dropzones — Glass (Vercel/Linear), Aurora (Apple), Terminal (Raycast), Brutal (Neo-brutalist), Minimal, Neon
- Specialty —
UploadAvatar,UploadInlineChat(ChatGPT-style),UploadStepWizard(Stripe Checkout-style),UploadEnvelope(WeTransfer-style) - Motion / Progress —
UploadProgressRadial,UploadProgressLiquid,UploadProgressOrbit,UploadCloudRain,UploadBento,UploadParticles,UploadDataStream(Matrix/Warp-style) - Galleries —
UploadGalleryGrid,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.
Frequently asked questions
What is io.github.drumst0ck/uploadkit?
UploadKit MCP — 40+ upload components, route scaffolds, BYOS setup, full docs search.
How do I install io.github.drumst0ck/uploadkit?
It runs on your machine. In Claude Code: claude mcp add uploadkit -- npx -y @uploadkitdev/mcp@0.3.1. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.drumst0ck/uploadkit need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.drumst0ck/uploadkit open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.drumst0ck/uploadkit?
It is published by drumst0ck. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.