
Dropl MCP
io.droplv0.6.0更新于 Oct 4, 2026
Create client-editable photo and video galleries from Cursor or Claude Code, then embed them.
概览
让编程助手创建 Dropl 客户站点、上传照片和视频图库、嵌入到网页,并处理客户反馈。
- 功能
- Dropl MCP 把 AI 编程助手连接到 Dropl 账户,可创建客户站点和图库,按文件夹批量上传照片和视频并设置分类与替代文本,并返回适用于 HTML、Next.js、WordPress、Webflow 和 Framer 的嵌入代码。它还能管理菜单、库存、活动等集合,并读取客户反馈,让助手在代码中修复、回复并标记完成。上传可断点续传且可安全重跑,助手被要求先给出计划并在创建或上传前获得确认。
- 适用场景
- 适合用代码或 WordPress、Webflow、Framer 构建客户网站的场景:让助手搭建客户可自行编辑的图库、把媒体从其他托管迁走,或处理客户反馈而无需 CMS。也适合希望客户用手机自行更新照片和视频的代理机构。
- 运行要求
- 通过 npx 以 stdio 在本地运行,需要 Node.js 20.3 或更高版本,无需全局安装。需要 Dropl 账户,可在终端通过浏览器登录一次,或通过环境变量 DROPL_API_KEY 提供 API 密钥。只有账户所有者和管理员能批准登录或创建密钥,密钥可限制到特定站点和权限范围。需要访问 Dropl API 的网络连接。
安装
在 SourceWeft 中
- 打开 控制台中的 Dropl MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Dropl MCP
Create client-editable photo and video galleries from Cursor or Claude Code, then embed them.
[npm version] [License: MIT] [MCP Registry]
Dropl MCP lets AI coding agents set up Dropl for client websites: create client sites and showcases (embeddable photo and video galleries), upload whole folders of media with categories, fetch embed code for HTML, Next.js, WordPress, Webflow, and Framer, manage collections like menus, inventory, and events, and work through client feedback by fixing it in code, replying, and marking it done. Clients then update their own photos and videos from a phone, without a CMS.
It's an MCP server for Dropl, which gives you client-editable galleries, video hosting for agencies (an ad-free Vimeo alternative), and client feedback, for people who build client sites in code or on WordPress, Webflow, and Framer. Uploads go straight from your computer to Dropl's storage, are resumable, and are safe to re-run. The agent is told to show you a plan and get your confirmation before it creates anything or uploads.
Install
[Add to Cursor] [Add to VS Code]
Or add it by hand: see Client configuration. Requires Node.js 20.3 or later. Nothing to install: your MCP client runs it with npx.
Then sign in once from a terminal. This opens your browser so you can approve access; the key is saved on this computer.
What you can ask
- "Upload the photos in ./assets/portfolio to a new Dropl showcase for this client, one filter tab per folder."
- "Embed that showcase on the Work page."
- "I downloaded our Vimeo videos to ~/vimeo-export. Move them to Dropl and swap the Vimeo embeds for Dropl ones."
- "Make the menu on this site a Dropl collection my client can edit."
- "Fix the open Dropl feedback for this site."
- "Write alt text for the photos in the Projects showcase that are missing it."
- "How much storage and bandwidth does this client have left?"
The agent plans first and asks before it creates, uploads, or changes a collection's fields.
Authentication
Choose one:
- Browser sign-in (recommended):
npx -y @dropl/mcp login. It shows a code, opens the Dropl approval page, and saves the resulting API key. Use--client "Cursor"to label it,--no-browserto just print the link, and--api-urlfor a non-production API. - API key: create one in Dropl → Settings → API keys and set it as
DROPL_API_KEYin the MCP server's environment. When it's set, it takes precedence over the saved sign-in.
Only account owners and admins can approve sign-ins or create API keys. Keys can be limited to specific client sites and scopes.
Other commands:
logout only deletes the local copy. To disable a key, revoke it in Dropl → Settings → API keys.
Client configuration
Cursor
In .cursor/mcp.json (this project) or ~/.cursor/mcp.json (all projects):
With an API key instead of the browser sign-in:
Don't commit a config file that contains a key. Use the user-level ~/.cursor/mcp.json, or keep the project file out of version control.
Claude Code
With an API key:
Other MCP clients
Use a stdio server with command npx and arguments ["-y", "@dropl/mcp@latest"]. Add DROPL_API_KEY to its environment if you aren't using the browser sign-in.
Tools
Collections need an API key with the collections:read scope to read, collections:write to add items, and collections:schema to create or change collections.
Feedback needs feedback:read to read and feedback:write to reply or change status. Keys created before Feedback existed don't have these scopes; run npx -y @dropl/mcp login again to get a new key. Ask your agent to "fix the open Dropl feedback": it reads each request, applies text changes in the code, asks the client when something is unclear, and marks the fixed ones done.
Upload results, ids, and alt text
upload_photos and upload_videos return a files list mapping each local path to its Dropl id, with a status of uploaded, already_uploaded (skipped on a re-run, id included), failed (with error), or pending (dry run). The first 100 are listed; omitted and more say how to page through the rest with list_showcase_items.
Set alt text and categories per photo at upload time:
Or later, without uploading again: update_items with { "showcaseId": "…", "items": [{ "id": "0190…a1", "alt": "Cedar deck at dusk", "addCategories": ["Decks"] }] }. Write concise, descriptive alt text (what the photo shows, without "image of"), and leave it empty for purely decorative photos. Alt text is at most 500 characters. Changing alt text needs the showcases:write scope.
Supported uploads: JPEG, PNG, WebP, AVIF, and HEIC photos up to 20 MB each, checked by file contents as well as extension. MP4, MOV, WebM, MKV, AVI, MPEG, and M4V videos. Hidden files are skipped. Symlinks that point outside the folder being uploaded are not followed.
Environment variables
Security
- The saved key lives in
~/.config/dropl/credentials.json($XDG_CONFIG_HOME/droplif set,%APPDATA%\droplon Windows). The folder is created with mode0700and the file is written atomically with mode0600. The server refuses to read the file if other users can read it. - Keys are never printed in full; only their prefix (e.g.
dropl_live_ab12…) is shown. The agent is told never to ask you to paste a key into the chat. - Keys are only sent to the configured Dropl API over HTTPS, and redirects are never followed. Files are uploaded to storage through short-lived signed URLs; your key is never sent to storage.
- To resume interrupted uploads, a small manifest of upload progress is kept in
~/.config/dropl/uploads/. It records file paths and Dropl ids, never file contents. - You can revoke any key at any time in Dropl → Settings → API keys.
FAQ
Is it free? The MCP server is free and open source (MIT). It works with a Dropl account; new accounts start with a free trial, no credit card, and plans are priced per client site, not per seat. See pricing.
Does my client need an account? Only to edit. Invite your client from Dropl → Settings → Sites and they get a client portal that shows just their site, where they update their own photos and videos from a phone, edit collections, and request changes. It's a CMS alternative for client sites: nothing to learn, and they never touch the code. Visitors to the website need nothing.
Which site builders work? Anything that accepts an embed or a script tag. get_embed_code returns a photo gallery embed or video player, with paste instructions for plain HTML, React and Next.js, WordPress, Webflow, and Framer, so the same showcase works as a Webflow gallery or a Framer gallery. For sites written in code, collections are also served as JSON: headless media for Next.js without running a CMS.
Where are files stored? In your Dropl account. Uploads go straight from your computer to Dropl's storage through short-lived signed URLs, and embeds serve them from there. On your computer, the server keeps only the sign-in key and a small upload log (see Security).
Demos to record
Placeholders above until these exist. Record at 1280×800 or so, keep each under 30 seconds, and save them to docs/media/. npm doesn't ship that folder, so link them by absolute URL from the public repo (e.g. https://raw.githubusercontent.com/<owner>/<repo>/main/docs/media/fix-feedback.gif) so they show on npm too:
fix-feedback.gif: in Cursor, "Fix the open Dropl feedback for this site." Show the agent listing requests, editing the code, replying to one unclear request, and marking the rest done, then the client portal showing them as done.folder-to-embed.gif: "Upload ./assets/portfolio to a new showcase and embed it on the Work page." Show the plan and the confirmation, the upload progress, the embed pasted into the page, and the gallery in the browser with filter tabs.
来源:README.md,提交 3682793
工具
0版本历史
1- v0.6.0最新Oct 4, 2026

