uploadthing-mcp
MCP server for UploadThing that lets AI assistants upload, list, and delete files on UploadThing's CDN via natural language. Runs as a Cloudflare Worker for always-on serverless access.
README
uploadthing-mcp
MCP server for UploadThing, deployable as a Cloudflare Worker.
Connect any MCP-compatible AI assistant (Littlebird, Claude, Cursor, etc.) to your UploadThing account. Upload files from remote URLs, list your files, and delete them — all via natural language.
Why this exists
Most AI tools generate images and files at temporary URLs that expire. This MCP server lets your AI assistant permanently host those assets on UploadThing's CDN — so you can embed them in READMEs, docs, or anywhere else without worrying about broken links.
It runs as a Cloudflare Worker (serverless, always-on, free tier covers most personal use), and connects to any MCP client via a plain HTTPS URL — no local process required.
⚠️ UploadThing API version notice
UploadThing ships breaking changes to their SDK fairly frequently. This project currently tracks uploadthing@^7.x.
If you hit errors after a fresh install or upgrade:
- Check the UploadThing changelog
- Check the open issues in this repo
- Pin a specific working version in
package.jsonif needed
PRs to update compatibility are very welcome.
Tools
| Tool | Description |
|---|---|
upload_from_url |
Download a file from any public URL and re-upload to UploadThing. Returns a permanent CDN URL at https://<app>.ufs.sh/f/<key>. |
list_files |
List files in your UploadThing app with keys, URLs, names, and sizes. Supports limit and offset for pagination. |
delete_files |
Delete one or more files by their file keys. |
Deploy
One-click (Cloudflare)
Click the Deploy to Cloudflare Workers button above. After deployment:
- Go to Cloudflare Dashboard → Workers & Pages → your new
uploadthing-mcpworker - Navigate to Settings → Variables & Secrets
- Add a secret:
UPLOADTHING_TOKEN= your UploadThing API token - Optionally add:
AUTH_TOKEN= a bearer token of your choosing to protect the endpoint
Manual
Prerequisites: Node.js 22+, Wrangler CLI, an UploadThing account
git clone https://github.com/ppatel26/uploadthing-mcp
cd uploadthing-mcp
npm install
# Set your UploadThing token (Dashboard -> API Keys)
npx wrangler secret put UPLOADTHING_TOKEN
# Optional: protect your endpoint
npx wrangler secret put AUTH_TOKEN
npm run deploy
Your server will be live at:
https://uploadthing-mcp.<your-cf-subdomain>.workers.dev
Connect to your MCP client
Littlebird
Go to Settings → Integrations → Add MCP Server and paste your Worker URL.
Claude Desktop / Cursor
These clients use stdio transport and run MCP servers as local processes. For local use, see the original Toolbase-AI/uploadthing-mcp which inspired this project.
Other HTTP-based MCP clients
Point the client at your Worker URL. If AUTH_TOKEN is set, configure the client to send Authorization: Bearer <your-token> with each request.
Environment variables
| Variable | Required | Description |
|---|---|---|
UPLOADTHING_TOKEN |
✅ Yes | Your UploadThing API token (sk_live_...). Get it from the dashboard. |
AUTH_TOKEN |
Optional | A bearer token to protect the endpoint. If set, all requests must include Authorization: Bearer <token>. |
Local development
# Create a .dev.vars file (gitignored) with your secrets
echo 'UPLOADTHING_TOKEN=sk_live_...' > .dev.vars
npm run dev
# Worker runs at http://localhost:8787
Credits
Inspired by Toolbase-AI/uploadthing-mcp, which implements the same idea as a local stdio server.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.