Scrapi について
Scrapiは、エージェントがウェブページを読めるようにするMCPサーバーです。メタデータを含む整形済みMarkdownまたはテキストを返し、JavaScript描画ページや複数URLの並列取得にも対応します。
主な機能
- 01URLをMarkdownまたはテキストに変換
- 02タイトル、著者、日付、画像を取得
- 03広告、ナビゲーション、スクリプトを除去
- 04JavaScript描画ページに対応
- 05複数URLを並列取得
- 06利用状況と請求情報を確認
活用シーン
- 01ウェブ記事の要約
- 02サイトの価格情報の確認
- 03APIドキュメントの閲覧
- 04複数ページの並列収集
MCP 対応
Scrapiは、単一または複数URLの取得、スクレイパー状態の確認、利用状況と請求情報の取得ツールを提供します。stdioとStreamable HTTPのトランスポートに対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://scrapi.ai/mcpclaude mcp add --transport http scrapi https://scrapi.ai/mcp{"mcpServers":{"scrapi":{"type":"http","url":"https://scrapi.ai/mcp"}}}Cursor で開く{"servers":{"scrapi":{"type":"http","url":"https://scrapi.ai/mcp"}}}VS Code で開く{"mcpServers":{"scrapi":{"type":"http","url":"https://scrapi.ai/mcp"}}}{"mcpServers":{"scrapi":{"serverUrl":"https://scrapi.ai/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://scrapi.ai/mcp認証が必要ツール
5| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| format | enum | いいえ | 出力形式:markdown(デフォルト)または textmarkdown | text |
| url | string | はい | スクレイピングするウェブページの URL |
詳細
URL をクリーンな Markdown/テキストに変換する、LLM エージェント向け MCP サーバー
⚡ 高速で信頼性の高い動作 — 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 が必要 |
|---|---|---|
| Stdio | Claude 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 キーを取得する
- https://scrapi.ai にアクセスします
- サインアップするか、ログインします
- MCP ダッシュボード にアクセスします。Free プラン(月 500 クレジット)と API キーは自動的に作成されます
hsmcp_API キーをコピーします
手順 2:MCP サーバーを設定する
Claude Desktop
オプション A:設定画面から(推奨)
- Claude Desktop を開きます
- Settings(左下の歯車アイコン)をクリックします
- Developer タブを選択します
- 「Edit Config」ボタンをクリックします
- mcpServers の設定を追加します(以下を参照)
- 保存して 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 が読み取り可能なコンテンツを返します。
パラメーター:
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
url | string | ✅ | スクレイピングする URL |
format | string | markdown(デフォルト)または 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 が読み取り可能なコンテンツを返します。
パラメーター:
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
urls | string[] | ✅ | スクレイピングする URL(最大 10 件) |
format | string | markdown(デフォルト)または 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
サブスクリプション、プラン、日次使用状況、支出上限などの詳細な請求情報を取得します。
パラメーター:
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
action | string | はい | subscription、plans、daily_usage、spending_limits のいずれか |
start_date | string | daily_usage の開始日(YYYY-MM-DD、デフォルト:30日前) | |
end_date | string | daily_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 サーバーが接続されない
- Node.js 20 以降がインストールされていることを確認します
node /absolute/path/to/scrapi-mcp-server/dist/index.jsを手動で実行し、エラーがないか確認します- Claude Desktop を完全に終了し(macOS では Cmd+Q、Windows では Alt+F4)、再起動します
- 設定 > 開発者を確認し、サーバーが一覧に表示されていることを確認します
開発者タブが表示されない
Claude Desktop を最新バージョンに更新します:Claude メニュー →「アップデートを確認...」
サポート
- メール:[email protected]
- 問題:GitHub Issues
ライセンス
MIT © Scrapi
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。