Oh My Share について
Oh My Shareは、個人やAIエージェントがHTMLやコードを公開し、ブラウザーで閲覧できる共有リンクを作成するサービスです。MCPサーバーに加え、編集、アクセス制御、暗号化、公開ギャラリー検索に対応します。
主な機能
- 01リンクによるHTML・コード公開
- 02編集トークンで共有内容を更新
- 03任意のエンドツーエンド暗号化
- 04パスワード保護と有効期限
- 05検索可能な公開ギャラリー
- 06MCP、JSON API、A2Aインターフェース
活用シーン
- 01エージェントが生成したHTMLプレビューの共有
- 02既存URLのまま公開コードを更新
- 03共有ページにパスワードや期限を設定
- 04公開ギャラリーから例を検索
MCP 対応
https://openanthropic.com/mcp のストリーミングHTTP MCPサーバーは、共有のアップロード、一覧表示、閲覧、削除、サービス情報の取得、ギャラリー検索のツールを提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://openanthropic.com/mcpclaude mcp add --transport http shisongsong-oh-my-share https://openanthropic.com/mcp{"mcpServers":{"shisongsong-oh-my-share":{"type":"http","url":"https://openanthropic.com/mcp"}}}Cursor で開く{"servers":{"shisongsong-oh-my-share":{"type":"http","url":"https://openanthropic.com/mcp"}}}VS Code で開く{"mcpServers":{"shisongsong-oh-my-share":{"type":"http","url":"https://openanthropic.com/mcp"}}}{"mcpServers":{"shisongsong-oh-my-share":{"serverUrl":"https://openanthropic.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
6| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| content | string | はい | アップロードする HTML またはコードの内容 |
| filename | string | いいえ | コンテンツのファイル名 |
| language | string | いいえ | 言語の種類(html、css、js、json、markdown など) |
| password | string | いいえ | 任意のパスワード保護 |
| expiresIn | string | いいえ | 有効期限(1h、24h、7d、30d、90d) |
詳細
Oh My Share
人間とAI エージェントのための、無料で登録不要の HTML・コード共有サービスです。
openanthropic.com にコードを貼り付ける(または .html ファイルをドラッグする)と、どのブラウザーでも表示できる https://openanthropic.com/view/<id> のようなリンクが発行されます。AI エージェントも MCP、JSON API、A2A エンドポイントを通じて同じ機能を利用できます。HTML を送信すると、共有可能なリンクが返されます。
中国語の紹介:無料で登録不要の HTML/コード共有ツールです。エンドツーエンド暗号化、編集可能な永久リンク、パスワード保護、有効期限、公開作品ギャラリーに対応しています。MCP サーバーと A2A エンドポイントも内蔵しており、AI エージェントはコンテンツを直接公開できます。
機能
- アカウント不要 — 貼り付けて共有するだけで、モバイルでも利用できます
- 編集可能な永久リンク — 共有ごとに
editTokenが発行され、作業中も同じ URL でコンテンツを更新できます - 任意のエンドツーエンド暗号化 — ブラウザー内で暗号化されるため、サーバーに保存されるのは暗号文だけです(登録アカウントには3日間の暗号化トライアルが含まれます)
- パスワード保護と有効期限(1時間~90日)
- 公開ギャラリー — 作品を
/galleryに公開できます。キーワード検索や、新着順・人気順での並べ替えに対応しています - 不正利用の報告 — 報告されたコンテンツは審査待ちの間すぐに非公開になります(HTTP 451)。異議申し立ても可能です
- Referrer-Policy とサンドボックスによるレンダリング — 共有ページには
no-referrerとサンドボックス CSP が適用されるため、セッションにアクセスできません
人間向け
- https://openanthropic.com を開きます
- コードを貼り付けるか、
.htmlファイルをドラッグします /view/<id>リンクをコピーします
詳細オプション(パスワード、有効期限、タイトル、タグ、ギャラリーへの公開)は同じエディターから設定できます。返された editToken を使用すると、後で POST /api/edit/<id> から共有内容を更新できます。
AI エージェント向け
同等のインターフェースが3種類あります。基本的な操作に API キーは不要です。
1. MCP サーバー(ストリーミング可能な HTTP)
エンドポイント:https://openanthropic.com/mcp
公式 MCP Registry に io.github.shisongsong/oh-my-share(v2.2.0)として登録されています。API キーは不要で、匿名クライアントもすべてのツールを呼び出せます(OAuth メタデータも公開されており、OAuth を利用するクライアントにも対応しています)。リクエストは IP ごとにレート制限されます。
Claude Code:
claude mcp add --transport http oh-my-share https://openanthropic.com/mcp
mcp.json を読み込む任意の MCP クライアント(Cursor、VS Code、…):
{
"mcpServers": {
"oh-my-share": { "url": "https://openanthropic.com/mcp" }
}
}
ツール:
| ツール | 引数 | 説明 |
|---|---|---|
upload | content (string), language?, filename?, password?, expiresIn? (1h/24h/7d/30d/90d、デフォルトは 7d) | HTML またはコードスニペットをアップロードします。共有 URL、ID、編集トークンが返されます |
list_assets | – | 現在のセッションでアップロードされたアセットを一覧表示します |
view | id | ID を指定して共有コンテンツを取得します |
delete | id | 所有するアセットを削除します |
get_info | – | サービス情報(名前、バージョン、エンドポイント) |
search_gallery | query, sort? (new|hot), page?, limit? (≤20) | 公開ギャラリーを全文検索します(タイトル、説明、タグ、ID) |
2. JSON API(CORS オープン)
# 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 エンドポイント(Agent2Agent、v1.0 JSON-RPC)
- エンドポイント:
POST https://openanthropic.com/a2a - エージェントカード:
https://openanthropic.com/.well-known/agent-card.json - a2aregistry.org に
com.openanthropic.oh_my_shareとして登録されています - ステートレスです。完了済みタスクは保存済みの共有コンテンツから合成されるため、どの共有 ID に対しても
GetTaskを利用できます
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>、およびプレーンテキストによるヘルプ応答(HTML 以外の場合)にも対応しています。ストリーミング/キャンセルメソッドには、標準の A2A「未対応」エラーが返されます。
セルフホスト
要件:Node.js 18 以降、Cloudflare アカウント(Workers、D1、R2)、wrangler(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
独自にデプロイする場合の注意事項:
wrangler.jsoncのroutesエントリーを削除または編集してください(本番環境のカスタムドメインを指しています)- 毎日の cron(
triggers.crons)は、統計スナップショット/IndexNow ジョブを実行します。設定は任意です monitor/には、オプションのシェルベースの分析/稼働状況モニター(monitor/README.md)があります。Cloudflare API トークンを入力するには、monitor/.env.exampleをコピーしてください
アーキテクチャ
- Cloudflare Workers — 1 つのワーカーで、ルーティング、SSR ページ、MCP サーバー、JSON API、A2A エンドポイントを処理します
- D1(SQLite)— メタデータ:共有、セッション、サブスクリプション、ギャラリーのインデックス、レポート
- R2 — コンテンツオブジェクト(HTML/コード/暗号化された blob)
- Web Crypto — パスワードのハッシュ化とクライアント側のエンドツーエンド暗号化(URL フラグメントを除き、キーがブラウザーの外に出ることはありません)
エージェント向けファイル:llms.txt · robots.txt · サイトマップ · MCP サーバーカード · A2A エージェントカード
コントリビューション
Issue と PR を歓迎します。提出前に npm test を実行してください。スタイルの細かな指摘よりも、CI との整合性が重要です。
ライセンス
MIT © shisongsong
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。