Set up

Let your assistant publish it.

Vela Drop is an MCP server. Point your assistant at one URL and it can publish a page it has just written, tag it per recipient, and tell you who opened it.

The endpoint.

One URL. No API key, no OAuth, no account to create.

https://veladrop.com/mcp
Why there's nothing to sign in to. Each page's edit link is already an unguessable key that controls exactly one page and expires with it after 30 days. An account would add a second secret without protecting anything the first one doesn't.

Set it up.

Pick the app you use. Each takes about a minute.

Run this in your terminal:

claude mcp add --transport http veladrop https://veladrop.com/mcp

That registers it for the current project. To make it available in every project, add --scope user. Confirm with claude mcp list, then just ask: "publish this page with Vela Drop."

One domain to allow. The file itself never goes through a tool call — your assistant uploads it with curl, straight to veladrop.com. Apps that sandbox network access block that before it leaves the machine, and the page is created but stays empty. If your assistant says it can't reach veladrop.com, allow that domain in its settings and ask it to try the upload again; the link it already gave you is still the right one. It is the only host involved — the connector and the upload are both on it.

Add the skill.

Optional, and worth a minute. The connector gives your assistant the tools. The skill gives it the order to use them in, and a page template with the tracking and form code already right.

The quickest way: ask. With the connector added, say "install the Vela Drop skill." Your assistant calls get_skill, downloads the files and puts them where it can, or tells you where to put them.

Claude Code, by hand. Run this in your terminal:

mkdir -p ~/.claude/skills/vela-drop && cd ~/.claude/skills/vela-drop curl -sSLO https://veladrop.com/skill/vela-drop/SKILL.md curl -sSLO https://veladrop.com/skill/vela-drop/template.html

That makes it available in every project. For one project only, use .claude/skills/vela-drop inside it instead.

Claude Desktop and Cowork.

  1. Download vela-drop.zip.
  2. Open Settings → Capabilities → Skills.
  3. Upload the zip and switch the skill on.

It is two plain files and you can read both before installing: SKILL.md and template.html. They contain instructions and a page template, and nothing that runs on your machine.

What it looks like.

You

Build me a one-page pricing summary for Acme and publish it. I need separate links for their CFO and their procurement team.

Claude

I've written the page. Publishing it now.

create_drop create_link create_link

Done, it's live. Two tagged links: …veladrop.app/cfo and …veladrop.app/procurement. I've saved your edit link in vela-drop-links.md. Ask me any time who has opened it.

You

Yes. And check back tomorrow.

Claude

get_analytics

As of now: the CFO link has 4 opens from 2 people, last opened 20 minutes ago from the UK on desktop. One more open was a mail scanner, not a reader, so I've left it out. Procurement hasn't opened theirs yet.

Illustration of a typical exchange. Your assistant's wording will differ.

The tools.

Your assistant picks what it needs — you shouldn't have to think about this list.

On any page

Tool
What it does
create_drop
Creates the page and returns the view link, the edit link, and a one-time upload URL
refresh_upload_url
Issues a new upload URL if the first expired before use
get_drop
Status, title, size, expiry, and headline numbers
set_title
Sets the browser tab title
create_link
Adds a tag, which is what makes that link work. One word, no slashes
list_links
Every tag with its own statistics
delete_link
Removes a tag. Its numbers stay in the totals unless you ask for them to go too, which is how to clear a test send. No undo
set_short_link
A seven-character link at veladrop.app for a slide or a printout. Made only when you ask, and never given to another page
get_qr_code
A QR code for any link, as SVG or PNG. Uses the short link when there is one
get_analytics
Opens split into people and machines, unique visitors, countries, devices, referrers
set_finish_event
Names the event that counts as reaching the end, so you see who got there
tracking_guide
How to make a page report what happens inside it. Read before writing anything with navigation
list_visits
What each reader did, visit by visit: the tag they opened and every event after it, each with its own time
get_skill
Where to download the Vela Drop skill, and how to install it in the app you are using
submissions_guide
The two functions that let a page send you data. Read before writing a form, a survey or a booking request
claim_drop
Attaches your email, after you confirm it, so the page can be found again later
confirm_claim
Finishes that claim when you paste the confirmation link back to your assistant instead of opening it
list_drops
Which pages an address has claimed. Never the edit links — those are emailed to the owner
send_sign_in_link
Emails an address the list of its pages with their edit links, for a lost link. You never see the links, and the reply does not say whether the address has pages
delete_drop
Deletes everything, immediately and permanently

With Vela Drop Pro

These are offered on a free page too. Ask for one and your assistant gets back what it does and what it costs, rather than a refusal it has to work around — so you hear about the capability instead of being quietly routed away from it.

Tool
What it does
replace_file
Puts a new file behind the same link. The old one is kept
list_versions
Every file the page has served, and the opens each one got
rollback_version
Puts an earlier file back
create_recipient_links
A private, unguessable address for each recipient, instead of a guessable tag
list_recipient_links
Every recipient address with its own opens
set_link
Switches one tag off, or gives it its own expiry. That URL stops working; its numbers stay
set_recipient_link
Switches one recipient's address off. Everyone else's keeps working
list_link_opens
Each open of one recipient's link: when, from where, how long they stayed
set_access
Asks every reader to prove an email before the page opens, or admits only named addresses and domains. Taking the door off again is free
list_readers
Who proved an address, or who is on the list
create_invite_link
A link that lets one person already on the list in without our email. For when a company's mail filter opens the emailed link first and it arrives expired
set_session_length
How long a reader stays signed in before being asked again: a day, a week, a month or a year. Every visit restarts it
sign_everyone_out
Ends every sign-in at once, along with emailed and invite links already sent. Who may open the page does not change
remove_reader
Strikes a row off the reader list when it was a mail scanner and not a person. Does not remove anyone's access
set_link_alert
Emails you when a named recipient opens the page
set_reader_cookie
Tells a second read from a second reader
set_link_preview
Controls, or suppresses, the card chat apps draw when the link is pasted
export_analytics
The numbers as CSV or JSON
share_numbers
A second link that shows the statistics and controls nothing
stop_sharing_numbers
Switches that second link off
set_page_live
Takes the page offline without deleting it. Putting it back is free
set_page_expiry
Keeps a page until you delete it, or lets it expire again. Letting it go is free
add_editor
Lets somebody else edit the page with a link of their own. Owner only
remove_editor
Stops somebody editing. Their link stops working within a minute
list_editors
Who can edit the page, and whether your link is the owner's or an editor's
replace_edit_link
Replaces the edit link you hold and kills the old one. Free, for owner and editors
set_submissions
Lets the page send you data — a form, a survey, a booking request, comments a reader types as they go
list_submissions
What the page has collected, without the contents. Safe to call on anything
get_submission
One record in full, in the order the page sent it and exactly as it sent it
export_submissions
A download URL for everything collected, as JSON or CSV. Never the data itself — that is what fills a context window
delete_submission
Removes one record. Nothing else does while the page exists; records are deleted with the page, so export them first

Or upload a file yourself.

Your assistant and the upload box on the front page create exactly the same thing.