openunfurl について
OpenUnfurlは、登録やAPIキーなしで公開URLのメタデータをJSONで返すリンクプレビューAPIです。エージェントがツールとして呼び出せるリモートMCPサーバーも提供します。
主な機能
- 01タイトル、説明、画像などの抽出
- 02Open Graph、Twitter Card、oembed情報の返却
- 03RESTとリモートMCPのインターフェース
- 04localhost、プライベート、予約済みIPの拒否
活用シーン
- 01公開リンクのプレビュー生成
- 02エージェントによるページタイトルや説明の取得
- 03アカウントなしでのリンク展開ツールの呼び出し
MCP 対応
ステートレスなStreamable HTTPでリモートMCPサーバーを提供し、URLを受け取ってプレビューJSONを返す`unfurl`ツールを公開します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://openunfurl.vercel.app/api/mcpclaude mcp add --transport http solvohq-openunfurl https://openunfurl.vercel.app/api/mcp{"mcpServers":{"solvohq-openunfurl":{"type":"http","url":"https://openunfurl.vercel.app/api/mcp"}}}Cursor で開く{"servers":{"solvohq-openunfurl":{"type":"http","url":"https://openunfurl.vercel.app/api/mcp"}}}VS Code で開く{"mcpServers":{"solvohq-openunfurl":{"type":"http","url":"https://openunfurl.vercel.app/api/mcp"}}}{"mcpServers":{"solvohq-openunfurl":{"serverUrl":"https://openunfurl.vercel.app/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
1| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | 展開する http(s) URL |
詳細
OpenUnfurl
登録不要のリンク展開/リンクプレビュー API。アカウントも API キーも不要で、GET リクエストを 1 回送るだけです。
公開 URL を指定すると、整ったプレビュー用メタデータ(タイトル、説明、画像、サイト名、ファビコン、Open Graph/Twitter Card、oEmbed)が JSON で返されます。自律型 AI エージェントがツールとして利用できるように構築されています。エージェントは登録手続きを行う人間を必要としません。
公開 URL:https://openunfurl.vercel.app
クイックスタート
curl "https://openunfurl.vercel.app/api/unfurl?url=https://github.com"
レスポンスの例:
{
"url": "https://github.com",
"resolvedUrl": "https://github.com/",
"title": "GitHub · Build and ship software on a single, collaborative platform",
"description": "Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.",
"image": "https://github.githubassets.com/assets/campaign-social-031d6161fa10.png",
"siteName": "GitHub",
"type": "object",
"favicon": "https://github.githubassets.com/favicons/favicon.svg",
"oembed": null,
"fetchedAt": "2026-05-17T00:00:00.000Z",
"engine": "static-html-v0.1",
"note": "v0.1 parses static HTML only — no JS/SPA render"
}
存在しないフィールドは null になります。エラーは、適切な HTTP ステータス(不正/ブロック済み/URL 不足の場合は 400、フェッチ失敗の場合は 422、レート制限の場合は 429、メソッドが違う場合は 405)と error キーを含む JSON を返します。
JavaScript
const base = "https://openunfurl.vercel.app";
const r = await fetch(
base + "/api/unfurl?url=" + encodeURIComponent("https://example.com")
);
const meta = await r.json(); // { title, description, image, favicon, ... }
MCP ツールとして使用する(AI エージェント/Claude/Cursor/LLM クライアント)
OpenUnfurl はリモート MCP サーバーとしても利用できるため、エージェントは登録、API キー、OAuth が不要でツールとして呼び出せます。
- エンドポイント:
https://openunfurl.vercel.app/api/mcp - トランスポート:ステートレスな Streamable HTTP(POST JSON-RPC 2.0、単一の
application/jsonレスポンス。セッションも SSE もありません) - 公開するツールは 1 つのみ:
unfurl— 入力{ "url": "https://example.com" }、 REST エンドポイントと同じプレビュー JSON を返します(structuredContentとしても返します)
任意の MCP クライアント設定に追加してください(Claude Desktop、Cursor、または Streamable HTTP トランスポートに対応する任意のクライアント):
{ "mcpServers": { "openunfurl": { "url": "https://openunfurl.vercel.app/api/mcp" } } }
簡単な動作確認:
curl -s -X POST https://openunfurl.vercel.app/api/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"unfurl","arguments":{"url":"https://example.com"}}}'
MCP 経由で上流エラーが発生した場合、isError: true を含むツール結果として返されます。
理由
Microlink、OpenGraph.io、LinkPreview.net、Unfurl.io、LinkPeek などの管理型リンクプレビューサービスは、無料プランであっても登録や API キーが必要です。OpenUnfurl はそのどちらも不要で、匿名の GET リクエストを 1 回送るだけ(または MCP の tools/call を 1 回呼び出すだけ)です。特に、登録手続きを完了したりキーを貼り付けたりする人間が介在しない自律型エージェントに役立ちます。
制限事項
- v0.1 は静的 HTML のみを解析します — ヘッドレスブラウザーや、JavaScript でレンダリングされる SPA には対応していません。
サイトが
<meta>タグをクライアント側でレンダリングする場合は、静的フォールバックが返されます。 - インスタンスごとのベストエフォートな IP レート制限 — 悪用を緩和するためのソフトな制限であり、保証するものではありません(サーバーレスインスタンスは一時的なもので、共有されません)。
- SSRF 対策済み — localhost、プライベート IP、予約済み IP の範囲は拒否されます。
- MIT ライセンスで、セルフホスト可能です — 詳細は以下をご覧ください。
セルフホスト — 依存関係のないファイルのみです
API 全体は、依存関係のない 2 つの単一ファイル Node サーバーレス関数で構成されています:
api/unfurl.js(REST)と api/mcp.js(リモート MCP)。npm install や cheerio/jsdom は不要です。このフォルダーを Vercel にデプロイする(/api をゼロ設定で検出)か、ハンドラーを任意の Node サーバーレスランタイムに配置してください。
git clone https://github.com/SolvoHQ/openunfurl
cd openunfurl
npx vercel --prod
ライセンス
MIT — LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。