ScrAPI MCP Server について
ScrAPI MCP Server は ScrAPI を通じて MCP クライアントにウェブページのスクレイピング機能を提供します。HTML と Markdown を返し、取得前にブラウザー操作を実行できます。
主な機能
- 01ページをスクレイピングして HTML を返す
- 02ページをスクレイピングして Markdown を返す
- 03取得前のブラウザー操作
- 04stdio と Streamable HTTP に対応
活用シーン
- 01分析用の記事テキストの抽出
- 02ページのリンク、表、メタデータの取得
- 03Cookie バナーへの同意後にページを取得
MCP 対応
stdio または Streamable HTTP 経由で、HTML または Markdown を返すスクレイピングツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | スクレイピングする URL |
| browserCommands | string | いいえ | スクレイピング前に実行する任意の JSON ブラウザーコマンド配列。使用可能なコマンドと形式についてはツールの説明を参照してください。 |
詳細
![]()
ScrAPI MCP サーバー
ScrAPI MCP サーバーを使うと、MCP 対応クライアントから ScrAPI 経由で Web ページをスクレイピングできます。
ScrAPI は、ページの取得に実際のブラウザーセッション、CAPTCHA の解決、住宅用プロキシへのアクセス、Cookie バナーの処理、JavaScript のレンダリング、位置情報に応じた取得、クリックやスクロールなどのスクレイピング前のブラウザー操作が必要な場合に便利です。
目次
- 機能
- 利用可能なツール
- 前提条件
- API キー
- クイックスタート
- MCP クライアントの設定
- HTTP トランスポート
- クラウドホスト型サーバー
- 使用例
- ブラウザーコマンド
- トラブルシューティング
- 開発
- ライセンス
機能
- ScrAPI 経由で、有効な
https://またはhttp://URL をスクレイピングします。 - 生の HTML または読みやすい Markdown を返します。
- スクレイピング前にブラウザーコマンドを実行します。
- デスクトップ MCP クライアント向けに stdio トランスポートを使用します。
- リモート MCP クライアントとローカルテスト向けに Streamable HTTP トランスポートを使用します。
npx、Docker、Smithery、またはソースから実行できます。
利用可能なツール
scrape_url_html
URL をスクレイピングし、結果を HTML として返します。
ページの構造、リンク、テーブル、埋め込みメタデータ、または独自の後続処理が必要な場合に使用します。
入力:
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
url | string | はい | スクレイピングする絶対 URL です。有効な URL である必要があります。 |
browserCommands | string | いいえ | スクレイピング前に実行するブラウザーコマンドを格納した JSON 配列文字列です。 |
戻り値:
- リクエストされたページの
text/htmlコンテンツ。 - 上流リクエストが失敗した場合は、ScrAPI のエラー本文とともに
isError: trueを返します。
scrape_url_markdown
URL をスクレイピングし、結果を Markdown として返します。
記事の抽出、商品説明、検索結果の要約、LLM に適したページ分析など、HTML の構造よりテキストの内容が重要な場合に使用します。
入力:
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
url | string | はい | スクレイピングする絶対 URL です。有効な URL である必要があります。 |
browserCommands | string | いいえ | スクレイピング前に実行するブラウザーコマンドを格納した JSON 配列文字列です。 |
戻り値:
- リクエストされたページの
text/markdownコンテンツ。 - 上流リクエストが失敗した場合は、ScrAPI のエラー本文とともに
isError: trueを返します。
前提条件
次のランタイムオプションから選択してください。
npxまたはローカル開発には Node.js 18 以降。- コンテナーを使う場合は Docker。
- Claude Desktop、MCP Inspector、または stdio や Streamable HTTP の MCP サーバーに対応したその他のクライアントなどの、MCP 対応クライアント。
API キー
ScrAPI アカウントを使用するには、SCRAPI_API_KEY を設定します。
export SCRAPI_API_KEY="your-scrapi-api-key"
PowerShell:
$env:SCRAPI_API_KEY = "your-scrapi-api-key"
API キーが必要です。API キーがない場合、現在 ScrAPI では一部のドメインに限り、同時実行数とキューの優先度が低い状態で無料利用できます。
クイックスタート
NPX で実行する
デフォルトのトランスポートは stdio です。これは、ローカルサーバープロセスの起動時に、ほとんどのデスクトップ MCP クライアントが使用するトランスポートです。
npx -y @deventerprisesoftware/scrapi-mcp
API キーを使用する場合:
SCRAPI_API_KEY="your-scrapi-api-key" npx -y @deventerprisesoftware/scrapi-mcp
PowerShell:
$env:SCRAPI_API_KEY = "your-scrapi-api-key"
npx -y @deventerprisesoftware/scrapi-mcp
Docker で実行する
公開されている Docker イメージはデフォルトで HTTP モードで起動し、ポート 5000 でリッスンします。
docker run --rm -p 5000:5000 -e SCRAPI_API_KEY="your-scrapi-api-key" deventerprisesoftware/scrapi-mcp
MCP エンドポイント:
http://localhost:5000/mcp
ローカル MCP クライアント用の stdio サーバーとしてコンテナーを実行するには:
docker run -i --rm -e TRANSPORT=stdio -e SCRAPI_API_KEY="your-scrapi-api-key" deventerprisesoftware/scrapi-mcp
MCP クライアントの設定
ほとんどのローカルコーディングアシスタントでは、次の 2 種類の設定形式のいずれかを使用します。
- Stdio:クライアントが
npxまたは Docker でこのパッケージを起動し、stdin/stdout 経由で通信します。 - Streamable HTTP:
TRANSPORT=httpを指定してこのサーバーを自分で起動し、クライアントの接続先をhttp://localhost:5000/mcpまたはデプロイ先の URL に設定します。
クライアントにツールのタイムアウト設定がある場合は、300000 ミリ秒または 300 秒に近い値を使用してください。ScrAPI では、CAPTCHA の解決、ブラウザーのレンダリング、または複数のブラウザーコマンドが必要なページの処理に数分かかることがあります。
NPX を使用した Claude Desktop の設定
claude_desktop_config.json に次の設定を追加します。
{
"mcpServers": {
"ScrAPI": {
"command": "npx",
"args": ["-y", "@deventerprisesoftware/scrapi-mcp"],
"env": {
"SCRAPI_API_KEY": "your-scrapi-api-key"
}
}
}
}
Docker を使用した Claude Desktop の設定
{
"mcpServers": {
"ScrAPI": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SCRAPI_API_KEY",
"deventerprisesoftware/scrapi-mcp"
],
"env": {
"SCRAPI_API_KEY": "your-scrapi-api-key"
}
}
}
}
設定を変更したら、Claude Desktop を再起動します。MCP ツールの一覧に ScrAPI の 2 つのツールが表示されます。

Cursor
Cursor は、プロジェクト設定 .cursor/mcp.json とグローバル設定 ~/.cursor/mcp.json に対応しています。Cursor の MCP ドキュメントを参照してください。
Stdio の設定:
{
"mcpServers": {
"scrapi": {
"command": "npx",
"args": ["-y", "@deventerprisesoftware/scrapi-mcp"],
"env": {
"SCRAPI_API_KEY": "${env:SCRAPI_API_KEY}"
}
}
}
}
HTTP の設定:
{
"mcpServers": {
"scrapi": {
"url": "http://localhost:5000/mcp"
}
}
}
HTTP の場合は、先にサーバーを起動します。
TRANSPORT=http PORT=5000 SCRAPI_API_KEY="your-scrapi-api-key" npx -y @deventerprisesoftware/scrapi-mcp
Windsurf
Windsurf Cascade は、MCP サーバーを ~/.codeium/windsurf/mcp_config.json に保存します。また、Windsurf Settings > Cascade > MCP Servers からサーバーを追加することもできます。Windsurf の MCP ドキュメントを参照してください。
Stdio の設定:
{
"mcpServers": {
"scrapi": {
"command": "npx",
"args": ["-y", "@deventerprisesoftware/scrapi-mcp"],
"env": {
"SCRAPI_API_KEY": "${env:SCRAPI_API_KEY}"
}
}
}
}
HTTP の設定:
{
"mcpServers": {
"scrapi": {
"serverUrl": "http://localhost:5000/mcp"
}
}
}
Windsurf は、リモート HTTP MCP サーバーに serverUrl または url を使用できます。チームでエンタープライズ MCP コントロールを使用している場合、管理者の許可リストにあるサーバー ID は、たとえば scrapi のようにキー名と一致している必要があります。
Kilo Code
Kilo Code は、MCP 設定をメインの Kilo 設定ファイルに保存します。グローバル設定には ~/.config/kilo/kilo.jsonc、プロジェクトルートには kilo.jsonc、プロジェクト固有の設定には .kilo/kilo.jsonc を使用します。Kilo Code の MCP ドキュメントを参照してください。
ローカルの stdio 設定:
{
"mcp": {
"scrapi": {
"type": "local",
"command": ["npx", "-y", "@deventerprisesoftware/scrapi-mcp"],
"environment": {
"SCRAPI_API_KEY": "your-scrapi-api-key"
},
"enabled": true,
"timeout": 300000
}
}
}
リモート HTTP の設定:
{
"mcp": {
"scrapi": {
"type": "remote",
"url": "http://localhost:5000/mcp",
"enabled": true,
"timeout": 300000
}
}
}
Windows で Kilo Code の UI から npx が見つからない場合は、コマンドに cmd を指定し、引数として /c、npx、-y、@deventerprisesoftware/scrapi-mcp を渡してください。
Codex
Codex は CLI と IDE 拡張機能で MCP サーバーに対応しています。どちらも同じ MCP 設定を使用します。デフォルトでは、Codex は設定を ~/.codex/config.toml に保存します。信頼済みのプロジェクトでは .codex/config.toml も使用できます。Codex の MCP ドキュメントを参照してください。
Codex CLI で stdio サーバーを追加します。
codex mcp add scrapi --env SCRAPI_API_KEY="your-scrapi-api-key" -- npx -y @deventerprisesoftware/scrapi-mcp
codex mcp list
同等の config.toml による stdio の設定:
[mcp_servers.scrapi]
command = "npx"
args = ["-y", "@deventerprisesoftware/scrapi-mcp"]
startup_timeout_sec = 20
tool_timeout_sec = 300
[mcp_servers.scrapi.env]
SCRAPI_API_KEY = "your-scrapi-api-key"
HTTP の設定:
[mcp_servers.scrapi]
url = "http://localhost:5000/mcp"
tool_timeout_sec = 300
Codex のターミナル UI で /mcp を実行し、サーバーが接続されていることを確認します。
VS Code
VS Code は、ワークスペースの場合は .vscode/mcp.json に、ユーザープロファイルの場合はそのプロファイルに MCP 設定を保存します。トップレベルのキーは mcpServers ではなく servers です。VS Code の MCP 設定リファレンスを参照してください。
Stdio の設定:
{
"inputs": [
{
"type": "promptString",
"id": "scrapi-api-key",
"description": "ScrAPI API key",
"password": true
}
],
"servers": {
"scrapi": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@deventerprisesoftware/scrapi-mcp"],
"env": {
"SCRAPI_API_KEY": "${input:scrapi-api-key}"
}
}
}
}
HTTP の設定:
{
"servers": {
"scrapi": {
"type": "http",
"url": "http://localhost:5000/mcp"
}
}
}
コマンドパレットのコマンド MCP: Add Server、MCP: List Servers、MCP: Reset Cached Tools を使用して、MCP サーバーの追加、確認、更新を行います。
Claude Code
Claude Code は、claude mcp CLI と Claude Code 内の /mcp コマンドを通じて MCP サーバーをサポートしています。Claude Code MCP のドキュメントをご覧ください。
stdio サーバーを追加します:
claude mcp add --transport stdio --env SCRAPI_API_KEY="your-scrapi-api-key" scrapi -- npx -y @deventerprisesoftware/scrapi-mcp
claude mcp list
HTTP サーバーを追加します:
claude mcp add --transport http scrapi http://localhost:5000/mcp
claude mcp list
すべての Claude Code プロジェクトでサーバーを利用できるようにするには、サーバー名の前に --scope user を追加します:
claude mcp add --transport stdio --scope user --env SCRAPI_API_KEY="your-scrapi-api-key" scrapi -- npx -y @deventerprisesoftware/scrapi-mcp
Claude Code 内で /mcp を実行し、サーバーが接続されていることを確認します。
汎用 Stdio MCP クライアント
コマンド、引数、環境変数を受け付けるクライアントでは、次の形式を使用します:
{
"name": "ScrAPI",
"command": "npx",
"args": ["-y", "@deventerprisesoftware/scrapi-mcp"],
"env": {
"SCRAPI_API_KEY": "your-scrapi-api-key"
}
}
HTTP トランスポート
TRANSPORT=http を設定すると、Streamable HTTP 経由でサーバーを実行できます。
TRANSPORT=http PORT=5000 SCRAPI_API_KEY="your-scrapi-api-key" npx -y @deventerprisesoftware/scrapi-mcp
PowerShell:
$env:TRANSPORT = "http"
$env:PORT = "5000"
$env:SCRAPI_API_KEY = "your-scrapi-api-key"
npx -y @deventerprisesoftware/scrapi-mcp
MCP エンドポイント:
http://localhost:5000/mcp
環境変数:
| 名前 | デフォルト | 説明 |
|---|---|---|
SCRAPI_API_KEY | 制限付きデフォルトキー | ScrAPI のスクレイプ API を呼び出す際に使用する ScrAPI API キーです。 |
TRANSPORT | stdio | stdio または http を使用します。 |
PORT | 5000 | TRANSPORT=http の場合に使用するポートです。 |
MCP Inspector でテストする
Stdio モード:
npx @modelcontextprotocol/inspector npx -y @deventerprisesoftware/scrapi-mcp
HTTP モード:
TRANSPORT=http PORT=5000 npx -y @deventerprisesoftware/scrapi-mcp
次に MCP Inspector を開き、以下に接続します:
http://localhost:5000/mcp

クラウドホスト型サーバー
ScrAPI はホスト型の MCP エンドポイントも提供しています:
Streamable HTTP: https://api.scrapi.tech/mcp
クラウド MCP サーバーは、すべての MCP クライアントでサポートされているわけではありません。カスタムクライアント、MCP Inspector、またはリモート MCP サーバーをサポートするプラットフォームでの利用に最適です。
ScrAPI API キーで認証するには、クエリパラメーターまたはリクエストヘッダーとして渡します:
- クエリパラメーター:
https://api.scrapi.tech/mcp?apiKey=<YOUR_API_KEY> - リクエストヘッダー:
X-API-KEY: <YOUR_API_KEY>
使用例
具体的な操作方法は、使用する MCP クライアントによって異なります。ほとんどのクライアントでは、ScrAPI ツールを使うようモデルに依頼するか、ツールインスペクターから直接ツールを呼び出せます。
ページを Markdown としてスクレイプする
ツール:
scrape_url_markdown
引数:
{
"url": "https://example.com"
}
プロンプトの例:
Use ScrAPI to scrape https://example.com as Markdown and summarize the page.
ページを HTML としてスクレイプする
ツール:
scrape_url_html
引数:
{
"url": "https://example.com"
}
プロンプトの例:
Use ScrAPI to scrape https://example.com as HTML and extract every link.
スクレイプ前に Cookie を受け入れる
browserCommands の値は、JSON 配列を含む文字列である必要があります。
{
"url": "https://example.com",
"browserCommands": "[{\"click\":\"#accept-cookies\"},{\"wait\":1000}]"
}
検索結果をスクレイプする前にサイトを検索する
{
"url": "https://example.com/search",
"browserCommands": "[{\"input\":{\"input[name='q']\":\"web scraping\"}},{\"click\":\"button[type='submit']\"},{\"waitfor\":\"#results\"}]"
}
さらにコンテンツを読み込む
{
"url": "https://example.com/products",
"browserCommands": "[{\"scroll\":1200},{\"wait\":1000},{\"click\":\"button.load-more\"},{\"waitfor\":\".product-card:nth-child(25)\"}]"
}
ブラウザーコマンド
どちらのツールも、ScrAPI が最終結果を取得する前にページを操作する、オプションのブラウザーコマンドをサポートしています。
コマンドは JSON 配列文字列として指定します。ランダムなマウス移動や可変の入力速度など、人間らしい動作で実行されます。
| コマンド | 形式 | 説明 |
|---|---|---|
| クリック | {"click": "#buttonId"} | CSS セレクターで指定した要素をクリックします。 |
| 入力 | {"input": {"input[name='email']": "value"}} | 入力フィールドに値を入力します。 |
| 選択 | {"select": {"select[name='country']": "USA"}} | 値または表示テキストでオプションを選択します。 |
| スクロール | {"scroll": 1000} | ピクセル単位で下にスクロールします。上にスクロールするには負の値を指定します。 |
| 待機 | {"wait": 5000} | ミリ秒単位で待機します。最大値:15000。 |
| 要素待機 | {"waitfor": "#elementId"} | 要素が DOM に表示されるまで待機します。 |
| JavaScript | {"javascript": "console.log('test')"} | カスタム JavaScript を実行します。 |
読みやすいコマンド配列:
[
{ "click": "#accept-cookies" },
{ "wait": 2000 },
{ "input": { "input[name='search']": "web scraping" } },
{ "click": "button[type='submit']" },
{ "waitfor": "#results" },
{ "scroll": 500 }
]
MCP ツール引数としてエスケープした形式:
{
"url": "https://example.com",
"browserCommands": "[{\"click\":\"#accept-cookies\"},{\"wait\":2000},{\"input\":{\"input[name='search']\":\"web scraping\"}},{\"click\":\"button[type='submit']\"},{\"waitfor\":\"#results\"},{\"scroll\":500}]"
}
CSS セレクターを見つける方法でお困りですか?Rayrun ブラウザー拡張機能を使うと、要素を選択してセレクターを生成できます。
詳しくは、ブラウザーコマンドのドキュメントをご覧ください。
トラブルシューティング
MCP クライアントがサーバーを見つけられない
npxを使用している場合は、Node.js 18 以降がインストールされていることを確認します。- Docker を使用している場合は、Docker Desktop が起動していることを確認します。
- 設定ファイルを編集した後、MCP クライアントを再起動します。
- 設定したコマンドがターミナルで正常に動作することを確認します。
ツールは表示されるが、スクレイピングに失敗する
SCRAPI_API_KEYが正しく設定されていることを確認してください。browserCommandsを指定せずに、同じ URL を試してください。browserCommandsが生の JSON 配列ではなく、JSON 配列の文字列であることを確認してください。- Markdown 抽出で必要な構造が省略される場合は、
scrape_url_htmlを使用してください。 - 実行時間の長いページ、CAPTCHA のフロー、JavaScript を多用するページでは、数分かかることがあります。
ブラウザーコマンドが無視される
サーバーがブラウザーコマンドを送信するのは、browserCommands が JSON 配列として解析された場合のみです。次の形式は有効です。
{
"browserCommands": "[{\"click\":\"#accept-cookies\"}]"
}
次の形式は配列ではなくオブジェクトの配列であるため、この MCP ツールのスキーマでは無効です。
{
"browserCommands": [{ "click": "#accept-cookies" }]
}
HTTP エンドポイントが応答しない
- サーバーが
TRANSPORT=httpを指定して起動されていることを確認してください。 - クライアントが
/ではなく/mcpに接続していることを確認してください。 - ポートが
PORTと一致していることを確認してください。
開発
依存関係をインストールします。
npm install
テストを実行します。
npm test
ビルドします。
npm run build
stdio モードでソースから実行します。
npm run build
node dist/index.js
HTTP モードでソースから実行します。
TRANSPORT=http PORT=5000 node dist/index.js
Docker イメージをビルドします。
docker build -t deventerprisesoftware/scrapi-mcp -f Dockerfile .
または、パッケージのスクリプトを使用します。
npm run docker:build
ライセンス
この MCP サーバーは MIT License の下でライセンスされています。MIT License の条件に従って、ソフトウェアを自由に使用、変更、配布できます。詳細は LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。