clean-markdown について
clean-markdownは、URLをLLMやRAG向けのMarkdownに変換するMCPサーバーです。Mozilla Readabilityでページのノイズを除去し、JavaScriptで構築されたサイトはPlaywrightで描画できます。
主な機能
- 01記事本文を抽出しページのノイズを除去
- 02GitHub Flavored Markdownに変換
- 03リンクを残す設定
- 04PlaywrightによるJavaScriptページの描画
- 05タイトル、URL、単語数を返却
活用シーン
- 01RAGパイプライン用のウェブ文章整理
- 02AIエージェントによる記事の読解
- 03JavaScript構築ページのコンテンツ抽出
MCP 対応
MCPクライアント向けにscrape_urlツールを公開し、URLを取得して整形済みMarkdownを返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | 取得するウェブページの完全な URL(http:// または https:// で始まる必要があります)。 |
| renderJs | boolean | いいえ | 最初に実際のブラウザーでページをレンダリングします(デフォルトは false)。JavaScript でコンテンツが生成されるサイトで使用します。Playwright のインストールが必要です。 |
| includeLinks | boolean | いいえ | 出力にハイパーリンクを保持します(デフォルトは true)。false に設定すると、より簡潔なプレーンテキストになります。 |
詳細
clean-markdown-mcp
あらゆる URL をクリーンで LLM 対応の Markdownに変換するMCPサーバーです。広告、ナビゲーションバー、Cookie バナー、スクリプトは取り除きます。
入力に余計なものがあれば出力にも余計なものが含まれる、RAG パイプラインや AI エージェント向けに作られています。
Give it: https://en.wikipedia.org/wiki/Markdown
Get back: # Markdown
Markdown is a lightweight markup language for creating
formatted text using a plain-text editor...
インストール
npm install -g clean-markdown-mcp
Claude Desktop で使う
claude_desktop_config.jsonに以下を追加します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"clean-markdown": {
"command": "npx",
"args": ["-y", "clean-markdown-mcp"]
}
}
}
Claude Desktop を再起動し、 *「https://example.com を Markdown にスクレイピングして」*と頼みます。
Cursor、Windsurf、その他の MCP クライアントでも同じように使えます。clean-markdown-mcpコマンドを指定してください。
公開されるツール
scrape_url
| パラメーター | 型 | 説明 |
|---|---|---|
url | string | スクレイピングするページです。http://またはhttps://である必要があります。 |
includeLinks | boolean | Markdown にハイパーリンクを残します。デフォルトはtrueです。文章をよりすっきりさせるにはfalseに設定します。 |
renderJs | boolean | JavaScript で構築されたサイト向けに、最初に実際のブラウザーでページを読み込みます。デフォルトはfalseです。Playwright が必要です。詳細は以下をご覧ください。 |
ページタイトル、ソース、単語数、クリーンな Markdown を返します。
クリーニングの仕組み
- 取得 — タイムアウトは 20 秒、サイズ上限は 5 MB で、リダイレクトのたびに検証します。
- クリーニング — Firefox のリーダービューの基盤となっているエンジン、Mozilla Readabilityを実行して記事本文を抽出し、ナビゲーション、サイドバー、広告、コメント欄を除外します。
- 変換 — Turndownで GitHub 形式の Markdown に変換し、見出し、リスト、表、コードブロックを保持します。
ページが記事形式でない場合も失敗せず、クリーニングした<body>にフォールバックするため、利用可能なテキストを取得できます。
JavaScript を多用するサイト(任意)
サイトによっては、読み込み後に JavaScript でコンテンツを構築します。通常の取得では、そうしたサイトからほとんど何も取得できません。対応するには、Playwright を一度インストールします。
npm install playwright && npx playwright install chromium
その後、renderJs: trueを渡します。こうしたページでは大きな違いが出ます。
| モード | 結果 |
|---|---|
| デフォルト | 約 3 語 — ナビゲーションリンクのみ |
renderJs: true | 約 190 語 — コンテンツ全体 |
Playwright はこのパッケージの依存関係ではないため、通常のインストールは軽量で高速です。Playwright がインストールされていない場合、renderJsは有効化方法を示す明確なメッセージを返します。
セキュリティ
このスクレーパーは、クラウドメタデータエンドポイント(169.254.169.254など)を含む、プライベート、ループバック、リンクローカルのアドレスを拒否し、リダイレクトのたびに再検証します。MCP サーバーはローカルネットワークにアクセスできる状態で、お使いのマシン上で動作するため、これは重要です。
大量にスクレイピングする必要がありますか?
このパッケージは、ローカルで一度に 1 ページを処理します。一括スクレイピング、ホスト型 JavaScript レンダリング、インフラを運用せずに使えるページ単位の従量課金 API には、同じエンジンをホスト型 Actor として利用できます。
https://apify.com/perforated_hummingbird/url-to-markdown
既知の制限事項
- 自動化されたトラフィックをブロックするサイトもあります。これはサイトのポリシーであり、このツールの不具合ではありません。
- UTF-8 以外のページは、文字化けして表示されることがあります。
robots.txtは適用されません。利用方法はご自身の責任でご判断ください。
ローカルでの開発
npm install
npm run build
node dist/try.js https://example.com # quick test
node dist/try.js https://example.com --render # with JS rendering
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。