mcpField
O
Oh My Share

Oh My Share

Remote
openanthropic.comFiles & Storage0Updated 2w ago

About Oh My Share

Oh My Share lets people and AI agents publish HTML or code and receive browser-viewable share links. It combines an MCP server with editing, access controls, encryption, and a searchable public gallery.

Key features

  1. 01Publish HTML and code by link
  2. 02Update shares with an edit token
  3. 03Optional end-to-end encryption
  4. 04Password protection and expiry
  5. 05Searchable public gallery
  6. 06MCP, JSON API, and A2A interfaces

Use cases

  1. 01Share an agent-generated HTML preview
  2. 02Revise a published snippet at its existing URL
  3. 03Protect or time-limit a shared page
  4. 04Find examples in the public gallery

MCP support

Its streamable HTTP MCP server at https://openanthropic.com/mcp exposes tools to upload, list, view, and delete shares, retrieve service info, and search the gallery.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://openanthropic.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

6
ParameterTypeRequiredDescription
contentstringYesHTML or code content to upload
filenamestringNoFilename for the content
languagestringNoLanguage type (html, css, js, json, markdown, etc.)
passwordstringNoOptional password protection
expiresInstringNoExpiration time (1h, 24h, 7d, 30d, 90d)

Details

From the project README

Oh My Share

License: MIT MCP Registry Live

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.