dropto.run docs
Guides

Deploy from Claude

Claude can publish to Drop2Run directly. Which route you want depends on where Claude is running, and that is the only decision on this page:

Where Claude runsUseWhy that one
Claude Code, or any agent with a shellthe CLIIt already runs shell commands, so a deploy is a command rather than a tool to configure
Claude Desktopthe MCP serverIt has no shell, so it needs a tool
claude.ai, or Claude's mobile appsthe MCP server by URL, as a connectorIt cannot run a program on your machine, so it connects to one that is already running
Another AI product, or your own agentthe CLI with --json, or the APIEvery command answers in JSON, so nothing has to parse prose

Using Cursor, VS Code, Codex or Gemini CLI instead? Deploy from an AI agent has the setup for each of them; nothing on this page is specific to Claude except the three install steps.

The credential is the same one in the same file whichever you pick, so signing in once covers anything you add later — and either route can do the signing in: drop2run login from a shell, or the MCP server's own login tool from inside a chat.

Claude Code: install the CLI

TerminalCode
npm i -g drop2run drop2run login

That is the whole integration. Asking for a deploy is asking for a command:

Publish dist to Drop2Run and tell me the URL.

Claude runs drop2run deploy dist, reads the URL out of the output, and hands it back. Nothing has to be taught, configured or approved per call. The CLI page has the rest of the commands, the --json contract; GitHub Actions has the workflow for publishing on push.

You can give Claude Code the MCP server instead — claude mcp add drop2run -s user -- npx -y @drop2run/mcp — and it is a fair choice: one command, nothing installed globally, and the sign-in happens in the chat when you first ask for a publish. What the CLI has over it here is everything that is not publishing — init, rm, token list, --json — reached by a command that works in any shell rather than a server one client knows about.

Claude Desktop: open the extension

Desktop has no shell, so the CLI is no use to it. Download drop2run.mcpb and open it; Claude shows an install dialog and you are done. Nothing to install first — Claude for macOS and Windows ships the node it runs on.

That gives it nineteen tools — publish_files for whatever Claude wrote (a page, or a markdown note, which publishes on its own), publish_dir for a folder already on disk, list_sites, list_folders, get_site / update_site / pause_site / resume_site / rollback_site to change a site after it is up, list_people / invite_people / remove_person to share it with the people reviewing it, delete_site, list_comments / reply_comment / resolve_comment / reopen_comment to read and answer comments people left on it, and login / login_code to get a token without a terminal.

The MCP server page has the mcpServers block instead, for Desktop if you would rather point it at the npm package, and for every client that is not Claude.

claude.ai and the mobile apps: add the connector

Claude on the web and on a phone cannot run anything on your machine, so it reaches a hosted copy of the same server by URL. Drop2Run is in Claude's connector directory: open it, connect, sign in to Drop2Run in the window that opens, and approve the connection. Nothing to install, and the connector follows your account onto the desktop and mobile apps. To add it by URL instead, open this link, or go to Settings → Connectors → Add custom connector and paste https://mcp.dropto.run/mcp.

It has sixteen of the nineteen tools. login and login_code are gone because the connector signs in for it; publish_dir is gone because there is no disk to read a folder from. publish_files takes any text file but nothing binary — an image, a PDF or an Office file still goes through Desktop's extension or the CLI. The MCP server page has how to see and disconnect the connection.

What to expect it to get wrong, and what stops it

The same for Claude as for any other agent, so it is written once, on Deploy from an AI agent. The short version: with no site named it creates a new site rather than replacing your last one, a generated address can be changed only twice, drop2run rm refuses without --yes, and a token cannot mint another token.

A skill file, if you want the rules built in

Everything above works without one. What a skill adds is the part an agent does not work out from --help: that a deploy with no site named creates a new site, so "update the site" three times leaves three of them.

TerminalCode
mkdir -p .claude/skills/drop2run curl -fsSL https://dropto.run/SKILL.md -o .claude/skills/drop2run/SKILL.md

One file, no plugin, no install step — see Agent skill for what is in it and what deliberately is not.

There is no plugin, and that is a decision rather than a gap: a plugin would shell out to the same CLI you already have, in one client only, and be a third surface to keep current. A skill is a document, so it costs a fetch.

House rules of your own — always init first, never rm, always report the URL — belong in your project's CLAUDE.md, where they apply to your repository rather than to everybody's.

Last modified on