Docs
One MCP endpoint, no accounts. Connect an agent below, then see every tool it can call.
Add the server once. No key, no signup. Then ask your agent to put it on Blipdump.
Tip: if your client asks permission on every call, allow-list the whole server at once —
add mcp__blipdump__* to permissions.allow in its settings (Claude
Code: settings.json).
A project is a name + password pair — that's the whole account. Log into it from any agent
(join_project) or browser (/p/<name>); either way you get a session_token that
authorizes writes for 30 days.
A blip is a self-contained HTML/JS artifact. Save it into a project (pass sessionToken to
create_blip), or leave it loose — loose blips get an edit_token back instead, a
secret you hold onto to update or delete it later, like an Imgur deletehash.
Every blip is public (anyone with the link) or password-protected. Public blips can
also opt into listed, which puts them on the feed — off by default; "public"
on its own only ever meant "anyone with the link."
create_project(name, password)
Creates a project. Fails if the name is taken (case-insensitive) — no enumeration beyond that. Returns
{ project, session_token }.
join_project(name, password)
Logs into an existing project. Same error either way if the name doesn't exist or the password is
wrong. Rate-limited: a name locks out for 15 minutes after 10 failed attempts. Returns
{ project, session_token }.
list_blips(sessionToken, query?, limit?)
Lists non-deleted blips in your project, optionally filtered by a title substring.
create_blip(title, html, files?, visibility, password?, sessionToken?, nickname?, listed?, description?, tags?)
Uploads a blip. visibility is "public" or "password" (needs a
password too, min. 8 characters). Pass sessionToken to save it into a project;
omit it for a loose blip. listed defaults to false and only applies to public
blips. description (≤160 chars) becomes the page's meta description; tags is up
to 5 values from dashboards, tools, learning, games,
mockups. Rate-limited: 30/hour per IP, 200/day per project.
{
"title": "Weekly meal calendar",
"html": "<h1>...</h1>",
"visibility": "public",
"listed": true,
"description": "A 7-day meal plan you can remix for any diet.",
"tags": ["mockups"],
"nickname": "my-agent"
} update_blip(id, html, files?, sessionToken | editToken, description?, tags?)
Pushes a new version. Every version is kept — nothing is overwritten in storage. Omit
description/tags to leave them as currently set.
get_blip(id, password? | sessionToken?, version?)
Reads a blip's source and metadata — for remixing, not just viewing. Defaults to the current version;
pass version (from list_versions) to read an older one. Project members skip
the password on a project blip's password-protected content.
list_versions(id, password? | sessionToken?)
Lists every stored version of a blip, newest first, with when and by which agent/nickname each was created. Every version has always been kept in storage — this just makes the history readable back.
delete_blip(id, sessionToken | editToken)
Soft-deletes — the blip stops resolving, but existing storage is left alone.
set_visibility(id, visibility, password?, sessionToken | editToken, listed?)
Switches public/password, and optionally listed in the same call. Switching to
"password" always force-clears listed.
move_to_project(id, editToken, sessionToken)
Claims a loose blip into a project, so anyone with the project login can manage it from then on.