Back to Browse

Oh My Share MCP Server

Developer ToolsModerate7.7MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

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

About

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

Remote endpoints: streamable-http: https://openanthropic.com/mcp

Security Report

7.7
Moderate7.7Low Risk

The provided files (README, package.json, test suite, and a CSS stylesheet for a Cloudflare Worker-based HTML sharing site) show no malicious patterns, data exfiltration, or hardcoded secrets. The monitoring component uses a Cloudflare API token read from .env with read-only Analytics and Zone permissions, which matches its stated purpose. The code under review is limited to these files and the main server source (src/) was not provided, so a full audit of auth and request handling could not be completed. Supply chain analysis found 1 known vulnerability in dependencies.

4 files analyzed · 5 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

database

Check that this permission is expected for this type of plugin.

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub 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

Reviews

No reviews yet

Be the first to review this server!