🚀 URLをクリーンなMarkdown/テキストに変換するMCPサーバー
このMCP (Model Context Protocol) サーバーは、AIエージェントがウェブページを取得して読み取ることを可能にします。URLを渡すだけで、LLMに最適なクリーンなコンテンツを迅速に返します。
한국어 ·
ウェブサイト ·
ダッシュボード
⚡ 高速かつ信頼性高い — 8年以上のウェブスクレイピングの専門知識、1,900以上の本番用クローラー、そして実戦で検証された反ボット対策に基づいて構築されています。
🚀 クイックスタート
このMCPサーバーは、AIエージェントがウェブページを取得して読み取ることを可能にします。URLを渡すだけで、LLMに最適なクリーンなコンテンツを迅速に返します。
以前: AIはウェブページを直接読み取ることができません
以降: "この記事を要約して" がそのまま機能します ✨
✨ 主な機能
- 🌐 URL → Markdown: 見出し、リスト、リンクを保持します。
- 📄 URL → テキスト: プレーンテキストを抽出します。
- 🏷️ メタデータ: タイトル、著者、日付、画像を取得します。
- 🧹 クリーンな出力: 広告、ナビゲーション、スクリプトを含まない出力を提供します。
- ⚡ JavaScriptレンダリング: SPA (シングルページアプリケーション) でも動作します。
- 💳 組み込みの課金機能: クレジットトラッキング、サブスクリプション管理、使用状況分析 (MCPキー) を提供します。
- 🔄 自動リトライ: 429レート制限レスポンスを自動的にリトライします。
- 🌍 デュアルトランスポート: Stdio (npx) + ストリーム可能なHTTPをサポートし、柔軟なデプロイを可能にします。
📦 インストール
オプション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: MCPサーバーを構成する を参照してください。
オプションB: ソースからインストール
git clone https://github.com/bamchi/scrapi-mcp-server.git
cd scrapi-mcp-server
npm install && npm run build
ステップ1: APIキーを取得する
- https://scrapi.ai にアクセスします。
- サインアップまたはログインします。
- MCPダッシュボード にアクセスします。無料プラン (月500クレジット) とAPIキーが自動的に作成されます。
hsmcp_ で始まるAPIキーをコピーします。
ステップ2: MCPサーバーを構成する
Claude Desktop
オプションA: 設定を通じて (推奨)
- Claude Desktopを開きます。
- 左下の設定アイコン (歯車) をクリックします。
- 開発者タブを選択します。
- "設定を編集" ボタンをクリックします。
- mcpServersの設定を追加します (下記を参照)。
- Claude Desktopを保存して再起動します (macOSではCmd+Q、WindowsではAlt+F4で完全に終了し、再度開きます)。
オプション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
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サーバーの接続インジケーターが表示されるはずです。
💻 使用例
例1: ニュース記事を要約する
ユーザー: この記事を要約してください: https://news.example.com/article/12345
Claude: [scrape_urlを呼び出す]
この記事の要約は次の通りです:
## 要点
- 要点1: ...
- 要点2: ...
- 要点3: ...
例2: ページのコンテンツを取得する
ユーザー: https://example.com/data のコンテンツを取得してください。
Claude: [scrape_urlを呼び出す]
# ページのタイトル
> ソース: https://example.com/data
ページのコンテンツはクリーンなMarkdown形式で返されます...
例3: 競合他社の価格を調査する
ユーザー: https://competitor.com/product/abc の価格はいくらですか?
Claude: [scrape_urlを呼び出す]
こちらが価格情報です:
- **商品**: ABC Premium
- **通常価格**: $99.00
- **販売価格**: $79.00 (20%割引)
例4: APIドキュメントを読む
ユーザー: https://docs.example.com/api/v2 を読んで、統合コードを書いてください。
Claude: [scrape_urlを呼び出す]
APIドキュメントを分析しました。こちらが統合コードです:
// api-client.ts
export class ExampleApiClient {
private baseUrl = 'https://api.example.com/v2';
async getData(): Promise<Response> {
// ...
}
}
📚 詳細ドキュメント
利用可能なツール
scrape_url
ウェブページをスクレイピングし、AIが読めるコンテンツを返します。
パラメーター:
| 名前 |
タイプ |
必須 |
説明 |
url |
文字列 |
✅ |
スクレイピングするURL |
format |
文字列 |
|
markdown (デフォルト) または text |
例:
{
"url": "https://example.com/article",
"format": "markdown"
}
Markdown出力:
# 記事のタイトル
> 著者: John Doe | 公開日: 2024-01-15
## はじめに
これは記事のメインコンテンツで、クリーンなMarkdownに変換されました...
## 要点
- 要点1: 重要な詳細
- 要点2: 別の洞察
- [関連リンク](https://example.com/related)
テキスト出力:
記事のタイトル
著者: John Doe | 公開日: 2024-01-15
はじめに
これは記事のメインコンテンツで、プレーンテキストに変換されました...
要点
- 要点1: 重要な詳細
- 要点2: 別の洞察
scrape_urls
複数のウェブページを並列にスクレイピングし、AIが読めるコンテンツを返します。
パラメーター:
| 名前 |
タイプ |
必須 |
説明 |
urls |
文字列配列 |
✅ |
スクレイピングするURL (最大10個) |
format |
文字列 |
|
markdown (デフォルト) または text |
例:
{
"urls": ["https://example.com/page1", "https://example.com/page2"],
"format": "text"
}
出力:
[
{
"url": "https://example.com/page1",
"content": "ページ1のタイトル\n\nこれはページ1のコンテンツです..."
},
{
"url": "https://example.com/page2",
"content": "ページ2のタイトル\n\nこれはページ2のコンテンツです..."
}
]
scraper_server_status
すべてのScraperServerインスタンスの状態を確認します。サーバーの健全性、サーキットブレーカーの状態、失敗回数、タイミング情報を表示します。
パラメーター: なし
例:
{}
出力:
## ScraperServerの状態
合計: 3 | 利用可能: 2
| 名前 | OS | 状態 | 失敗回数 | 最後の成功 | 最後の失敗 |
|------|----|--------|----------|--------------|--------------|
| 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 |
### 問題点
- **mars**: 接続拒否 - connect(2)
- **venus**: サーキットブレーカーが開いています - 01/30 12:30:00まで
- **venus**: Net::ReadTimeout
状態値:
| 状態 |
説明 |
OK |
サーバーが正常です |
FAIL |
サーバーが異常です |
OPEN |
サーキットブレーカーが開いています (30分間隔離) |
N/A |
まだチェックされていません |
get_usage
APIの使用状況と残りのクレジットを確認します。
パラメーター: なし
例:
{}
出力:
## MCPクレジット
| 項目 | 値 |
|------|-------|
| プラン | starter |
| サブスクリプションクレジット | 1,500 |
| 購入したクレジット | 200 |
| 残りの合計 | 1,700 |
| 期間終了日 | 2026-03-01 |
get_billing
サブスクリプション、プラン、日次使用状況、支出制限を含む詳細な請求情報を取得します。
パラメーター:
| 名前 |
タイプ |
必須 |
説明 |
action |
文字列 |
はい |
subscription, plans, daily_usage, または spending_limits |
start_date |
文字列 |
|
daily_usage の開始日 (YYYY-MM-DD, デフォルト: 30日前) |
end_date |
文字列 |
|
daily_usage の終了日 (YYYY-MM-DD, デフォルト: 今日) |
例 — 現在のサブスクリプション:
{ "action": "subscription" }
## MCPサブスクリプション
| 項目 | 値 |
|------|-------|
| プラン | starter (Starter) |
| 状態 | アクティブ |
| 月次クレジット | 2,000 |
| 価格 | $19.00/月 |
| レート制限 | 30 RPM |
| バースト制限 | 5 同時接続 |
| 期間終了日 | 2026-03-01 |
例 — 利用可能なプラン:
{ "action": "plans" }
## 利用可能なMCPプラン
| プラン | クレジット/月 | 価格 | RPM | バースト |
|------|-----------|-------|-----|-------|
| Free (free) | 500 | 無料 | 10 | 2 |
| Starter (starter) | 2,000 | $19.00/月 | 30 | 5 |
| Pro (pro) | 10,000 | $49.00/月 | 60 | 10 |
| Business (business) | 50,000 | $149.00/月 | 120 | 20 |
例 — 日次使用履歴:
{ "action": "daily_usage", "start_date": "2026-02-01", "end_date": "2026-02-07" }
## 日次使用状況 (2026-02-01 ~ 2026-02-07)
| 日付 | リクエスト数 | クレジット | トップツール |
|------|----------|---------|----------|
| 2026-02-07 | 45 | 45 | scrape#scrape (45) |
| 2026-02-06 | 120 | 120 | scrape#scrape (100) |
**合計**: 165リクエスト, 165クレジット
例 — 支出制限:
{ "action": "spending_limits" }
## 支出制限
| 項目 | 値 |
|------|-------|
| 日次制限 | 500クレジット |
| 今日の使用量 | 120クレジット |
| 使用割合 | 24.0% |
🔧 技術詳細
┌─────────────────┐
│ ユーザー │
│ "このURLを要約して" │
│ というリクエスト │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Claude Desktop │
│ / Cursor │
└────────┬────────┘
│
▼
┌─────────────────┐ ┌─────────────────┐
│ MCPサーバー │────►│ Scrapi API │
│ (scrape_url) │ │ (formatパラメータ) │
└────────┬────────┘ └────────┬────────┘
│ │
│◄──────────────────────┘
│ Markdown/テキスト応答
▼
┌─────────────────┐
│ AI応答 │
│ (要約など) │
└─────────────────┘
なぜScrapiを選ぶべきか?
Scrapi のチームによって構築され、8年以上のウェブスクレイピングの経験があります。
- ✅ 1,900以上の本番用クローラー
- ✅ JavaScriptレンダリングサポート
- ✅ 反ボット対策
- ✅ 99.9%の稼働率
トラブルシューティング
"APIキーが必要です"
APIキーが以下の方法のいずれかで提供されていることを確認してください。
- 環境変数: 設定で
SCRAPI_API_KEY を設定します。
- CLI引数: 引数で
--api-key your-key を渡します。
"無効なAPIキー"
ScrapiダッシュボードでAPIキーが正しく有効であることを確認してください。
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メニュー → "更新を確認..."
サポート
📄 ライセンス
MIT © Scrapi