Oh My Share

Registre officiel Outils de développement

Publish HTML/code from your agent to openanthropic.com and get a shareable link.

Que pouvez-vous faire avec Oh My Share ?

  • No account required — paste and share, works on mobile
  • Editable permanent links — every share has an editToken; update the content at the same URL while you iterate
  • Optional end-to-end encryption — encrypted in the browser, the server only ever stores ciphertext (registered accounts include a 3-day encryption trial)
  • Password protection and expiry (1 hour – 90 days)
  • Public gallery — publish works to /gallery, searchable by keyword, sortable by newest/popular
  • Abuse reporting — reported content is unpublished immediately (HTTP 451) pending review, with an appeal path
  • Referrer-Policy + sandboxed rendering — shared pages are served with no-referrer and a sandbox CSP so they can't touch your session

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http oh-my-share 'https://openanthropic.com/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "oh-my-share": {
            "type": "http",
            "url": "https://openanthropic.com/mcp"
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Oh My Share
  2. Features
  3. For humans
  4. For AI agents
  5. Self-hosting
  6. Architecture
  7. Contributing
  8. License

Oh My Share

Free, no-signup HTML & code sharing — for humans and AI agents.

Paste code (or drag in a .html file) at openanthropic.com, get back a link like https://openanthropic.com/view/<id> that renders in any browser. AI agents get the same ability over MCP, a JSON API, and an A2A endpoint: send HTML in, shareable link out.

中文简介:免费无注册的 HTML/代码分享工具,支持端到端加密、可编辑的永久链接、密码保护、过期时间与公开作品广场;同时内置 MCP 服务器与 A2A 端点,AI 代理可以直接发布内容。


Features

  • No account required — paste and share, works on mobile
  • Editable permanent links — every share has an editToken; update the content at the same URL while you iterate
  • Optional end-to-end encryption — encrypted in the browser, the server only ever stores ciphertext (registered accounts include a 3-day encryption trial)
  • Password protection and expiry (1 hour – 90 days)
  • Public gallery — publish works to /gallery, searchable by keyword, sortable by newest/popular
  • Abuse reporting — reported content is unpublished immediately (HTTP 451) pending review, with an appeal path
  • Referrer-Policy + sandboxed rendering — shared pages are served with no-referrer and a sandbox CSP so they can't touch your session

For humans

  1. Open **https://openanthropic.com**
  2. Paste code or drag a .html file in
  3. Copy the /view/<id> link

Advanced options (password, expiry, title, tags, publish-to-gallery) are in the same editor. Use the returned editToken to update the share later at POST /api/edit/<id>.

For AI agents

Three equivalent interfaces — no API key needed for the basic flows.

1. MCP server (streamable HTTP)

Endpoint: https://openanthropic.com/mcp Listed in the official MCP Registry as io.github.shisongsong/oh-my-share (v2.2.0). No API key required — anonymous clients can call every tool (OAuth metadata is also advertised for clients that prefer it); requests are rate-limited per IP.

Claude Code:

claude mcp add --transport http oh-my-share https://openanthropic.com/mcp

Any MCP client that reads mcp.json (Cursor, VS Code, …):

{
  "mcpServers": {
    "oh-my-share": { "url": "https://openanthropic.com/mcp" }
  }
}

Tools:

ToolArgumentsDescription
uploadcontent (string), language?, filename?, password?, expiresIn? (1h/24h/7d/30d/90d, default 7d)Upload HTML or a code snippet; returns the share URL, id and edit token
list_assets–List assets uploaded in the current session
viewidFetch shared content by id
deleteidDelete an asset you own
get_info–Service info (name, version, endpoints)
search_galleryquery, sort? (new\hot), page?, limit? (≤20)Full-text search of the public gallery (title, description, tags, id)
2. JSON API (CORS-open)
# publish HTML, get a share link back
curl -s https://openanthropic.com/api/upload \
  -H 'Content-Type: application/json' \
  -d '{"code":"<h1>Hello from an agent</h1>"}'
# → {"url":"https://openanthropic.com/view/<id>","id":"<id>","editToken":"...","expiresAt":null}

# search the gallery
curl -s 'https://openanthropic.com/api/gallery?q=dashboard&sort=hot&page=1&limit=10'
# → {"items":[…],"total":…,"page":1,"pages":…}
3. A2A endpoint (Agent2Agent, v1.0 JSON-RPC)
  • Endpoint: POST https://openanthropic.com/a2a
  • Agent card: https://openanthropic.com/.well-known/agent-card.json
  • Registered at a2aregistry.org as com.openanthropic.oh_my_share
  • Stateless: completed tasks are synthesized from stored shares, so GetTask works for any share id
curl -s https://openanthropic.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{
    "jsonrpc":"2.0","id":1,
    "method":"SendMessage",
    "params":{"message":{"messageId":"m1","parts":[{"text":"<h1>Hi</h1>"}]}}
  }'
# → completed task whose artifacts carry the /view/<id> URL

GetTask, /search <query> and a plain-text help reply (for anything that isn't HTML) are supported too; streaming/cancel methods return standard A2A "not supported" errors.

Self-hosting

Requirements: Node.js 18+, a Cloudflare account (Workers, D1, R2), wrangler (installed via npm install).

git clone https://github.com/shisongsong/oh-my-share.git
cd oh-my-share
npm install

# create the storage (once)
npx wrangler d1 create oh-my-share-db        # put the returned database_id into wrangler.jsonc
npx wrangler r2 bucket create oh-my-share-bucket

# apply schema migrations
npx wrangler d1 migrations apply oh-my-share-db --remote

# local development (uses the same bindings)
npm run dev

# tests (19 unit/integration tests, Cloudflare Workers pool)
npm test

# build + deploy
npm run deploy

Notes for your own deployment:

  • Remove or edit the routes entry in wrangler.jsonc (it points at the production custom domain)
  • The daily cron (triggers.crons) runs the stats snapshot/IndexNow job — optional
  • monitor/ holds an optional shell-based analytics/uptime monitor (monitor/README.md); copy monitor/.env.example to fill in your Cloudflare API token

Architecture

  • Cloudflare Workers — one worker: routing, SSR pages, MCP server, JSON API, A2A endpoint
  • D1 (SQLite) — metadata: shares, sessions, subscriptions, gallery index, reports
  • R2 — content objects (HTML/code/encrypted blobs)
  • Web Crypto — password hashing and client-side end-to-end encryption (keys never leave the browser except in the URL fragment)

Agent-facing files: llms.txt · robots.txt · sitemap · MCP server card · A2A agent card

Contributing

Issues and PRs are welcome. Run npm test before submitting — CI parity matters more than style nits.

License

MIT © shisongsong

Questions fréquentes

Qu'est-ce que Oh My Share ?

Publish HTML/code from your agent to openanthropic.com and get a shareable link.

Comment installer Oh My Share ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http oh-my-share 'https://openanthropic.com/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Oh My Share ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

Oh My Share est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Oh My Share ?

Il est publié par shisongsong. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.