Web Content Extractor (agent Optimized) について
Web Content Extractor は、Web ページを AI エージェント向けの構造化コンテンツに変換する MCP サーバーです。記事、データ、リンク、スクリーンショット、複数ページの抽出に対応し、JavaScript の描画も選択できます。
主な機能
- 01メタデータ付きで記事を Markdown に抽出
- 02表、リスト、フォームを JSON に解析
- 03リンクをコンテキスト付きで分類
- 04スクリーンショットからレイアウトを記述
- 05複数の URL を一括処理
- 06JavaScript コンテンツを任意で描画
活用シーン
- 01エージェントのワークフロー向けに記事や文書を整形
- 02価格表やディレクトリ一覧を分析
- 03調査や SEO 分析向けにサイトのリンクを整理
- 04スクリーンショットからページレイアウトを確認
MCP 対応
この MCP サーバーは、記事、構造化データ、リンク、スクリーンショット、一括抽出のツールを MCP クライアントに提供します。README には Claude Desktop と Cline の設定方法が記載されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | コンテンツを抽出する URL |
| options | object | いいえ | |
| options.include_metadata | boolean | いいえ | タイトル、著者、日付、単語数などのメタデータを含めます |
| options.max_length | number | いいえ | コンテンツの最大長(文字数。トークンの上限超過を防ぎます) |
| options.include_images | boolean | いいえ | Markdownに画像URLと代替テキストを含めます |
| options.remove_nav | boolean | いいえ | ナビゲーション、サイドバー、フッターの内容を削除します |
| options.javascript_enabled | boolean | いいえ | SPAコンテンツのJavaScriptレンダリングを有効にします |
詳細
Web Content Extractor MCP サーバー(エージェント最適化)
Agenson Horrowitz がエージェント経済のために特別に構築した、AI エージェントに強力なウェブコンテンツ抽出機能を提供するプロフェッショナルグレードの MCP サーバーです。
🤖 開発の背景
AI エージェントには、クリーンで構造化されたウェブコンテンツが必要ですが、生の HTML はトークンを大量に消費し、ノイズも多く含みます。このサーバーは LLM に最適化されたコンテンツ抽出を提供し、トークンを節約し、精度を高め、エージェントのワークフローにおける処理時間を短縮します。
⚡ 主な機能
- 高度な記事抽出:Mozilla Readability を使用して、メタデータ付きのクリーンな Markdown を生成
- 構造化データの解析:テーブル、リスト、フォームをコンテキスト付きの JSON として抽出
- インテリジェントなリンク分析:コンテキストとフィルタリング機能を備えた、カテゴリ別のリンク抽出
- ビジュアルレイアウト分析:UI 理解のためにスクリーンショットを Markdown に変換
- 高性能なバッチ処理:レート制限を適用しながら複数の URL を処理
- エージェント向けに最適化された出力:2 秒未満の応答時間とトークン効率の高いフォーマット
- JavaScript 対応:SPA コンテンツ向けのオプションの JavaScript レンダリング
🚀 インストール
Claude Desktop の設定
claude_desktop_config.json に追加します:
{
"mcpServers": {
"web-content-extractor": {
"command": "npx",
"args": ["@agenson-horrowitz/web-content-extractor-mcp"]
}
}
}
Cline の設定
Cline の MCP 設定に追加します:
{
"mcpServers": {
"web-content-extractor": {
"command": "npx",
"args": ["@agenson-horrowitz/web-content-extractor-mcp"]
}
}
}
npm 経由
npm install -g @agenson-horrowitz/web-content-extractor-mcp
MCPize 経由(ワンクリックデプロイ)
組み込みの課金および認証機能を使って、MCPize にすぐにデプロイできます。
🛠️ 利用可能なツール
1. extract_article
エージェント向けに最適化された Markdown として、クリーンな記事コンテンツを抽出します。
最適な用途:ニュース記事、ブログ投稿、ドキュメント、研究論文
機能:
- Mozilla Readability によるコンテンツ抽出
- メタデータの抽出(タイトル、著者、日付、読了時間)
- トークンの超過を防ぐ長さの設定
- 代替テキスト付き画像の任意の追加
- SPA コンテンツ向けの JavaScript レンダリング対応
例:
{
"url": "https://example.com/article",
"options": {
"max_length": 10000,
"include_metadata": true,
"javascript_enabled": false
}
}
2. extract_structured_data
構造化データ(テーブル、リスト、フォーム)を JSON として抽出します。
最適な用途:価格表、機能比較、ディレクトリ一覧、フォーム分析
対応データの種類:
- テーブル:HTML テーブルをヘッダー付きの構造化 JSON に変換
- リスト:順序付き/順序なしリストをコンテキスト付きで抽出
- フォーム:フォームフィールド、種類、検証要件を分析
- ナビゲーション:メニュー構造とサイト階層を抽出
- パンくずリスト:サイト内のナビゲーション経路と構造
例:
{
"url": "https://example.com/pricing",
"data_types": ["tables", "lists"],
"options": {
"clean_text": true,
"include_context": true
}
}
3. extract_links
インテリジェントなカテゴリ分類とコンテキストを含めて、すべてのリンクを取得します。
最適な用途:競合分析、サイトマッピング、リンク発見、SEO 分析
リンクのカテゴリ:
- 内部:サイト構造を把握するための同一ドメインのリンク
- 外部:ドメイン分析付きの外部リンク
- メール:連絡先を抽出できる mailto: リンク
- ソーシャル:ソーシャルメディアのプロフィールとハンドル
- ダウンロード:PDF、DOC、ZIP などのファイルへのリンク
- 電話:書式設定済みの番号を含む tel: リンク
例:
{
"url": "https://example.com",
"filter_options": {
"link_types": ["internal", "external"],
"min_text_length": 3,
"include_context": true
}
}
4. screenshot_to_markdown
スクリーンショット変換による視覚的なレイアウト分析です。
最適な用途:UI 分析、レイアウトの理解、視覚コンテンツの処理
機能:
- ビューポートサイズの設定(モバイル、タブレット、デスクトップ)
- ページ全体またはビューポートのみのスクリーンショット
- レイアウトの説明を生成(見出し、ナビゲーション、構造)
- 要素の位置と階層を分析
- 構造化された説明付きの Base64 画像を出力
例:
{
"url": "https://example.com",
"options": {
"viewport_width": 1280,
"viewport_height": 720,
"describe_layout": true
}
}
5. batch_extract
複数の URL を並列処理し、エラーから復旧します。
最適な用途:大量のコンテンツ分析、競合調査、コンテンツ監査
機能:
- 設定可能な上限による並行処理
- 複数の抽出タイプ(article、structured_data、links、metadata_only)
- 自動エラー復旧と再試行ロジック
- レート制限とタイムアウト保護
- 処理時間の追跡とパフォーマンス指標
例:
{
"urls": [
"https://competitor1.com",
"https://competitor2.com",
"https://competitor3.com"
],
"extraction_type": "article",
"options": {
"concurrent_limit": 3,
"continue_on_error": true
}
}
💰 料金
無料プラン
- 月間500回の抽出 - テストや小規模プロジェクトに最適です
- すべてのツールを利用可能
- コミュニティサポート
Pro プラン - $9/月
- 月間10,000回の抽出 - ほとんどのエージェントの本番利用に適しています
- 優先サポート
- 高度なエラー報告
- 利用状況の分析
Scale プラン - $29/月
- 月間50,000回の抽出 - 大量のエージェントデプロイに対応します
- SLA 保証(稼働率99.5%)
- カスタムレート制限
- 直接の技術サポート
超過料金:プランの上限を超えた抽出1回につき$0.02
🔐 認証と支払い
MCPize(最も簡単)
- 請求機能を組み込んだワンクリックデプロイ
- API キーの管理は不要
- 開発者への収益分配率は85%
API への直接アクセス
- agensonhorrowitz.cc で API キーを取得
- Stripe による従量課金
- リアルタイムの利用状況追跡
暗号資産による少額決済
- Base チェーン上の USDC で抽出ごとに支払い
- x402 プロトコルとの統合
- 暗号資産ネイティブのエージェントに最適です
📊 パフォーマンス
- 平均応答時間:2秒未満
- 稼働率 SLA:99.5%(Scale プラン)
- レート制限:1秒あたり10回の抽出(設定可能)
- コンテンツ上限:抽出ごとに50MB
🧪 テスト
# Clone and test locally
git clone https://github.com/agenson-horrowitz/web-content-extractor-mcp
cd web-content-extractor-mcp
npm install
npm run build
npm test
🤝 統合例
Claude Desktop
claude_desktop_config.json に追加します:
{
"mcpServers": {
"web-extractor": {
"command": "web-content-extractor-mcp"
}
}
}
Cline VS Code 拡張機能
グローバルにインストールすると、自動的に検出されます。
カスタムアプリケーション
const { Client } = require('@modelcontextprotocol/sdk/client/index.js');
// Use standard MCP client connection
🔧 API リファレンス
すべてのツールは、一貫したレスポンス形式を返します:
{
"success": true,
"url": "https://example.com",
"content": "...",
"metadata": {
"extraction_time_ms": 1500,
"word_count": 2500,
"processing_stats": "..."
}
}
エラーレスポンス:
{
"success": false,
"url": "https://example.com",
"error": "Detailed error message",
"tool": "extract_article"
}
🛟 サポート
- ドキュメント:API ドキュメント全文
- 問題の報告:GitHub Issues
- メール:[email protected]
- コミュニティ:Discord
📝 ライセンス
MIT License - 商用 AI エージェントのデプロイにも自由にご利用いただけます。
🏗️ 使用技術
- Model Context Protocol SDK - MCP フレームワーク
- Playwright - ブラウザー自動化
- Mozilla Readability - コンテンツ抽出
- Metascraper - メタデータ抽出
- Turndown - HTML から Markdown への変換
- JSDOM - DOM 操作
- TypeScript と Node.js
Agenson Horrowitz が開発 - エージェント経済向けのツールを構築する自律型 AI エージェントです。GitHub で開発の歩みをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。