Spicrawl について
Spicrawlは、ページ内容や構造化データが必要なエージェント向けのウェブスクレイピングMCPサーバーです。JavaScriptレンダリング、ブラウザー操作、永続セッション、最大10,000 URLの非同期バッチに対応します。
主な機能
- 01ページをMarkdown、テキスト、HTML、JSONで取得
- 02JavaScriptのレンダリングとページ操作
- 03セレクターや自動解析によるデータ抽出
- 04最大10,000 URLのバッチ処理
- 05永続ブラウザーセッションとスクリーンショット
活用シーン
- 01JavaScriptを多用するページの閲覧
- 02商品価格の構造化データ収集
- 03ナレッジベース用のドキュメント収集
- 04多数のURLから求人情報などを収集
MCP 対応
ホスト型Streamable HTTPエンドポイントまたはローカルstdioサーバーを通じて、MCPクライアントに`spicrawl_*`ツールを提供します。スクレイピング、バッチ処理、ブラウザーセッション、利用状況、リクエスト履歴、ドキュメントを扱います。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.spicrawl.com/mcpclaude mcp add --transport http officialspicrawl https://mcp.spicrawl.com/mcp{"mcpServers":{"officialspicrawl":{"type":"http","url":"https://mcp.spicrawl.com/mcp"}}}Cursor で開く{"servers":{"officialspicrawl":{"type":"http","url":"https://mcp.spicrawl.com/mcp"}}}VS Code で開く{"mcpServers":{"officialspicrawl":{"type":"http","url":"https://mcp.spicrawl.com/mcp"}}}{"mcpServers":{"officialspicrawl":{"serverUrl":"https://mcp.spicrawl.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.spicrawl.com/mcp認証が必要ツール
24| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | 取得する絶対 URL。 |
| mode | enum | いいえ | ルーティングモード。`auto` では、必要に応じてプラットフォームが fetch -> browser に段階的に切り替え、成功した段階分のみ課金されます。auto |
| wait | integer | いいえ | 読み込み後、キャプチャ前に待機する時間(ミリ秒、レンダリング時のみ)。 |
| cache | boolean | いいえ | 新しいキャッシュ結果があれば返します(デフォルトで有効)。キャッシュヒットの課金額は、その結果を保存した取得処理と同じです。キャッシュで節約できるのは時間であり、クレジットではありません。最新データが必要な場合にのみ false に設定してください。 |
| links | boolean | いいえ | ページ内で見つかったリンクも、絶対 URL の重複なしリストとして返します。 |
| proxy | string | いいえ | 出口接続に使用する独自のプロキシ URL。プロキシプールより優先され、追加料金はかかりません。 |
| format | enum | いいえ | 出力形式。'markdown'(デフォルト)は LLM への入力に最適です。'html' は生のドキュメントを返し、'json' は構造化されたエンベロープを返します。'pdf' はフルブラウザーでページを印刷し(そのブラウザーへのルーティングは自動で行われます)、ファイルをリソースコンテンツブロックとして返します。markdown | text | html | json | pdf |
| method | string | いいえ | ターゲットに送信する HTTP メソッド(デフォルトは GET。リクエスト本文は送信できません)。GET、HEAD、OPTIONS 以外のメソッドはターゲットサイトの状態を変更する可能性があります。ユーザーから依頼された場合にのみ使用してください。 |
| render | boolean | いいえ | 実際のブラウザーでレンダリングします(JavaScript を実行)。シングルページアプリや、クライアント側でコンテンツが描画されるページに使用します。デフォルトの fetch 段階より費用が高くなります。 |
| actions | array | いいえ | キャプチャ前に順番に実行するブラウザー手順(レンダリング時のみ)。各手順の形式は {type, ...fields} です。例:[{"type":"click","selector":"#load-more"},{"type":"wait_for","selector":".item:nth-child(20)","timeout_ms":5000}] · 無限スクロール:[{"type":"scroll","to_bottom":true},{"type":"wait_for","ms":1000}] · ログイン:[{"type":"fill","selector":"#user","value":"me"},{"type":"fill","selector":"#pass","value":"…","secret":true},{"type":"click","selector":"button[type=submit]","wait_for_navigation":true}]。スクリーンショット手順を指定すると、応答は JSON エンベロープに切り替わります(FORMAT_COERCED 警告で通知されます)。 |
| extract | object | いいえ | セレクターによる抽出:フィールド -> CSS/XPath セレクターのマップです。例:{"title":"h1","price":".amount"}。構造化された `data` を返します。ページ構造が分かっている場合に、正確かつ低コストで利用できます。 |
| max_cost | integer | いいえ | リクエストの費用がこのクレジット数を超える場合、実行せずに拒否します。 |
| wait_for | string | いいえ | キャプチャ前に待機する CSS セレクター(レンダリング時のみ)。 |
| autoparse | boolean | いいえ | ページが自ら公開している構造化データ(JSON-LD、OpenGraph、Twitter Card、microdata)を返します。セレクターは不要で、ページのデザイン変更後も利用できます。 |
| cache_ttl | integer | いいえ | 許容するキャッシュコピーの最大経過時間(秒)(0 は最新データの取得を強制。上限は 48h)。鮮度のみを制御します。キャッシュヒットの課金額は取得処理と同じです。 |
| parse_pdf | boolean | いいえ | PDF のターゲットをテキスト/markdown に変換します(デフォルトは true)。false の場合、PDF は処理しません。 |
| screenshot | boolean | いいえ | スクリーンショットをキャプチャします(render が必要です)。 |
| session_id | string | いいえ | spicrawl_session_create で作成したセッション内で実行します。呼び出し間で同じ出口 IP とブラウザー状態(cookies、localStorage)を使用します。 |
| impersonate | boolean | いいえ | fetch 段階のみ:実際のブラウザーの TLS/JA3 + HTTP/2 フィンガープリントを提示し、受動的なボット検出を回避します。デフォルトで有効です。false に設定すると、通常のクライアントハンドシェイクを送信します。 |
| exclude_tags | array | いいえ | 削除する CSS セレクター(例:['nav','.ad','#cookie'])。 |
| include_tags | array | いいえ | 保持する CSS セレクター(それ以外はすべて破棄されます)。 |
| proxy_verify | boolean | いいえ | `proxy` を使用する前に、アクセス可能か確認します。 |
| custom_headers | object | いいえ | ターゲットに送信する追加のリクエストヘッダー。例:{"Accept-Language":"de"}。 |
| block_resources | array | いいえ | ブラウザーで読み込まないリソースの種類。例:["fonts","media","images"](レンダリング時のみ)。高速化とコスト削減につながります。 |
| network_capture | object | いいえ | レンダリング中にページが取得した API レスポンスを記録します。DOM より整った JSON が得られることがよくあります。レンダリング時のみ。 |
| network_capture.urls | array | いいえ | 記録する、ページ自体のリクエストの URL パターン。 |
| network_capture.max_responses | integer | いいえ | 記録するレスポンス数の上限。 |
| network_capture.include_bodies | boolean | いいえ | レスポンス本文を含めます。 |
| network_capture.max_body_bytes | integer | いいえ | レスポンス本文ごとのサイズ上限。 |
| network_capture.resource_types | array | いいえ | 記録するリソースの種類。例:["xhr","fetch"]。 |
| original_status | boolean | いいえ | スクレイピング成功時に 200 ではなく、ターゲット本来の HTTP ステータスを返します。 |
| wait_for_timeout | integer | いいえ | `wait_for` の最大待機時間(ミリ秒)。 |
| main_content_only | boolean | いいえ | ページを主要な記事部分に絞り、ナビゲーション、フッター、サイドバーを削除します。Markdown ではデフォルトで有効です。 |
| screenshot_format | string | いいえ | スクリーンショットの画像形式。 |
| screenshot_quality | integer | いいえ | スクリーンショットの品質(1~100、有損形式)。 |
| screenshot_fullpage | boolean | いいえ | ビューポートだけでなく、ページ全体をキャプチャします。 |
| screenshot_selector | string | いいえ | この CSS セレクターに一致する要素のみを撮影します。 |
| allowed_status_codes | array | いいえ | エラーではなく成功として扱うターゲットのステータスコード。例:[404] を指定して「ページが見つかりません」ページを取得します。 |
詳細
Spicrawl MCP サーバー:Claude、Cursor、AI エージェント向けのウェブスクレイピング
Claude、Cursor、その他の AI エージェントでウェブサイトをスクレイピングするには、Spicrawl MCP サーバーに接続します。Spicrawl API キーを使って、ホスト型エンドポイント https://mcp.spicrawl.com/mcp を追加するか、ローカルで npx -y @spicrawl/mcp を実行すると、エージェントは spicrawl_scrape を呼び出して、任意の URL を Markdown、テキスト、HTML、または JSON として読み取れます。JavaScript ページのレンダリング、構造化データの抽出、1 回のバッチジョブで最大 10,000 件の URL のスクレイピング、スクリーンショットの撮影、ログイン済みブラウザーセッションの維持が可能で、Claude Code、Claude Desktop、Cursor、VS Code、Windsurf、Gemini CLI、Codex でネイティブの spicrawl_* ツールとして利用できます。無料プランには毎月 1,000 クレジットが含まれます。
ドキュメント · API キーを取得 · TypeScript SDK · CLI · エージェントプラグイン · 変更履歴
インストール先: npm · Smithery · Glama · MCP Registry · Dify プラグイン · Cursor Directory
## クイックスタート-
app.spicrawl.comで API キーを作成します。キーは
spicrawl_live_またはspicrawl_test_で始まります。 -
ホスト型エンドポイント
https://mcp.spicrawl.com/mcp(MCP Streamable HTTP、インストール不要)に接続します。export SPICRAWL_API_KEY=spicrawl_live_... claude mcp add --transport http spicrawl https://mcp.spicrawl.com/mcp \ --header "Authorization: Bearer $SPICRAWL_API_KEY"Codex:
codex mcp add spicrawl --url https://mcp.spicrawl.com/mcp --bearer-token-env-var SPICRAWL_API_KEY -
または、ローカルサーバーのみを起動するクライアント向けに、stdio 経由でローカル実行します(Node.js 20 以降)。
claude mcp add spicrawl --env SPICRAWL_API_KEY=$SPICRAWL_API_KEY -- npx -y @spicrawl/mcp -
エージェントに次のように依頼します:「Spicrawl を使って https://example.com/pricing を Markdown で読み込み、各プランとその価格を一覧にしてください。」
spicrawl_scrapeが呼び出され、ページが Markdown として返されます。
どちらのトランスポートでも同じ spicrawl_* ツールが提供されます(25 個が定義されています。リモートブラウザーが起動するまでは、ホスト型エンドポイントには 24 個が表示されます。ツールを参照)。すべての呼び出しはキーを使用して実行され、直接 API を呼び出す場合と同じスコープ、制限、クレジットが適用されます。
できること
- 1 つのツール
spicrawl_scrapeで、任意の URL を Markdown、テキスト、HTML、JSON エンベロープ、または印刷用 PDF にスクレイピングできます。デフォルトは Markdown で、ページの主要コンテンツを抽出します。 render: trueを指定してJavaScript をレンダリングできます(3 クレジット)。通常のフェッチは 1 クレジット、スクリーンショット、PDF、actionsはフルブラウザーを使用するため 8 クレジットです。また、mode: "auto"はフェッチからブラウザーへと段階的に切り替わり、正常に処理できた段階の料金のみが請求されます(料金表)。レンダリング方法を選ぶ必要はありません。Spicrawl がリクエストを処理できる最も低コストな方法を選びます。- CSS/XPath セレクターマップ(
extract)を使って構造化データを抽出するか、ページが公開している JSON-LD、OpenGraph、Twitter Card、マイクロデータから抽出できます(autoparse)。 - 8 種類の型付きブラウザーアクション(
click、fill、wait_for、wait_for_navigation、scroll(無限スクロールを含む)、select、evaluate、screenshot)で、キャプチャの前にページを操作できます。 - モデルが参照できるスクリーンショットと PDF を返せます。スクリーンショットは MCP の画像ブロック(base64 で最大 5 MB)、印刷されたページは
application/pdfのリソースブロック(最大 10 MB)として返されます。 - 最大 10,000 件の URL を 1 つの非同期ジョブとして数千件まとめてスクレイピングできます。ジョブの送信、ポーリング、結果のページ送り、再試行、キャンセル、および URL を見つけるたびに追加できるようジョブを開いたままにするための 9 つのツールが用意されています。
- 永続セッションを使って、ログイン状態のブラウザーを保持できます。Cookie、ストレージ、固定のレンダリング階層がスクレイピング間で再利用されます。
- 使用状況やリクエストログのツールで**「費用はいくらでしたか?」に回答したり、エージェント内からSpicrawl のドキュメントを読んだり**できます。
ユースケース
- ドキュメントをスクレイピングして RAG ナレッジベースを作成する。
spicrawl_scrapeでドキュメントページをクリーンな Markdown として読み込む(Markdown ではmain_content_onlyがデフォルトで有効です)か、1 つのspicrawl_batch_submitジョブで最大 10,000 件の URL をキューに追加します。Spicrawl は Markdown を返します。チャンク分割と埋め込みはご自身で行ってください。ナレッジベースのレシピを参照してください。 - 価格を監視する。
extractセレクターマップまたはautoparseを使って、商品のタイトル、価格、在庫状況を取得し、最新の情報を得るにはcache: falseを設定します。通常のフェッチによる確認は 1 クレジット、レンダリングありの場合は 3 クレジットです。ご自身のスケジュールに合わせて実行してください。価格の監視を参照してください。 - 求人情報を抽出する。 無限スクロールのページ(
render: trueとscrollアクションを使用)を含む求人サイトから、求人情報を構造化フィールドとして収集します。求人情報を参照してください。 - JavaScript を多用するページを読む。 通常のフェッチで空の枠だけが返される場合は、
render: true(3 クレジット)を指定してspicrawl_scrapeを呼び出し、ページがまず自身を構築するようにします。
スクレイピングする前に、各サイトの利用規約と robots.txt を確認してください。
使用するツール
- 1 ページ分のコンテンツやデータがすぐに必要な場合は、
spicrawl_scrapeを使用します。 - ページが空白、または JavaScript がない骨組みだけのページの場合は、
render: trueを指定してspicrawl_scrapeを再度呼び出します。 - ページの構造がわかっている場合は CSS セレクターを指定して
extractを使用し、わからない場合はautoparseを試します。 - URL が約 20 件を超える場合は、
spicrawl_batch_submitを使用してから、spicrawl_batch_statusとspicrawl_batch_resultsを呼び出します。 - URL を見つけながら進める場合は、
open: trueを指定して送信し、spicrawl_batch_add_itemsで追加して、最後にspicrawl_batch_closeを呼び出します。 - 先にログインが必要な場合は、
spicrawl_session_createを使用し、そのidをsession_idとしてspicrawl_scrapeに渡します。 - 呼び出しが失敗し、原因を調べる必要がある場合は、リクエスト ID を指定して
spicrawl_request_getを使用するか、only_errorsを指定してspicrawl_requests_listを使用します。 - パラメーターやエラーコードが不明な場合は、推測する前に
spicrawl_docs_searchを使用します。
ツール
タスク別に分類された 25 個のツールがあります。リモートブラウザーが起動するまでは、ホスト型エンドポイントに表示されるのは 24 個です。キーなしの tools/list とサーバーカードでは、spicrawl_browser_connect_url(近日公開)が除外されています。一方、キーを使って開いたセッションと stdio パッケージ(npx -y @spicrawl/mcp)には、25 個すべてが表示されます。ツールは未知の引数を拒否するため、フィールド名を間違えると、黙って無視されるのではなく、そのフィールド名を示すエラーが発生します。すべてのツールには title と readOnlyHint、destructiveHint、openWorldHint の明示的なアノテーションが設定されているため、クライアントは確認が必要な呼び出しを判断できます。spicrawl_scrape は読み取り専用ではありません(method と actions によりフォームを送信できます)。また、spicrawl_batch_cancel、spicrawl_session_release、spicrawl_session_delete は破壊的な操作です。すべてのツールは outputSchema も宣言し、従来と同じテキストに加えて、一致する structuredContent を返すため、クライアントはテキストを解析せずに credits、status、next_cursor などのフィールドを読み取れます。スキーマにはエージェントが信頼できる内容が列挙されていますが、拡張可能な設計になっています。API が後から追加したフィールドもそのまま渡され、ステータスとティアは通常の文字列です。ドキュメントまたは JSON 配列を返すツール(spicrawl_docs_read、spicrawl_batch_task_content)は、structuredContent 内の content にその内容を格納します。引数の完全なリファレンスは、docs.spicrawl.com/agents/mcp をご覧ください。
ウェブサイトを Markdown にスクレイピングする
| ツール | 機能 | 主なパラメーター |
|---|---|---|
spicrawl_scrape | 1 つの URL を markdown(デフォルト)、text、html、json、または pdf 形式で取得します。レンダリング、抽出、リンク、スクリーンショット、ブラウザー操作もオプションで指定できます。 | url、format、render、mode、main_content_only、include_tags、exclude_tags、extract、autoparse、links、screenshot、actions、wait_for、session_id、proxy、cache、max_cost |
複数の URL を一括スクレイピングする
| ツール | 機能 | 主なパラメーター |
|---|---|---|
spicrawl_batch_submit | 複数の URL を共通設定で 1 つの非同期ジョブとしてキューに追加します。ジョブとともに estimated_credits を返します。 | urls または items、render、format、open、max_attempts、credit_budget、max_cost |
spicrawl_batch_list | プロジェクトの一括ジョブを新しい順に一覧表示します。 | status、limit(最大 200)、cursor |
spicrawl_batch_status | 1 つのジョブのステータスと進行状況を返します。 | job_id |
spicrawl_batch_results | 完了したアイテムのページを返します。ジョブの実行中も使用できます。 | job_id、status、limit(最大 5000)、cursor |
spicrawl_batch_task_content | 1 つのアイテムの完全なペイロードを返します。 | job_id、seq |
spicrawl_batch_cancel | ジョブをキャンセルします。完了したアイテムの結果は保持されます。 | job_id |
spicrawl_batch_retry | 失敗したアイテムをすべてキューに再追加します。 | job_id |
spicrawl_batch_add_items | open: true を指定して送信したジョブに URL を追加します。 | job_id、urls または items |
spicrawl_batch_close | アイテムの追加を受け付けているジョブを終了し、完了できる状態にします。 | job_id |
ブラウザーセッション
| ツール | 説明 | 主なパラメーター |
|---|---|---|
spicrawl_session_create | 永続的なブラウザー ID(Cookie、ストレージ、固定のレンダリングティア)を作成します。 | engine、ttl_seconds、session_context |
spicrawl_session_list | セッションを新しい順に一覧表示します。 | status、engine、limit、cursor |
spicrawl_session_get | 1 つのセッションのステータス、レンダリングティア、終了状態、使用状況、有効期限を取得します。 | session_id |
spicrawl_session_context | ライブセッションの Cookie とストレージをダンプします(シークレットが含まれます)。 | session_id |
spicrawl_session_release | セッションを終了します。記録は released として残ります。 | session_id |
spicrawl_session_delete | セッションとその状態を完全に削除します。 | session_id |
使用状況とリクエスト履歴
| ツール | 説明 | 主なパラメーター |
|---|---|---|
spicrawl_usage | 日付範囲における課金対象の使用状況を取得します(read スコープ)。 | from、to、group_by、metrics |
spicrawl_usage_summary | 現在の期間の合計を取得します(read スコープ)。 | なし |
spicrawl_usage_reconciliation | リクエストログと課金集計の 1 日分の差異を取得します(read スコープ)。 | day |
spicrawl_requests_list | ステータス、エラーコード、レンダリングティア、レイテンシ、クレジットを含む最近の API 呼び出しを取得します。 | only_errors、status、limit、all_projects |
spicrawl_request_get | 1 件の呼び出しの完全なログレコードを取得します。 | id |
ドキュメント
| ツール | 説明 | 主なパラメーター |
|---|---|---|
spicrawl_docs_search | Spicrawl のドキュメントを検索します。エラーコードで検索すると、該当する項目へのリンクも表示されます。 | query、limit(1~20、デフォルトは 8) |
spicrawl_docs_read | ドキュメントページを Markdown として読み取ります(60,000 文字を超える場合は切り詰められます)。 | path |
spicrawl_docs_index | ドキュメントの llms.txt を取得します。タイトルと .md リンクを含む全ページが記載されています。 | なし |
近日公開
spicrawl_browser_connect_url は、任意の CDP クライアントから Spicrawl ホストのブラウザーを操作するための、1 回限りの CDP WebSocket URL を発行します。リモートブラウザーはまだ利用できません。これは 25 番目のツールであり、ホスト型のキーレス一覧とサーバーカードで除外されている唯一のツールです(そちらには 24 個のツールが記載されています)。スキーマでは、リリースに先立ち ai_extract、stealth、extract_preset、premium_proxy、proxy_country、sticky_key も受け付けます。エージェントはまだこれらを送信しないでください。現在利用可能なものだけを一覧表示するには、SPICRAWL_MCP_HIDE_UNAVAILABLE=1 を設定してください(環境変数を参照)。
プロンプトの例
- 「https://example.com/pricing を Markdown としてスクレイピングし、プランを要約してください。」
- 「この URL から製品名、価格、在庫状況を取得してください。」(
extractまたはautoparseを指定してspicrawl_scrapeを使用) - 「Cookie バナーが消えた後の https://example.com の全ページスクリーンショットを撮ってください。」(
render、actions、screenshot_fullpage) - 「この 500 件の URL をスクレイピングし、それぞれのページタイトルを教えてください。」(
spicrawl_batch_submitを実行し、その後spicrawl_batch_resultsを実行) - 「最後のスクレイピングが失敗した理由を教えてください。」(
only_errorsを指定してspicrawl_requests_listを実行し、その後spicrawl_request_getを実行) - 「今月、クレジットをいくつ使用しましたか?」(
spicrawl_usage_summary)
MCP クライアントのセットアップ
キーを SPICRAWL_API_KEY に設定し、クライアントが対応している場合は設定から参照してください。これにより、キーがコミット対象のファイルに含まれることを防げます。
Claude Code
ホスト型エンドポイント。自分だけが利用する設定(すべてのプロジェクトで --scope user を追加してください):
claude mcp add --transport http spicrawl https://mcp.spicrawl.com/mcp \
--header "Authorization: Bearer $SPICRAWL_API_KEY"
チームで共有するには、プロジェクトルートに .mcp.json をコミットします。Claude Code は ${VAR} を展開するため、各チームメンバー自身のキーが使用されます。
{
"mcpServers": {
"spicrawl": {
"type": "http",
"url": "https://mcp.spicrawl.com/mcp",
"headers": { "Authorization": "Bearer ${SPICRAWL_API_KEY}" }
}
}
}
または、MCP サーバーと Spicrawl エージェントスキルが同梱されたプラグインをインストールします。
claude plugin marketplace add OfficialSpicrawl/agent-plugins
claude plugin install spicrawl@spicrawl-plugins
claude mcp list またはセッション内で /mcp を実行して確認してください。詳細:docs.spicrawl.com/agents/claude-code。
Claude Desktop
Claude Desktop の `claude_desktop_config.json` で起動できるのはローカル(stdio)サーバーのみで、カスタムコネクターは `Authorization` ヘッダーを送信できないため、パッケージをローカルで実行してください。このファイルは、macOS では `~/Library/Application Support/Claude/claude_desktop_config.json`、Windows では `%APPDATA%\Claude\claude_desktop_config.json` にあります。{
"mcpServers": {
"spicrawl": {
"command": "npx",
"args": ["-y", "@spicrawl/mcp"],
"env": { "SPICRAWL_API_KEY": "spicrawl_live_..." }
}
}
}
保存した後、Claude Desktop を再起動してください。
Cursor
上の Add to Cursor ボタンを使うか、プロジェクト内の .cursor/mcp.json(またはすべてのプロジェクトで使う場合は ~/.cursor/mcp.json)に次の設定を追加してください。Cursor は url と headers 内の ${env:NAME} を解決するため、SPICRAWL_API_KEY が設定された環境から Cursor を起動してください。
{
"mcpServers": {
"spicrawl": {
"url": "https://mcp.spicrawl.com/mcp",
"headers": { "Authorization": "Bearer ${env:SPICRAWL_API_KEY}" }
}
}
}
VS Code (GitHub Copilot)
上の Install in VS Code ボタンを使うか、.vscode/mcp.json に次の設定を追加してください。VS Code では servers キーを使用します。また、入力変数を使うとキーの入力を一度求められ、安全に保存されるため、このファイルをコミットしても問題ありません。
{
"inputs": [
{ "type": "promptString", "id": "spicrawl-api-key", "description": "Spicrawl API key", "password": true }
],
"servers": {
"spicrawl": {
"type": "http",
"url": "https://mcp.spicrawl.com/mcp",
"headers": { "Authorization": "Bearer ${input:spicrawl-api-key}" }
}
}
}
VS Code は headers 内の ${env:...} を展開しないため、入力変数を使用してください。詳細:docs.spicrawl.com/agents/github-copilot。
Windsurf (Devin Desktop)
Windsurf は現在、Devin Desktop という名称になっています。デフォルトの Devin Local エージェントを使う場合は、ローカルスコープにサーバーを追加してください(設定は Git の追跡対象外である .devin/mcp_config.local.json に保存されます)。
devin mcp add spicrawl https://mcp.spicrawl.com/mcp -H "Authorization: Bearer $SPICRAWL_API_KEY"
従来の Cascade エージェントを使う場合は、~/.config/devin/mcp_config.json(Windows では %APPDATA%\devin\mcp_config.json)を編集してください。Cascade は serverUrl から URL を読み取り、${env:...} を置き換えます。
{
"mcpServers": {
"spicrawl": {
"serverUrl": "https://mcp.spicrawl.com/mcp",
"headers": { "Authorization": "Bearer ${env:SPICRAWL_API_KEY}" }
}
}
}
Gemini CLI
Gemini CLI はヘッダーを展開する前に、名前に KEY、TOKEN、AUTH を含む変数を削除するため、別の名前でキーをエクスポートしてください。
export SPICRAWL_MCP_BEARER="$SPICRAWL_API_KEY"
次に、~/.gemini/settings.json(1つのプロジェクトのみで使う場合は .gemini/settings.json)に設定を追加してください。Streamable HTTP では httpUrl キーを使います。
{
"mcpServers": {
"spicrawl": {
"httpUrl": "https://mcp.spicrawl.com/mcp",
"headers": { "Authorization": "Bearer $SPICRAWL_MCP_BEARER" }
}
}
}
または、gemini mcp add --scope user --transport http --header 'Authorization: Bearer $SPICRAWL_MCP_BEARER' spicrawl https://mcp.spicrawl.com/mcp を実行します。確認するには /mcp を実行してください。詳細:docs.spicrawl.com/agents/gemini-cli。
Codex
Codex は接続のたびに環境からキーを読み取るため、キーがファイルに保存されることはありません。
codex mcp add spicrawl --url https://mcp.spicrawl.com/mcp --bearer-token-env-var SPICRAWL_API_KEY
同等の設定を ~/.codex/config.toml(または信頼済みプロジェクト内の .codex/config.toml)に記述する場合:
[mcp_servers.spicrawl]
url = "https://mcp.spicrawl.com/mcp"
bearer_token_env_var = "SPICRAWL_API_KEY"
ローカル stdio を使う場合:
[mcp_servers.spicrawl]
command = "npx"
args = ["-y", "@spicrawl/mcp"]
env = { SPICRAWL_API_KEY = "spicrawl_live_..." }
Smithery and other gateways
接続パラメーターをヘッダーとして渡すゲートウェイでは、Authorization: Bearer <key> を常に送信できるとは限りません。Smithery はパラメーターをヘッダーに割り当てますが、Bearer 接頭辞を付けずに値をそのまま送信します。また、クライアント側で送信元の名前を authorization にできないこともよくあります。/mcp では、次のいずれかのヘッダーでキーを受け付けます。
| ヘッダー | 値 |
|---|---|
x-api-key | spicrawl_live_...(ゲートウェイでの使用を推奨) |
api-key | spicrawl_live_... |
Authorization | spicrawl_live_...(生のキー。Bearer は付けません)、または Bearer spicrawl_live_... |
Smithery では、API キーを接続パラメーターとして設定し、x-api-key ヘッダーに割り当てて、シークレットとして指定してください。または、Authorization に割り当てて生のキーを送信してください。値全体が Spicrawl キーであれば、サーバーはこれを受け付けます。
接続スキーマではキーを任意のまま(requiredなし)にできます。/mcpのinitialize、ping、tools/listはキーなしで応答し、サーバーカードと同じツール一覧(24個のツール。spicrawl_browser_connect_urlを除く)を返すため、ディレクトリにツールを掲載できます。ツールの呼び出しには引き続き有効なキーが必要で、キーがない場合は401で拒否されます。キーなしではセッションは開始されず、課金も読み取りも行われません。パラメーターの説明には、すべてのツールの実行にキーが必要であることを記載してください。
複数送信された場合は、正しい形式のキーを含む最初のものが、Authorization: Bearer、raw Authorization、x-api-key、api-keyの順で使用されます。クエリ文字列内のキーは読み取りません。URLはアクセスログに記録されるためです。/chatgpt/mcpはOAuthアクセストークンのみを受け付け、これらのキーは受け付けません。
その他のMCPクライアント
| 設定 | 値 |
|---|---|
| トランスポート | Streamable HTTP |
| URL | https://mcp.spicrawl.com/mcp |
| ヘッダー | Authorization: Bearer <your key>(またはx-api-key: <your key>) |
stdioのみ対応するクライアントでは、環境変数SPICRAWL_API_KEYを設定してnpx -y @spicrawl/mcpを実行します。サーバーが受け付けるのはAPIキーのみで、OAuthには対応していません。他のクライアント(OpenCode、Zed、JetBrains、Cline、Gooseなど)のセットアップページ:docs.spicrawl.com/agents/mcp。
| 変数 | デフォルト | 使用箇所 | 用途 |
|---|---|---|---|
SPICRAWL_API_KEY | なし(必須) | stdio | API キーです。HTTP サーバーはこれを無視し、各呼び出し元のベアラートークンを使用します。 |
SPICRAWL_BASE_URL | https://api.spicrawl.com(stdio)、http://127.0.0.1:8080(HTTP) | 両方 | ツールが呼び出す Spicrawl API です。 |
SPICRAWL_PUBLIC_BASE_URL | SPICRAWL_BASE_URL | 両方 | エンドユーザーがアクセスする API です。返される URL にのみ使用されます。 |
SPICRAWL_DOCS_URL | https://docs.spicrawl.com | 両方 | ドキュメントツール用のドキュメントベース URL です。キーがここに送信されることはありません。 |
SPICRAWL_DOCS_HOST | なし | 両方 | レガシー設定です。ドキュメントが /docs にあるオリジンを指定します。SPICRAWL_DOCS_URL が未設定の場合にのみ読み取られます。 |
SPICRAWL_MCP_ADDR | 127.0.0.1:8090 | HTTP | リッスンアドレス(host:port)です。 |
SPICRAWL_MCP_SESSION_IDLE_MS | 1800000(30 分) | HTTP | アイドル状態の MCP セッションは、この時間が経過すると破棄されます。 |
SPICRAWL_MCP_HIDE_UNAVAILABLE | オフ | 両方 | 1、true、yes、on のいずれかを指定すると、告知されているもののまだ利用できない項目が除外されます。spicrawl_browser_connect_url は登録されず(ツールは 25 個ではなく 24 個になります)、スキーマから「Coming soon」と記されたすべての引数(ai_extract、stealth、extract_preset、premium_proxy、proxy_country、sticky_key、セッションの rotate_ip、region_pool、fingerprint)が除外されます。セッション開始時に読み取られるため、変更後はプロセスを再起動してください。キー不要の tools/list とサーバーカードでは、常にオンとして動作します。 |
SPICRAWL_CHATGPT_ENABLED | オフ | HTTP | 1、true、yes、on のいずれかを指定すると、ChatGPT エンドポイントが有効になります。オフの場合、/chatgpt/mcp、そのメタデータ、OpenAI チャレンジはすべて 404 を返します。 |
SPICRAWL_CHATGPT_RESOURCE | https://mcp.spicrawl.com/chatgpt/mcp | HTTP | OAuth リソース識別子です。トークンはこの aud と完全に一致する対象に対して発行される必要があります。メタデータは /.well-known/oauth-protected-resource + そのパスに公開されます。 |
SPICRAWL_OAUTH_ISSUER | https://app.spicrawl.com | HTTP | メタデータに記載される認可サーバーです。トークンは <issuer>/api/oauth/introspect でイントロスペクションされます。 |
SPICRAWL_OAUTH_INTROSPECT_SECRET | なし | HTTP | イントロスペクションエンドポイントで使用する、このサーバーのベアラーシークレットです。未設定の場合、すべてのトークンに 503 が返されます。 |
SPICRAWL_CHATGPT_ROOT_PRM | オフ | HTTP | メタデータをルートの /.well-known/oauth-protected-resource でも提供します。/mcp は API キーを受け付け、OAuth を告知してはならないため、デフォルトではオフです。 |
SPICRAWL_OPENAI_APPS_CHALLENGE | なし | HTTP | /.well-known/openai-apps-challenge で提供する OpenAI ドメイン検証トークンです。 |
SPICRAWL_OPENAI_APPS_CHALLENGE_FILE | なし | HTTP | このトークンを格納するファイルです(前後の空白と末尾の改行は削除されます)。SPICRAWL_OPENAI_APPS_CHALLENGE が未設定の場合に読み取られます。 |
ドキュメント関連の変数が設定されていない場合、セルフホスト API を参照するサーバーは、その API 自身のドキュメントを <SPICRAWL_PUBLIC_BASE_URL or SPICRAWL_BASE_URL>/docs から読み取ります。
MCP サーバーを HTTP 経由でセルフホストする
ホストされたエンドポイントでは、このパッケージの Streamable HTTP サーバーが実行されます。独自に実行するには:
SPICRAWL_MCP_ADDR=127.0.0.1:8090 \
SPICRAWL_BASE_URL=https://api.spicrawl.com \
npx -y @spicrawl/mcp --http
- HTTP モードでの
SPICRAWL_BASE_URLのデフォルト値はhttp://127.0.0.1:8080(同じホスト上の Spicrawl API)であり、公開 API ではありません。公開 API を利用するには、https://api.spicrawl.comに設定してください。 - MCP は
POST/GET/DELETE /mcpで提供されます。稼働確認用エンドポイントはGET /healthzです(認証不要)。 GET /.well-known/mcp/server-card.json(認証不要、Cache-Control: public, max-age=3600)は、キーなしでは/mcpをスキャンできない Smithery などのディレクトリ向けの静的なサーバーカードです。serverInfo、トランスポート、ベアラー認証、ツール一覧が含まれます。ツールはtools/listと同じ定義から読み込まれ、SPICRAWL_MCP_HIDE_UNAVAILABLEが有効な場合と同じになります。ツールは 24 個で、spicrawl_browser_connect_urlは含まれません。キーを使って開いたセッションでは、その変数が設定されていない限り、このツールも一覧に含まれます。- キーがない場合、
/mcpが応答するのはディスカバリーのみです。対象はinitialize、ping、initialized通知、tools/list(サーバーカードと同じ 24 個のツール一覧)です。Mcp-Session-Idは発行されず、上流には何も送信されません。その他のリクエスト(tools/callを含む)は401になります。不正な形式のキーを送信するリクエストや、セッションを指定するリクエストも同様です。セッションを指定しないGETは405になります。 - 各呼び出し元は、自身のキーを
Authorization: Bearer spicrawl_live_...として送信します。または、Bearerプレフィックスを送信できないゲートウェイの場合は、Authorization: spicrawl_live_...、x-api-key、api-keyヘッダーに生の値を設定します(上記の「Smithery とその他のゲートウェイ」を参照。クエリパラメーターは使用しないでください)。セッションを開く前に API に対してキーを検証します(拒否された場合は401、API に接続できない場合はRetry-After付きの503)。セッションは、それを開いたキーに固定されます。 - サーバーは平文の HTTP を使用します。ネットワーク経由でキーを送信する前に、TLS の背後に配置してください。
ChatGPT エンドポイント(OAuth)
同じプロセスで、ChatGPT アプリ向けの制限付き MCP エンドポイントも提供できます。SPICRAWL_CHATGPT_ENABLED が有効でない限り、このエンドポイントは無効です。有効・無効にかかわらず、/mcp に変更はありません。
| ルート | 動作 |
|---|---|
POST /chatgpt/mcp | MCP Streamable HTTP。ステートレスで、Mcp-Session-Id はなく、リクエストごとに新しいサーバーを作成し、JSON レスポンスを返します。その他のメソッドは 405 を返します。 |
GET /.well-known/oauth-protected-resource/chatgpt/mcp | 保護対象リソースのメタデータ(RFC 9728):resource、authorization_servers(発行者)、scopes_supported: ["scrape","batch"]、resource_documentation。 |
GET /.well-known/oauth-protected-resource | SPICRAWL_CHATGPT_ROOT_PRM が設定されている場合に限り、同じドキュメントを返します。 |
GET /.well-known/openai-apps-challenge | 検証トークンを text/plain として、正確なバイト列で返します。末尾に改行はありません。設定されていない場合は 404 を返します。 |
認証で受け付けるのは OAuth アクセストークン(spicrawl_oat_…)のみです。
- トークンがない場合:
WWW-Authenticate: Bearer resource_metadata="https://mcp.spicrawl.com/.well-known/oauth-protected-resource/chatgpt/mcp", scope="scrape batch"付きの401。 - 不正、無効化済み、期限切れ、または対象者が異なるトークンの場合、あるいは API キー(
spicrawl_live_…/spicrawl_test_…。このエンドポイントでは受け付けません)の場合:error="invalid_token", error_description="…"を伴う同じ401。 - トークンのスコープで許可されていないツール呼び出しの場合:
error="insufficient_scope"付きの403。spicrawl_scrapeにはscrape、バッチツールにはbatchが必要です。ドキュメントツールには有効なトークンのみが必要です。 - 認可サーバーに到達できない場合、またはこのサーバーのシークレットが拒否された場合:
Retry-After付きの503。 各トークンはPOST <issuer>/api/oauth/introspect(Authorization: Bearer <SPICRAWL_OAUTH_INTROSPECT_SECRET>、フォーム本文token=…)で検証されます。active: trueで、audがリソースと一致する場合のみ受け入れられます。肯定的な応答は、トークンの SHA-256 をキーとして最大 30 秒間キャッシュされます。ただし、そのトークンのexpを過ぎて保持されることはありません。ツールは、イントロスペクションで返されたapi_keyを使って上流で実行されます。api_keyもトークンもログには記録されません。API が呼び出し中にそのキーを拒否した場合、ツールは_meta["mcp/www_authenticate"]に新しいinvalid_tokenチャレンジを含むエラーを返し、トークンをキャッシュから削除します。
エンドポイントには 6 つのツールが列挙されており、それぞれに readOnlyHint/destructiveHint/openWorldHint、タイトル、securitySchemes: [{type: "oauth2", scopes: [...]}](_meta.securitySchemes にも含まれます)が明示されています。
| ツール | スコープ | 引数 |
|---|---|---|
spicrawl_scrape | scrape | url(http/https のみ)、format(markdown/text/html/json)、render、main_content_only、include_tags、exclude_tags、links、extract(CSS セレクター)、autoparse、wait_for、cache、cache_ttl、max_cost(デフォルト 5)。常に HTTP GET を使用します。 |
spicrawl_batch_submit | batch | urls(1〜25 件)、format、render、main_content_only、max_cost、credit_budget(デフォルト 50)。 |
spicrawl_batch_status | batch | job_id。 |
spicrawl_batch_results | batch | job_id、status、limit(デフォルト 25、最大 100)、cursor。 |
spicrawl_docs_search、spicrawl_docs_read | なし | /mcp と同じです。 |
spicrawl_scrape は、/mcp とは異なり、このエンドポイントでは読み取り専用です。このエンドポイントが送信するのは GET のみで、method、本文、ヘッダー、actions は送信しません。spicrawl_batch_submit はジョブを作成するため、読み取り専用ではありません。
spicrawl_batch_results は、ジョブの完了処理中に結果ページへ内容が含まれずに掲載される成功済み項目について、GET /v1/batch/{id}/tasks/{seq}/content からその内容を取得します。1 ページあたり最大 25 件、2 MiB まで取得します。まだ読み取れない項目は unavailable として返され、サイズ上限を超えた項目は omitted として返されます。
それ以外の引数はすべて拒否され、無視されることはありません。結果には内容、サイトのステータス、課金されたクレジットが含まれます。リクエスト ID、タイムスタンプ、エンジンとプロキシの詳細、ストレージ参照、プロジェクト ID は含まれません。
グローバルにインストールすると(npm install -g @spicrawl/mcp)、コマンドは spicrawl-mcp(エイリアス spicrawl-mcp-server)です。--http、--version、--help を使用できます。
よくある質問
JavaScript を使ったサイトをスクレイピングできる MCP サーバーはどれですか?
Spicrawl MCP サーバーです。spicrawl_scrape を render: true(3 クレジット)で呼び出すと、ブラウザーでページが読み込まれ、スクリプトが実行され、処理済みの Markdown、テキスト、HTML、JSON が返されます。後から表示されるコンテンツには CSS セレクターを指定して wait_for を追加するか、mode: "auto" を設定すると、プレーンなフェッチから始め、必要な場合にのみより強力なレンダリングへ切り替えます。Spicrawl はリクエストごとにレンダリングを選択し、その処理を行ったティア(fetch、js、browser)に応じて課金します。使用されたティアは JSON 結果の engine として報告されます。ティアを選択する引数はありません。
Claude にウェブアクセスを許可するにはどうすればよいですか?
API キーを使って Spicrawl MCP サーバーを Claude に接続します。Claude Code の場合:
claude mcp add --transport http spicrawl https://mcp.spicrawl.com/mcp \
--header "Authorization: Bearer $SPICRAWL_API_KEY"
Claude は spicrawl_scrape を呼び出して、指定された URL を読み取れるようになります。Spicrawl がページを読み取るには URL を指定します。検索エンジンではありません。Claude Desktop については、以下のインストールに関する回答をご覧ください。
無料プランはありますか?
はい。ベータ期間中は、すべての組織が月 1,000 クレジットの単一プランを利用できます。プレーンフェッチは 1 クレジット、JavaScript レンダリングは 3 クレジット、フルブラウザーレンダリング(スクリーンショット、PDF、actions)は 8 クレジットです。失敗したリクエストは 0 クレジットで、キャッシュヒットには、そのキャッシュを保存したフェッチと同じ料金が適用されます。当月のクレジットを使い切ると、リセットされるまで呼び出しは ERR::LIMIT::QUOTA_EXCEEDED で失敗します。クレジットをご覧ください。
ボットで保護されたページに対応していますか?
ご自身のプロキシを使う場合に限り対応しています。proxy に指定してください(http:// URL。レジデンシャルプロキシが最適です)。サイトが Cloudflare のマネージドチャレンジを返すと、Spicrawl はそれを検出し、同じプロキシの出口を使ってフルブラウザーでのレンダリングにリクエストを切り替え、実際のページを返します。料金は 8 クレジットです。すべての段階でチャレンジが返された場合は ERR::UPSTREAM::CHALLENGE が返され、料金はかかりません。成功する可能性は高いものの、保証はされず、Spicrawl は CAPTCHA を解決しません。デフォルトの共有プールでは、チャレンジが返されたページに対してこのエラーが返されます。Cloudflare で保護されたページをスクレイピングするをご覧ください。
Cursor または Claude Desktop にインストールするには?
**Cursor:**上の Add to Cursor をクリックするか、.cursor/mcp.json に以下を追加し、SPICRAWL_API_KEY を設定して Cursor を起動します。
{
"mcpServers": {
"spicrawl": {
"url": "https://mcp.spicrawl.com/mcp",
"headers": { "Authorization": "Bearer ${env:SPICRAWL_API_KEY}" }
}
}
}
Claude Desktop はローカル(stdio)サーバーのみを起動するため、パッケージを実行してください。claude_desktop_config.json に以下を追加し、アプリを再起動します。
{
"mcpServers": {
"spicrawl": {
"command": "npx",
"args": ["-y", "@spicrawl/mcp"],
"env": { "SPICRAWL_API_KEY": "spicrawl_live_..." }
}
}
}
キーは app.spicrawl.com で取得できます。Claude Code、VS Code、Windsurf、Gemini CLI、Codex の設定手順は、MCP クライアントをセットアップするをご覧ください。
ウェブサイト全体をクロールできますか?
単一のクロールツールはありません。links: true を指定してページをスクレイピングし、取得したリンクをオープン状態のバッチジョブ(open: true と spicrawl_batch_add_items)に渡してください。
その他の質問
ホスト型の Spicrawl MCP サーバーはありますか?
はい。https://mcp.spicrawl.com/mcp が MCP Streamable HTTP で、Authorization: Bearer <API key> で認証します。そのため、インストールは不要です。
OAuth に対応していますか?
/mcp では対応していません。Spicrawl API キーのみを受け付けるため、401 のときに OAuth を試すクライアントでは OAuth をオフにしてください。別の ChatGPT エンドポイントである /chatgpt/mcp は、運用者が有効にした場合に限り、OAuth アクセストークンのみを受け付けます。
MCP サーバー、SDK、CLI のどれを使うべきですか?
AI エージェントに Spicrawl をツールとして呼び出させる場合は、MCP サーバーを使ってください。独自の TypeScript または JavaScript コードでは @spicrawl/sdk を、ターミナルまたはシェルスクリプトでは @spicrawl/cli を、その他の言語では REST API を使ってください。
トラブルシューティング
| 症状 | 対処方法 |
|---|---|
HTTP 401 または "Unauthorized: send your Spicrawl API key" | ヘッダーがないか、キーの形式が不正、未知、失効、または期限切れです。クライアントの起動元の環境で変数が設定されていることを確認してください。Bearer を送信できないゲートウェイでは x-api-key ヘッダーを使用できます。URL 内のキーは読み取られません。 |
ヘッダーに文字列 ${SPICRAWL_API_KEY} がそのまま含まれている | クライアントで展開されていません。Claude Code では ${VAR}、Cursor では ${env:VAR}、VS Code では ${input:id}、Codex では bearer_token_env_var を使ってください。 |
接続時に Retry-After を伴う HTTP 503 | サーバーがキーの確認に必要な API に接続できませんでした。再試行してください。キーに問題はありません。 |
spicrawl_usage* ツールから ERR::AUTH::INSUFFICIENT_SCOPE が返される | ダッシュボードでキーに read スコープを付与してください。 |
ERR::LIMIT::QUOTA_EXCEEDED(HTTP 402) | 月間クレジット上限を使い切っています。リセットされるまで再試行しても解決しません。 |
spicrawl_scrape で "Unknown argument" が表示される | ツールの引数名を使ってください。js_render ではなく render、response_format ではなく format です。 |
| ツールが表示されない | クライアントを再起動し、設定キー(VS Code では servers、それ以外では mcpServers)を確認してください。 |
npx が見つからない(stdio) | Node.js 20 以降をインストールしてください。 |
キーなしで実行した curl -i https://mcp.spicrawl.com/mcp は 401 を返します。これはエンドポイントに到達できることを示しています。
関連パッケージ
@spicrawl/sdk:Spicrawl API の公式 TypeScript SDK。@spicrawl/cli:Spicrawl のコマンドラインインターフェース。- OfficialSpicrawl/agent-plugins:このサーバーと Spicrawl スキルを Claude Code、Codex、Cursor、Gemini CLI などにまとめたプラグイン。
リンク
- ドキュメント:docs.spicrawl.com/agents/mcp
- LLM 向けドキュメント:docs.spicrawl.com/llms.txt
- ダッシュボードと API キー:app.spicrawl.com
- 課題:github.com/OfficialSpicrawl/mcp/issues
- セキュリティ:SECURITY.md。API キーは決してコミットしないでください。漏えいしたキーは app.spicrawl.com で無効化してください。
MCP Registry への公開
server.json には、io.github.OfficialSpicrawl/mcp の下に npm/stdio パッケージとホストされた Streamable HTTP エンドポイントの両方が記載されています。API キーはサーバーをインストールする人に要求されます。マニフェストにキーを含めないでください。
既存の release ワークフローは、npm ジョブの成功後、main へのプッシュ時または main からの手動実行時に MCP Registry へ公開します。Registry の認証には GitHub OIDC(id-token: write)を使用するため、新しいシークレット、デバイスログイン、DNS レコードは必要ありません。npm のリリースには、引き続き既存の NPM_TOKEN シークレットを使用します。
リリースするには、npm version --no-git-tag-version X.Y.Z を実行して変更履歴を更新し、変更を main に反映します。npm のバージョンフックによって、server.json に記載された両方のバージョンが同期されます。package.json を手動で編集した場合は、npm run registry:sync を実行してください。CI では、公式の $schema に対して Ajv でマニフェストを検証し、npm への公開前に名前またはバージョンの不一致を検出して拒否します。このチェックをローカルで実行するには、次のコマンドを実行してください。
npm ci
npm run registry:validate
# Offline: pass a downloaded copy of the exact server.json $schema URL.
npm run registry:validate -- /path/to/server.schema.json
Registry のジョブでは、公開前に、公開済み npm パッケージに一致する mcpName があることを確認します。Registry に既存のバージョンがある場合はスキップされます。検索に失敗した場合、ジョブは停止します。Registry への公開失敗を再試行する場合、またはすでに公開されている現在の npm バージョンを一覧表示する場合は、main で release ワークフローを再度実行してください。既存のリスティングのメタデータを変更する場合は、新しいバージョンを使用してください。公開用バイナリはバージョンが固定されており、ダウンロードしたファイルはリリースチェックサムと照合されます。CLI をアップグレードする場合は、release.yml のバージョンを更新してください。
公開状況は https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.OfficialSpicrawl/mcp で確認してください。OIDC によるこの名前空間への公開には、ワークフローが OfficialSpicrawl/mcp にマージされている必要があります。フォークからのプルリクエストでは検証とテストを実行しますが、Registry のジョブは実行しません。
公式リファレンス:公開クイックスタート、GitHub Actions、リモートサーバー。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。