Add htmldrop's hosted MCP server, sign in once in your browser, and ask Cline to publish — a live shareable URL comes back. No API keys, no build step, no deploy pipeline.
claude mcp add --transport http htmldrop https://htmldrop.app/mcp
https://htmldrop.app/mcp
{
"mcpServers": {
"htmldrop": {
"url": "https://htmldrop.app/mcp"
}
}
}
https://htmldrop.app/mcp
https://htmldrop.app/mcp
Paste the URL into your client's remote-server field (Claude Desktop: Settings → Connectors → Add custom connector). Sign-in happens in your browser on first use — no key is written to any config file.
⌘⇧P → "Cline: MCP Settings") and add https://htmldrop.app/mcp under Remote Servers.⌘⇧P → "Developer: Reload Window").htmldrop_publish and hands back the live slug.htmldrop.app URL.Remote MCP support has landed unevenly across Cline releases: if your build can't finish the browser sign-in, update Cline first, and use the CI fallback below if it still won't connect.
Open Cline's chat and try any of these:
Cline starts the sign-in on the first tool call, not when you add the server — so ask it to publish something and watch for the new browser tab. If none appears, check whether a pop-up blocker caught it, then try again.
The stored session has gone stale. Remove the htmldrop server in Cline's MCP settings, add it again with the same https://htmldrop.app/mcp URL, and let the sign-in run fresh.
Open the Cline panel → MCP Servers → confirm htmldrop shows green/connected. If it shows red, click the row to see the error log — that log also tells you whether the sign-in step failed or never ran.
You've hit your plan's site cap (3 active drops on Free). Delete a drop in the dashboard or upgrade.
In Cline chat: "List my htmldrop sites." If the tool is wired up, Cline calls htmldrop_list and replies with your drops.
A headless job can't complete a browser sign-in, so CI pipelines, cron scripts, and Cline builds that won't finish the OAuth flow use the stdio package with an API token instead. This is the one path where a static credential exists — everything above is OAuth.
HTMLDROP_API_TOKEN="<your token — from dashboard, store in a secret manager>" \
npx -y @htmldrop.app/mcp
Create the token at htmldrop.app/dashboard/settings → API tokens; it's shown once. Inject it from your CI's encrypted secrets or your OS keychain — never commit the literal value, since the token carries full access to your account. You can revoke it from that same page the moment one may have leaked.
If a run fails with a "no API token" error, the variable didn't reach the process: confirm your secret store exports HTMLDROP_API_TOKEN, and that the value is the token string itself rather than the friendly name you gave it in the dashboard.