mcpField
S
Scrapi

Scrapi

リモート
github.com/bamchiブラウザ自動化534 週間前に更新
リポジトリ

Scrapi について

Scrapiは、エージェントがウェブページを読めるようにするMCPサーバーです。メタデータを含む整形済みMarkdownまたはテキストを返し、JavaScript描画ページや複数URLの並列取得にも対応します。

主な機能

  1. 01URLをMarkdownまたはテキストに変換
  2. 02タイトル、著者、日付、画像を取得
  3. 03広告、ナビゲーション、スクリプトを除去
  4. 04JavaScript描画ページに対応
  5. 05複数URLを並列取得
  6. 06利用状況と請求情報を確認

活用シーン

  1. 01ウェブ記事の要約
  2. 02サイトの価格情報の確認
  3. 03APIドキュメントの閲覧
  4. 04複数ページの並列収集

MCP 対応

Scrapiは、単一または複数URLの取得、スクレイパー状態の確認、利用状況と請求情報の取得ツールを提供します。stdioとStreamable HTTPのトランスポートに対応します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://scrapi.ai/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://scrapi.ai/mcp認証が必要
パッケージ
npm@scrapi.ai/mcp-server2.0.6

ツール

5
パラメーター型必須説明
formatenumいいえ出力形式:markdown(デフォルト)または textmarkdown | text
urlstringはいスクレイピングするウェブページの URL

詳細

Scrapi AI

URL をクリーンな Markdown/テキストに変換する、LLM エージェント向け MCP サーバー

한국어 · ウェブサイト · ダッシュボード

npm version License: MIT

⚡ 高速で信頼性の高い動作 — 8 年以上にわたるウェブスクレイピングの専門知識、1,900 以上の本番環境用クローラー、実戦で鍛えられたボット対策処理を基盤としています。

これは何ですか?

AI エージェントがウェブページを取得して読み取れるようにする MCP(Model Context Protocol) サーバーです。URL を渡すだけで、LLM に適したクリーンなコンテンツをすばやく返します。

Before: AI はウェブページを直接読めません
After: 「この記事を要約して」がすぐに実行できます ✨


機能

  • 🌐 URL → Markdown:見出し、リスト、リンクを保持します
  • 📄 URL → テキスト:プレーンテキストを抽出します
  • 🏷️ メタデータ:タイトル、著者、日付、画像
  • 🧹 クリーンな出力:広告、ナビゲーション、スクリプトを除去します
  • ⚡ JavaScript レンダリング:SPA に対応します
  • 💳 請求機能を内蔵:クレジットの追跡、サブスクリプション管理、利用状況の分析(MCP キー)
  • 🔄 自動再試行:429 レート制限レスポンスを Retry-After に従って自動的に再試行します
  • 🌍 デュアルトランスポート:柔軟なデプロイに対応する Stdio(npx)+ Streamable HTTP

トランスポートモード

Scrapi MCP Server は 2 つのトランスポートモードに対応しています。

モード最適な用途Node.js が必要
StdioClaude Desktop、Cursor、Cline、Claude Codeはい(npx 経由で自動)
Streamable HTTPすべてのクライアント、Node.js 不要の環境いいえ

前提条件

  • Scrapi MCP アカウント(メインの Scrapi アカウントとは別)
  • Claude Desktop、Cline、または Cursor がインストール済みであること
  • Node.js 20+

インストール

オプション A:npx(推奨)

インストールは不要です。MCP クライアントで npx を使用するように設定するだけです。

{
  "mcpServers": {
    "scrapi": {
      "command": "npx",
      "args": ["-y", "@scrapi.ai/mcp-server"],
      "env": {
        "SCRAPI_API_KEY": "your-api-key"
      }
    }
  }
}

ヒント: 環境変数の代わりに、CLI 引数で API キーを渡すこともできます。

"args": ["-y", "@scrapi.ai/mcp-server", "--api-key", "your-api-key"]

この設定の配置場所については、手順 2 を参照してください。

オプション B:ソースからインストール
# Clone the repository
git clone https://github.com/bamchi/scrapi-mcp-server.git
cd scrapi-mcp-server

# Install dependencies and build
npm install && npm run build

手順 1:API キーを取得する

  1. https://scrapi.ai にアクセスします
  2. サインアップするか、ログインします
  3. MCP ダッシュボード にアクセスします。Free プラン(月 500 クレジット)と API キーは自動的に作成されます
  4. hsmcp_ API キーをコピーします

手順 2:MCP サーバーを設定する

Claude Desktop

オプション A:設定画面から(推奨)

  1. Claude Desktop を開きます
  2. Settings(左下の歯車アイコン)をクリックします
  3. Developer タブを選択します
  4. 「Edit Config」ボタンをクリックします
  5. mcpServers の設定を追加します(以下を参照)
  6. 保存して Claude Desktop を再起動します(Cmd+Q を押してから、再度開きます)

オプション B:設定ファイルを直接編集

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

設定(npx):

{
  "mcpServers": {
    "scrapi": {
      "command": "npx",
      "args": ["-y", "@scrapi.ai/mcp-server"],
      "env": {
        "SCRAPI_API_KEY": "your-api-key"
      }
    }
  }
}

設定(ソースから):

{
  "mcpServers": {
    "scrapi": {
      "command": "node",
      "args": ["/absolute/path/to/scrapi-mcp-server/dist/index.js"],
      "env": {
        "SCRAPI_API_KEY": "your-api-key"
      }
    }
  }
}

注:/absolute/path/to/ を、リポジトリをクローンした実際のパスに置き換えてください。

Cline

設定ファイルの場所:

  • macOS:~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Windows:%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json

設定(npx):

{
  "mcpServers": {
    "scrapi": {
      "command": "npx",
      "args": ["-y", "@scrapi.ai/mcp-server"],
      "env": {
        "SCRAPI_API_KEY": "your-api-key"
      }
    }
  }
}

設定(ソースから):

{
  "mcpServers": {
    "scrapi": {
      "command": "node",
      "args": ["/absolute/path/to/scrapi-mcp-server/dist/index.js"],
      "env": {
        "SCRAPI_API_KEY": "your-api-key"
      }
    }
  }
}
Cursor

プロジェクトのルートに .cursor/mcp.json を作成または編集します:

設定(npx):

{
  "mcpServers": {
    "scrapi": {
      "command": "npx",
      "args": ["-y", "@scrapi.ai/mcp-server"],
      "env": {
        "SCRAPI_API_KEY": "your-api-key"
      }
    }
  }
}

設定(ソースから):

{
  "mcpServers": {
    "scrapi": {
      "command": "node",
      "args": ["/absolute/path/to/scrapi-mcp-server/dist/index.js"],
      "env": {
        "SCRAPI_API_KEY": "your-api-key"
      }
    }
  }
}
Claude Code

オプション 1:CLI コマンド(推奨)

claude mcp add scrapi-ai -s user -e SCRAPI_API_KEY=your-api-key -- npx -y @scrapi.ai/mcp-server

または --api-key を指定します:

claude mcp add scrapi-ai -s user -- npx -y @scrapi.ai/mcp-server --api-key your-api-key

オプション 2:設定ファイルを編集

~/.claude.json またはプロジェクトの .mcp.json を編集します:

{
  "mcpServers": {
    "scrapi": {
      "command": "npx",
      "args": ["-y", "@scrapi.ai/mcp-server", "--api-key", "your-api-key"]
    }
  }
}
Streamable HTTP

Streamable HTTP 経由で接続します。クライアント側に Node.js をインストールする必要はありません。

エンドポイント:https://scrapi.ai/mcp

Cursor(.cursor/mcp.json):

{
  "mcpServers": {
    "scrapi": {
      "url": "https://scrapi.ai/mcp",
      "headers": {
        "Authorization": "Bearer your-api-key"
      }
    }
  }
}

Claude Code(CLI):

claude mcp add --transport http scrapi https://scrapi.ai/mcp \
  --header "Authorization: Bearer your-api-key"

Cline(cline_mcp_settings.json):

{
  "mcpServers": {
    "scrapi": {
      "type": "streamableHttp",
      "url": "https://scrapi.ai/mcp",
      "headers": {
        "Authorization": "Bearer your-api-key"
      }
    }
  }
}

Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "scrapi": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://scrapi.ai/mcp",
        "--header",
        "Authorization: Bearer your-api-key"
      ]
    }
  }
}

注:Claude Desktop で HTTP 接続を使用するには、mcp-remote プロキシが必要です。

HTTP サーバーをセルフホストする(上級者向け)

ホストされたエンドポイントを使わずに、独自のインスタンスを実行します:

SCRAPI_API_KEY=your-api-key npx -y -p @scrapi.ai/mcp-server scrapi-http
# or from source:
SCRAPI_API_KEY=your-api-key node dist/http.js

サーバーは http://localhost:3000 で起動し、MCP エンドポイントは /mcp です。PORT と HOST 環境変数で設定します。上記のクライアント設定内の URL を、セルフホストした URL(例:http://localhost:3000/mcp)に置き換えてください。

ヘルスチェック: GET http://localhost:3000/health


ステップ 3:AI クライアントを再起動する

  • Claude Desktop:完全に終了(macOS では Cmd+Q、Windows では Alt+F4)してから再起動します
  • Claude Code:セッションを再起動します
  • Cline:VS Code を再起動します
  • Cursor:エディターを再起動します

MCP サーバーの接続インジケーターが表示されます。


利用可能なツール

scrape_url

ウェブページをスクレイピングし、AI が読み取り可能なコンテンツを返します。

パラメーター:

名前型必須説明
urlstring✅スクレイピングする URL
formatstringmarkdown(デフォルト)または text

例:

{
  "url": "https://example.com/article",
  "format": "markdown"
}

Markdown 出力:

# Article Title

> Author: John Doe | Published: 2024-01-15

## Introduction

This is the main content of the article, converted to clean markdown...

## Key Points

- Point 1: Important detail
- Point 2: Another insight
- [Related Link](https://example.com/related)

テキスト出力:

Article Title

Author: John Doe | Published: 2024-01-15

Introduction

This is the main content of the article, converted to plain text...

Key Points

- Point 1: Important detail
- Point 2: Another insight
scrape_urls

複数のウェブページを並列でスクレイピングし、AI が読み取り可能なコンテンツを返します。

パラメーター:

名前型必須説明
urlsstring[]✅スクレイピングする URL(最大 10 件)
formatstringmarkdown(デフォルト)または text

例:

{
  "urls": ["https://example.com/page1", "https://example.com/page2"],
  "format": "text"
}

出力:

[
  {
    "url": "https://example.com/page1",
    "content": "Page 1 Title\n\nThis is the content of page 1..."
  },
  {
    "url": "https://example.com/page2",
    "content": "Page 2 Title\n\nThis is the content of page 2..."
  }
]
scraper_server_status

すべての ScraperServer インスタンスのステータスを確認します。サーバーのヘルス状態、サーキットブレーカーの状態、失敗回数、タイミング情報を表示します。

パラメーター: なし

例:

{}

出力:

## ScraperServer Status

Total: 3 | Available: 2

| Name | OS | Status | Failures | Last Success | Last Failure |
|------|----|--------|----------|--------------|--------------|
| pluto | linux | OK | 0 | 01/30 14:23:05 | - |
| mars | mac | FAIL | 2 | 01/29 10:00:00 | 01/30 13:55:12 |
| venus | linux | OPEN | 3 | 01/28 09:00:00 | 01/30 12:00:00 |

### Issues
- **mars**: Connection refused - connect(2)
- **venus**: Circuit breaker open until 01/30 12:30:00
- **venus**: Net::ReadTimeout

ステータス値:

ステータス説明
OKサーバーは正常です
FAILサーバーは異常です
OPENサーキットブレーカーが開いています(30 分間隔離)
N/Aまだ確認されていません
get_usage

API の使用状況と残りのクレジットを確認します。

パラメーター: なし

例:

{}

出力:

## MCP Credits

| Item | Value |
|------|-------|
| Plan | starter |
| Subscription Credits | 1,500 |
| Purchased Credits | 200 |
| Total Remaining | 1,700 |
| Period End | 2026-03-01 |
get_billing

サブスクリプション、プラン、日次使用状況、支出上限などの詳細な請求情報を取得します。

パラメーター:

名前型必須説明
actionstringはいsubscription、plans、daily_usage、spending_limits のいずれか
start_datestringdaily_usage の開始日(YYYY-MM-DD、デフォルト:30日前)
end_datestringdaily_usage の終了日(YYYY-MM-DD、デフォルト:今日)

例 — 現在のサブスクリプション:

{ "action": "subscription" }
## MCP Subscription

| Item | Value |
|------|-------|
| Plan | starter (Starter) |
| Status | active |
| Monthly Credits | 2,000 |
| Price | $19.00/mo |
| Rate Limit | 30 RPM |
| Burst Limit | 5 concurrent |
| Period End | 2026-03-01 |

例 — 利用可能なプラン:

{ "action": "plans" }
## Available MCP Plans

| Plan | Credits/mo | Price | RPM | Burst |
|------|-----------|-------|-----|-------|
| Free (free) | 500 | Free | 10 | 2 |
| Starter (starter) | 2,000 | $19.00/mo | 30 | 5 |
| Pro (pro) | 10,000 | $49.00/mo | 60 | 10 |
| Business (business) | 50,000 | $149.00/mo | 120 | 20 |

例 — 日次使用履歴:

{ "action": "daily_usage", "start_date": "2026-02-01", "end_date": "2026-02-07" }
## Daily Usage (2026-02-01 ~ 2026-02-07)

| Date | Requests | Credits | Top Tool |
|------|----------|---------|----------|
| 2026-02-07 | 45 | 45 | scrape#scrape (45) |
| 2026-02-06 | 120 | 120 | scrape#scrape (100) |

**Total**: 165 requests, 165 credits

例 — 支出上限:

{ "action": "spending_limits" }
## Spending Limits

| Item | Value |
|------|-------|
| Daily Limit | 500 credits |
| Today's Usage | 120 credits |
| Usage % | 24.0% |

使用例

例 1:ニュース記事を要約する
User: Summarize this article: https://news.example.com/article/12345

Claude: [calls scrape_url]

Here's a summary of the article:

## Key Points
- Point 1: ...
- Point 2: ...
- Point 3: ...
例 2:ページのコンテンツを取得する
User: Get the content from https://example.com/data

Claude: [calls scrape_url]

# Page Title
> Source: https://example.com/data

The page content is returned in clean Markdown format...
例 3:競合他社の価格を調査する
User: What's the pricing on https://competitor.com/product/abc

Claude: [calls scrape_url]

Here's the pricing information:
- **Product**: ABC Premium
- **Regular Price**: $99.00
- **Sale Price**: $79.00 (20% off)
例 4:API ドキュメントを読む
User: Read https://docs.example.com/api/v2 and write integration code

Claude: [calls scrape_url]

I've analyzed the API documentation. Here's the integration code:

// api-client.ts
export class ExampleApiClient {
  private baseUrl = 'https://api.example.com/v2';
  
  async getData(): Promise<Response> {
    // ...
  }
}

仕組み

┌─────────────────┐
│     User        │
│ "Summarize this │
│   URL for me"   │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  Claude Desktop │
│    / Cursor     │
└────────┬────────┘
         │
         ▼
┌─────────────────┐     ┌─────────────────┐
│   MCP Server    │────►│   Scrapi API    │
│  (scrape_url)   │     │ (format param)  │
└────────┬────────┘     └────────┬────────┘
         │                       │
         │◄──────────────────────┘
         │   Markdown/Text Response
         ▼
┌─────────────────┐
│   AI Response   │
│ (Summary, etc.) │
└─────────────────┘

Scrapi を選ぶ理由

ウェブスクレイピングの経験が 8 年以上ある Scrapi のチームが開発しています。

  • ✅ 本番環境で稼働するクローラー 1,900 以上
  • ✅ JavaScript のレンダリングに対応
  • ✅ ボット対策への対応
  • ✅ 稼働率 99.9%

トラブルシューティング

「API key is required」

次のいずれかの方法で API キーを指定してください。

  • 環境変数:設定で SCRAPI_API_KEY を設定します
  • CLI 引数:引数に --api-key your-key を渡します
「Invalid API key」

API キーが正しく、Scrapi ダッシュボードで有効になっていることを確認してください。

npx が古いキャッシュ済みバージョンを使用する

アップグレード後も古い動作が見られる場合は、npx のキャッシュをクリアしてください。

npx clear-npx-cache
MCP サーバーが接続されない
  1. Node.js 20 以降がインストールされていることを確認します
  2. node /absolute/path/to/scrapi-mcp-server/dist/index.js を手動で実行し、エラーがないか確認します
  3. Claude Desktop を完全に終了し(macOS では Cmd+Q、Windows では Alt+F4)、再起動します
  4. 設定 > 開発者を確認し、サーバーが一覧に表示されていることを確認します
開発者タブが表示されない

Claude Desktop を最新バージョンに更新します:Claude メニュー →「アップデートを確認...」


サポート


ライセンス

MIT © Scrapi

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。