UnblockingAPI について
UnblockingAPIは、ボット対策やJavaScriptにより取得しにくい公開ページを読むAIアプリ向けのMCPサーバーとClaude Codeプラグインです。ページをMarkdownやHTMLで返すほか、公開テンプレートで構造化JSONに変換できます。
主な機能
- 01HTTPまたはブラウザーでページを取得
- 02読みやすいMarkdownまたはHTMLを返却
- 03公開テンプレートでページを解析
- 04URL・キーワード・カテゴリでテンプレートを検索
- 05ブラウザーの待機やスクロールを指定
活用シーン
- 01通常のリクエストを拒否する公開ページを読む
- 02検索結果や掲載情報をJSONで抽出
- 03サイト用の解析テンプレートを確認
MCP 対応
MCPサーバーはMCPクライアントに`unblock_fetch`、`find_templates`、`get_build_guide`を提供します。ホストされたStreamable HTTPサーバーに接続する方法と、ローカルでstdio経由で実行する方法があります。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.unblockingapi.com/mcpclaude mcp add --transport http unblockingapi https://mcp.unblockingapi.com/mcp{"mcpServers":{"unblockingapi":{"type":"http","url":"https://mcp.unblockingapi.com/mcp"}}}Cursor で開く{"servers":{"unblockingapi":{"type":"http","url":"https://mcp.unblockingapi.com/mcp"}}}VS Code で開く{"mcpServers":{"unblockingapi":{"type":"http","url":"https://mcp.unblockingapi.com/mcp"}}}{"mcpServers":{"unblockingapi":{"serverUrl":"https://mcp.unblockingapi.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.unblockingapi.com/mcp認証が必要ツール
詳細
@unblockingapi/mcp
UnblockingAPI 向けの公式 Model Context Protocol サーバーおよび Claude Code プラグインです。AI アプリ(Claude、Cursor、VS Code、Lovable、Replit など)に、ローテーションする住宅用プロキシを経由した実際のブラウザーを提供します。ボット対策や JavaScript を多用するページを取得し、公開済みテンプレートが対応するあらゆるサイトを構造化 JSON に解析できます。
ホスト先は https://mcp.unblockingapi.com/mcp です。コネクターとして追加してサインインすれば、インストールは不要です。または、npx -y @unblockingapi/mcp でローカル実行できます。
ツール
| ツール | 機能 | コスト |
|---|---|---|
unblock_fetch | 簡単なリクエストをブロックする公開ウェブページを取得し、整形済みの Markdown または HTML を返します。サイトに応じて通常の HTTP と実際のブラウザーを自動的に選択します。代わりに構造化 JSON を取得するには、template を渡します。必要に応じて CSS の select で対象を絞り込めます。 | 成功 1 回につき 1 クレジット。同じ取得内容の再読み込みは無料です |
find_templates | サイトを JSON に解析するテンプレートを、そのサイトの URL、キーワード、またはカテゴリで検索し、出力形式を確認できます。 | 無料 |
get_build_guide | 通常の HTTP を使った REST API でのアプリ構築ガイドです。API リファレンス、ページ全体の取得、テンプレート、レシピ(ランクトラッカー、リスティング集約ツール、価格モニター)が含まれます。 | 無料 |
リクエストの失敗に費用はかかりません。サーバーの指示、ツールの説明、各応答の注記はエージェントの動作を導きます。API に通常の取得とブラウザーのどちらを使うか選ばせ、既知のサイトを解析する前にテンプレートを確認し、コンテンツがない場合はスクロールまたは待機し、API を呼び出すコードを書く前にビルドガイドを読むよう指示します。
テンプレート
テンプレートを使うと、ページをマークアップではなく名前付きフィールドに変換できます。カタログは多岐にわたり、検索エンジン、マーケットプレイス、不動産ポータル、企業登記情報などが含まれます。エディターから誰でも公開できます。特定のサイト専用の処理はありません。公式・コミュニティを問わず、すべてのテンプレートに同じ方法でアクセスできます。
find_templates(url: "https://www.google.com/search?q=…") → kjellberg/google-search
unblock_fetch(url: "…", template: "kjellberg/google-search") → { query, results, related_searches }
find_templates は API に問い合わせます。テンプレートライブラリと同じ方法で、URL を公開済みテンプレートすべてのホスト、パス、必須クエリパラメーターと照合します(* はパスの 1 セグメント、** はそれより深い任意のパスに一致します。ホストは、パターンに *. または .* が指定されていない限り完全一致です)。そのため、カタログがどれほど大きくなっても一致するテンプレートが見つかります。表示できる件数を超える結果には、次のページを要求するための page が付いて返されます。
サイトの変更によってパーサーが失敗した場合、エラーではなく parse_error: true とともに生の HTML が返されます。
ツールが使用する API エンドポイント
| ツール | 呼び出し先 | キー |
|---|---|---|
unblock_fetch | POST https://api.unblockingapi.com/unblock(JSON 本文。template でテンプレートを選択) | X-Api-Key |
find_templates | GET https://api.unblockingapi.com/templates.json?url=…&q=…&category=…&limit=…&page=…(サーバー側で検索される公開カタログ。応答は 5 分間キャッシュされます)。一致が 3 件以下の場合は、出力形式を確認するために GET https://app.unblockingapi.com/public/v1/templates/<handle>/<slug> も呼び出します | なし |
get_build_guide | 呼び出しません。ガイドはパッケージ(guides/)に含まれています | なし |
テンプレートごとの専用エンドポイントはありません。/api/google-search や /api/<template> はなく、template を設定した /unblock のみです。
削除済みのツール
古いバージョンや、それらをもとにコピーされた一覧には、現在は存在しないツールが記載されている場合があります。
| 古いツール | 削除時期 | 代わりに使用するもの |
|---|---|---|
google_search | 0.4.0 | find_templates(url: "https://www.google.com/search?q=…") を実行してから、unblock_fetch(url, template: "kjellberg/google-search") を実行します |
list_templates | 0.4.0 | find_templates(現在は url も指定できます) |
idealista_property | 0.3.0 | Idealista ページの find_templates(url) を実行してから、返されたテンプレートを指定して unblock_fetch を実行します |
ahrefs_website_authority | 0.2.0 より前(npm では未提供) | find_templates(url: "https://ahrefs.com/website-authority-checker/?input=example.com") |
セットアップ
UnblockingAPI アカウントが必要です。https://unblockingapi.com で登録してください(無料クレジット 500 件、カード不要)。その後、次のいずれかを選んでください。
- ホステッドサーバー — アプリに URL を 1 つ貼り付けてサインインします。インストール不要で、キーをコピーする必要もありません。ほとんどのアプリにおすすめです。
- Claude Code プラグイン — ホステッドサーバーにスキルとセットアップコマンドを追加したもので、アカウントでサインインします。
- ローカルで実行 — 自分で実行したい方向けに、
npxを使って同じサーバーを stdio 経由で実行します。
ホステッドサーバー
https://mcp.unblockingapi.com/mcp
Streamable HTTP です。MCP サインイン(OAuth)に対応したアプリでは、URL を入力するだけです。UnblockingAPI のページが開くので、サインインして 許可 をクリックします。アプリにキーが渡ることはありません。また、app.unblockingapi.com の Settings → Connected apps からいつでも接続を解除できます。サインインに対応していないアプリでは、キーを Authorization: Bearer <key>(または X-Api-Key: <key>)として送信します。
| アプリ | 方法 | ガイド |
|---|---|---|
| Claude.ai、Claude Desktop | Customize → Connectors → + Add → Add custom connector を選び、URL を貼り付けて Connect を選択します | unblockingapi.com/tools/claude |
| Cursor | ワンクリックリンクを使うか、~/.cursor/mcp.json に "url" を設定し、Settings → MCP の Login を選択します | docs/cursor-setup.md · サイト |
| VS Code (Copilot) | code --add-mcp '{"name":"unblockingapi","type":"http","url":"https://mcp.unblockingapi.com/mcp"}' を実行し、初回使用時にサインインします | サイト |
| Windsurf | MCP 設定(Cascade → MCPs → Open MCP config file)に "serverUrl" を設定します | サイト |
| Lovable | Connectors → + → MCP server を選択し、OAuth を設定します | サイト |
| Replit | Integrations → MCP Servers → + Add MCP server を選択し、Test & save を選択します | サイト |
| Bolt | Connectors → Manage connectors → Custom MCP server を選択し、トランスポートに HTTP、認証に MCP OAuth を指定します | サイト |
| Zed | context_servers の下に "url"(および "headers")を設定します | サイト |
| Cline | Remote Servers タブで "type": "streamableHttp" とキーのヘッダーを設定します | サイト |
| Gemini CLI / Antigravity | gemini mcp add --transport http … を実行するか、"serverUrl" とキーのヘッダーを設定します | サイト |
| Claude API | mcp_servers エントリーを追加し、キーを authorization_token として指定します | サイト |
| n8n | MCP Client Tool、HTTP Streamable、Bearer Auth を使用します | サイト |
サインインの代わりにキーを使う場合:
# Claude Code
claude mcp add --transport http unblockingapi https://mcp.unblockingapi.com/mcp \
--header "Authorization: Bearer your_api_key_here"
{
"mcpServers": {
"unblockingapi": {
"url": "https://mcp.unblockingapi.com/mcp",
"headers": { "Authorization": "Bearer your_api_key_here" }
}
}
}
(URL のキー名が serverUrl または httpUrl となっているアプリもあります。VS Code では servers と "type": "http" を使用します。)エージェントフレームワークについては、Vercel AI SDK と LangChain をご覧ください。
Claude Code プラグイン
このプラグインは、Claude Code をホステッドサーバーに接続してアカウントでサインインし、fetch と template のワークフロー用スキルを追加します。Claude Code で次を実行します。
/plugin marketplace add unblockingapi/mcp
/plugin install unblockingapi@unblockingapi-plugins
次に /mcp を実行し、unblockingapi を選択して Authenticate を選び、サインインします。初めての方は /unblockingapi:setup を実行してください。Claude が手順を案内し、正常に動作することを確認します。詳しい手順は docs/claude-setup.md をご覧ください。
ローカルで実行
stdio 経由で同じサーバーを実行します。Node.js 18 以降と、UNBLOCKINGAPI_KEY に設定するキーが必要です。
# Claude Code
claude mcp add unblockingapi -e UNBLOCKINGAPI_KEY=your_api_key_here -- npx -y @unblockingapi/mcp
# VS Code
code --add-mcp '{"name":"unblockingapi","command":"npx","args":["-y","@unblockingapi/mcp"],"env":{"UNBLOCKINGAPI_KEY":"your_api_key_here"}}'
Claude Desktop(claude_desktop_config.json。編集後に再起動してください)、Cursor(~/.cursor/mcp.json)、およびほとんどのアプリで、次のブロックを使用します。
{
"mcpServers": {
"unblockingapi": {
"command": "npx",
"args": ["-y", "@unblockingapi/mcp"],
"env": { "UNBLOCKINGAPI_KEY": "your_api_key_here" }
}
}
}
自分で設定を編集するエージェント対応クライアントでは、次のように頼めば設定も行われます。
「@unblockingapi/mcp MCP サーバーをインストールしてください。API キーは sk_xxx です。stdio 経由で npx -y @unblockingapi/mcp を使って実行し、環境変数 UNBLOCKINGAPI_KEY が必要です。」
環境変数(ローカルサーバー)
| 変数 | 必須 | デフォルト | 用途 |
|---|---|---|---|
UNBLOCKINGAPI_KEY | はい | — | ご自身の API キーです。 |
UNBLOCKINGAPI_BASE_URL | いいえ | https://api.unblockingapi.com | API のベース URL を上書きします。 |
UNBLOCKINGAPI_TIMEOUT_MS | いいえ | 180000 | リクエストごとのタイムアウトです。ブラウザーにフォールバックする通常の fetch には、約 170 秒かかることがあります。 |
使い方
接続したら、エージェントに次のようなことを依頼できます。
- 「https://example.com/pricing を読み、料金プランを要約してください。」
→
unblock_fetch(url)— サイトでブラウザーが必要な場合、API がブラウザーでレンダリングします - 「『wikipedia』の Google 検索結果を JSON で取得してください。」
→
find_templates(url)→unblock_fetch(url, template: "kjellberg/google-search") - 「このサイト用のテンプレートはありますか?」 →
find_templates(url) - 「これを JSON に解析できるテンプレートはありますか?」 →
find_templates(category: "real-estate")
unblock_fetch のパラメーター
| パラメーター | 型 | 備考 |
|---|---|---|
url | string、必須 | http(s) のみ。メディアファイルやバイナリファイルは拒否されます。 |
render | boolean | API に判断させる場合は省略します(まず通常の方法を試し、ブロックされた場合や JS のシェルがある場合はブラウザーを使用します。サイトごとに学習されます)。true は常にレンダリングし、false はレンダリングしません。 |
location | string | プロキシの 2 文字の国コード(us、gb、de など)。未対応のコードは、対応するコードの一覧とともに拒否されます。 |
wait_for | string | ブラウザーを使用します。stable(デフォルト)、domcontentloaded、networkidle、または待機する CSS セレクターを指定します。 |
wait_state | enum | セレクターを指定した wait_for と併用します。visible(デフォルト)、nonempty、hidden、stable を指定できます。 |
scroll_steps | 0–10 | ブラウザーを使用します。準備完了チェックの前に、この回数だけスクロールします(遅延読み込みコンテンツ用)。 |
wait_min_ms | 0–10000 | ブラウザーを使用します。ページ遷移後の最小待機時間です。 |
settle_ms | 0–25000 | ブラウザーを使用します。安定待機時間の上限(デフォルトは 5000)です。DOM が 500 ms 間変化しないと、すぐにキャプチャが行われます。 |
wait_rules | array | ブラウザーを使用します。[{if: "#consent", then: "#results"}] — 最初に表示された if が選択され、その then が wait_for を置き換えます。 |
detect_ms | 0–25000 | ブラウザーを使用します。wait_rules を確認する時間(デフォルトは 800)です。 |
max_age | 0–300 | 指定した秒数以内のキャッシュコピーを受け入れます。キャッシュがヒットすると、ミリ秒単位で返され、cached: true が付与されます。 |
template | string | 公開済みテンプレート(handle/name、またはバージョンを固定する場合は handle/name@3)で解析し、JSON を返します。そのテンプレートの取得設定が強制的に適用されます。find_templates でテンプレートを検索できます。 |
format | markdown | html | ページの返却形式です(デフォルトは markdown。サイズは元の一部になります)。テンプレートの結果は常に JSON です。 |
select | string | CSS セレクター。format で指定した形式で、一致する要素のみを返します。 |
fresh | boolean | この完全一致の取得を過去 10 分以内に行っていても、再取得します。デフォルトではそのコピーが再利用されるため、別の select や format で再度読み込んでも追加費用はかかりません。 |
max_chars | integer | 返却する本文の上限(デフォルトは 120000)。format/select の適用後に切り詰めます。本文が上限を超える場合は、注記を付けて切り詰めます。 |
レスポンスは JSON メタデータブロック(job_id、status、http_response_code、
response_time_ms、render、render_reason、readiness、template_version、location、cached、parse_error、truncated など)で始まり、
次に試す内容についての注記(さらに読み込むためのスクロール、より絞り込んだ select など)が続き、その後に ---
と Markdown、HTML、または JSON の本文が続きます。API エラー(無効なキー、クレジット不足、
不明なテンプレート、無効なパラメーター、同時実行数の上限)は、明確なツールエラーとして返されます。
API リファレンス全文:https://unblockingapi.com/docs。
開発
npm install
npm run dev # tsx watch
npm run typecheck # tsc --noEmit
npm run build # compile to dist/
npm run smoke # drive the built server over stdio (add UNBLOCKINGAPI_KEY for live fetches)
npm run smoke:http # the same over HTTP against dist/http.js (or MCP_URL=https://mcp.unblockingapi.com/mcp)
npm run start:http # the hosted server on :8080 (PORT)
リポジトリの構成:src/(server.ts のツール、stdio エントリーポイントの
index.ts、ホスト型エントリーポイントの http.ts、API クライアントの client.ts)、Dockerfile(ホスト型
イメージ。.github/workflows/deploy.yml によって mcp.unblockingapi.com にデプロイされます)、.claude-plugin/(Claude Code
マーケットプレイスのマニフェスト)、plugins/claude/(Claude Code プラグイン:ホスト型サーバー、
スキル、セットアップコマンド)、.cursor-plugin/ と plugins/cursor/(Cursor
プラグイン)、docs/(セットアップガイド)。
License
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。