drop2run-mcp
Officialdrop2run-cli
Source for the two Drop2Run packages that run on your machine: the drop2run
command line tool and the @drop2run/mcp server.
Both are installed globally and then handed a credential. This repository exists so you can read what you are giving that credential to.
npm i -g drop2run # https://www.npmjs.com/package/drop2run
npx @drop2run/mcp # https://www.npmjs.com/package/@drop2run/mcpUsing them
The command line tool signs in through a browser and publishes a folder:
drop2run login
drop2run deploy distlogin needs a browser on the same machine; drop2run login --device covers a remote shell, and CI
uses a DROP2RUN_TOKEN from https://dropto.run/account/tokens. The other commands are init,
ls, open, rollback, rm, token list, whoami and where, and --json on any of them
prints machine-readable output.
The MCP server is registered with a client rather than run by hand — one command for Claude Code:
claude mcp add drop2run -s user -- npx -y @drop2run/mcpIt exposes three tools — publish_files, publish_dir and list_sites — and reads its token from
the same place the CLI stores one, so signing in once covers both.
Each package documents itself in full, including the sign-in flows and what happens without a
site: packages/cli/README.md and
packages/mcp/README.md. The hosted documentation is at
dropto.run/docs/cli and
dropto.run/docs/mcp.
What is in here
Package | Published | What it is |
| The command line tool: | |
| An MCP server, so an agent can publish what it just wrote | |
| no | The deploy engine — manifest, hashing, upload, go-live. No Node APIs, no browser APIs |
| no | The parts that need |
core and node are not published. They are bundled into each package's dist/ at build time, which
is why drop2run installs with no runtime dependencies at all — an intentional choice for
something that holds a token. @drop2run/mcp has two, both required by the protocol:
@modelcontextprotocol/sdk and zod.
Building and testing
Each package stands alone — there is no workspace root, and internal imports resolve through the
relative paths in each tsconfig.json.
cd packages/cli # or mcp, or node
npm ci
npm run typecheck
npm test
npm run build # writes dist/, which is what npm shipspackages/core has no dependencies and no build of its own; it is typechecked by the packages that
bundle it.
Where the rest is
This repository is an export of the four packages above, with their full history. The Drop2Run service itself — the API, the edge router, the dashboard — is not here and is not open source. What that means in practice: the code that decides what happens to a file after it leaves your machine is not something this repository lets you audit. What it does let you audit is everything that happens to your files and your token before that point, which is the part that runs with your privileges.
Issues about the CLI or the MCP server are welcome here. Anything about the hosted service belongs at dropto.run/contact.
Pull requests are welcome too, with one thing worth knowing first: this repository is generated, so a pull request is not merged here. The change is applied in the source repository and reaches this one in the next export, with your commit and its authorship carried along; the pull request is then closed with a link to the commit. Merging it here instead would put a commit in this history that no future export contains, and the two would diverge on the very next update.
Licence
MIT.