Skip to main content
Glama

UploadKit

개발자를 위한 파일 업로드. 아름답게.

오픈 소스 TypeScript SDK + 40개 이상의 프리미엄 React 컴포넌트 + Cloudflare R2 관리형 스토리지 — BYOS(Bring Your Own Storage) 모드를 통해 자체 S3, R2, GCS 또는 Backblaze B2 버킷을 사용할 수 있습니다. 5GB를 영구 무료로 제공합니다.

웹사이트 · 문서 · 대시보드 · Discord · 변경 로그


설치

pnpm add @uploadkitdev/react @uploadkitdev/next

적용하기

import { UploadDropzone } from '@uploadkitdev/react';
import '@uploadkitdev/react/styles.css';

export default function Page() {
  return <UploadDropzone route="media" />;
}

이것으로 끝입니다. 프리미엄 드롭존, 다크 모드, CSS 변수를 통한 테마 설정, 엔드 투 엔드 타입 안전성을 모두 얻을 수 있습니다.


패키지

패키지

버전

설명

@uploadkitdev/core

npm

프레임워크 독립적 업로드 클라이언트 (브라우저, Node, Edge)

@uploadkitdev/react

npm

40개 이상의 프리미엄 React 업로드 컴포넌트

@uploadkitdev/next

npm

Next.js App Router 핸들러 + Express/Hono 어댑터

@uploadkitdev/mcp

npm

AI 코딩 어시스턴트를 위한 공식 MCP 서버

주요 컴포넌트

UploadKit은 7개 카테고리에 걸쳐 40개 이상의 컴포넌트를 제공합니다:

  • 클래식UploadButton, UploadDropzone, UploadModal, FileList, FilePreview

  • 프리미엄 드롭존 — Glass (Vercel/Linear), Aurora (Apple), Terminal (Raycast), Brutal (Neo-brutalist), Minimal, Neon

  • 특수 컴포넌트UploadAvatar, UploadInlineChat (ChatGPT 스타일), UploadStepWizard (Stripe Checkout 스타일), UploadEnvelope (WeTransfer 스타일)

  • 모션 / 진행률UploadProgressRadial, UploadProgressLiquid, UploadProgressOrbit, UploadCloudRain, UploadBento, UploadParticles, UploadDataStream (Matrix/Warp 스타일)

  • 갤러리UploadGalleryGrid, UploadPolaroid, UploadTimeline, UploadKanban, UploadStickyBoard

모두 MIT 라이선스이며, 기본적으로 다크 모드를 지원하고 CSS 사용자 정의 속성을 통해 테마를 설정할 수 있으며, motion을 피어 의존성으로 사용하거나 없이도 작동합니다.

BYOS — 자체 스토리지 사용 (Bring Your Own Storage)

프론트엔드 변경 없이 자체 버킷에 동일한 SDK를 사용하세요. 자격 증명은 서버 측에 안전하게 유지됩니다.

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!,
  }),
});

지원되는 제공업체: AWS S3 · Cloudflare R2 · Google Cloud Storage · Backblaze B2.

AI 네이티브 — MCP 서버

UploadKit은 공식 Model Context Protocol 서버를 제공하여 Claude Code, Cursor, Windsurf, Zed, ChatGPT 및 Claude.ai가 모든 컴포넌트와 스캐폴드에 대한 전문 지식을 바탕으로 UploadKit 코드를 생성할 수 있도록 합니다.

Stdio (IDE 클라이언트):

npx -y @uploadkitdev/mcp

원격 HTTP (ChatGPT / Claude.ai 웹):

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

전체 설정: docs.uploadkit.dev/docs/guides/mcp · 소스: packages/mcp · 레지스트리: io.github.drumst0ck/uploadkit

모노레포 구조

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)
  db          MongoDB models
  emails      React Email templates
  shared      types, errors, utilities
  ui          dashboard components
  config      shared tsconfig / eslint / tailwind base

기술 스택

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.

상태

버전 1.0 출시. 활발히 유지 관리 중입니다. Discord에서 커뮤니티 참여를 환영합니다.

라이선스

MIT © Drumst0ck 및 기여자.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

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