Claude's built-in artifact sharing is fine for a quick public link with no gate and no activity data. sendhey adds what client delivery actually needs: a password or verified-email gate, viewer activity you can see, and a link that survives moving from claude.ai into a client's inbox or a different organization entirely — and it works the same way from Claude Code and the API, not just claude.ai.
| Need | Claude's native share | sendhey |
|---|---|---|
| Quick public link, no gate | Yes — this is what it's built for | Also works (open access is the default) |
| Password or verified-email gate | No | Yes — password, email, domain, or allowlist |
| See who opened it, or how many times | No visitor activity | Aggregate counts, or identified opens with an email gate |
| Link survives outside your Claude org | Tied to the artifact's sharing settings in your account | An independent URL your workspace owns and can revoke |
| Publish from Claude Code / the API, not just claude.ai | No | Yes — same publish_page tool everywhere |
Connect once at /connect: paste the MCP endpoint https://www.sendhey.app/mcp into Claude Code, Claude Desktop, or Claude web's custom connectors, and complete the one-time browser OAuth approval. Then ask Claude to publish its next artifact through sendhey instead of using its own share button. A minimal call looks like this:
{
"name": "publish_page",
"arguments": {
"html": "<html>...your artifact...</html>"
}
}
Add a gate when the client shouldn't get an unguarded link:
{
"name": "publish_page",
"arguments": {
"html": "<html>...your artifact...</html>",
"policy": {
"audience": {
"kind": "email",
"validate": true,
"verify": "otp"
}
}
}
}
The response includes url (the link to send the client) and manageUrl (your own signed-in editor for that page — never share it). See the full contract, including create_link for wrapping an existing URL instead of hosting HTML, at the MCP reference.
The same connector works from ChatGPT (developer mode), Cursor, and Codex — useful when a prototype started in Claude gets refined somewhere else, or when your team standardizes delivery across whichever model actually built the artifact that week.
Cowork can talk you through setup, but its isolated task shell can't reliably change your account's connectors — add sendhey once from Customize → Connectors, then enable it per task from + → Connectors. A Project chat can use any connector already on your account the same way any other chat can.
Yes — pass include_qr: true to publish_page for a scannable code alongside the URL, and label to give the link a human-readable name, useful once you've sent several artifacts to different clients from one workspace.
sendhey doesn't preview or re-render an artifact's own interactive behavior differently than Claude does — it hosts exactly what's published. Identified viewer tracking still requires an email gate; an open link only gives counts. For interactive prototypes specifically, with client feedback and annotations, see sharing AI prototypes with clients; for the pillar overview see sharing AI-generated work with clients.
Free 14-day Pro trial starts when you publish your first link. No card.
See pricing for plan limits.
Written by Marcel Seibold, founder of sendhey.
About · Privacy · Legal notice · Report illegal content · Terms · DSA