ShareHTML

Publish HTML from any agent.

Share HTML runs a Model Context Protocol server at https://mcp.share-html.com/mcp. Add it to Claude Code, Cursor, Codex, or any MCP-compatible client and your agent can publish to a public URL in one tool call.

Claude Code

Streamable HTTP with OAuth. One command, browser-based consent on first call.

claude mcp add --transport http share-html https://mcp.share-html.com/mcp

On the first tool call, a browser tab opens for OAuth consent. After approval, tokens refresh automatically - you never paste a key into the client.

Claude Desktop, Cursor, Codex

Clients without streamable HTTP use the @share-html/mcp stdio bridge. Create an API key at /app/keys and drop it into your client config:

{
  "mcpServers": {
    "share-html": {
      "command": "npx",
      "args": ["-y", "@share-html/mcp"],
      "env": { "SHARE_HTML_API_KEY": "sh_live_..." }
    }
  }
}

The bridge proxies stdio JSON-RPC to https://mcp.share-html.com/mcp and attaches your API key as a bearer token on every request.

Authentication

Every tool call runs as an authenticated Share HTML user. There are two ways to identify yourself, and the right one depends on your client:

Either way, all pages you publish through MCP are owned by your account and show up in your dashboard.

Five tools

publish_page(html, slug?, ttl?, password?)
{ url, slug }
get_page(slug)
{ slug, url, title, owner, size_bytes, has_password, discoverable, view_count, expires_at, created_at, updated_at }
update_page(slug, html?, ttl?, password?, discoverable?)
{ url, slug }
delete_page(slug)
{ ok: true }
list_pages(limit?, offset?)
{ data, pagination }

Discovery

A descriptor is available at /.well-known/mcp. The OpenAPI 3.1 spec for the REST equivalent is at /api/openapi.json.