mcpField
W
Website to PDF/Markdown MCP Server

Website to PDF/Markdown MCP Server

リモート
github.com/ldangeloファイル・ストレージ379 週間前に更新
リポジトリ

Website to PDF/Markdown MCP Server について

Website to PDF/Markdown MCP Serverは、ウェブページを取得してPDFまたはMarkdownに変換し、リンク先の複数ページも処理できます。ページの保存、文書化、サイト内URLの把握に利用できます。

主な機能

  1. 01ウェブページをPDFに変換
  2. 02ウェブページをMarkdownに変換
  3. 03リンクをたどって複数ページを統合
  4. 04ユーザー名とパスワードで認証
  5. 05巡回するページ数を制限
  6. 06巡回してURLを返却

活用シーン

  1. 01ウェブページをPDFで保存
  2. 02サイトの内容をMarkdown化
  3. 03リンク先ページを文書にまとめる
  4. 04サイト内のURLを収集

MCP 対応

ウェブページのPDF・Markdown変換、リンク巡回、URL取得の機能をMCPクライアントに提供します。

設定

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

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

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

ツール

詳細

WebサイトからPDF/Markdownへの変換 MCP サーバー

この MCP サーバーは、認証が必要なサイトも含め、Webサイトを取得してPDFまたはMarkdownドキュメントに変換します。また、Webページ上のリンクをたどり、生成されるドキュメントに含めたり、見つかったURLを返したりできます。

機能

  • 1つのWebページをPDFに変換
  • WebページをMarkdown形式に変換
  • Webページ上のリンクをたどり、複数のページを1つのPDFまたはMarkdownファイルに変換
  • ユーザー名とパスワードによる認証に対応
  • リンクをたどる際の最大ページ数を設定可能
  • Webサイトのリンクをたどり、変換せずにURLを返す

セットアップ

  1. このリポジトリをクローンします
  2. 依存関係をインストールします:
    npm install
    
  3. サンプル環境ファイルをコピーします:
    cp .env.example .env
    
  4. サーバーを起動します:
    npm start
    

API エンドポイント

WebサイトをPDFに変換
POST /api/convert

リクエストボディ:

{
  "url": "https://example.com",
  "username": "optional-username",
  "password": "optional-password",
  "traverseLinks": true,
  "maxPages": 10
}

パラメーター:

  • url:(必須)PDFに変換するURL
  • username:(任意)認証用のユーザー名
  • password:(任意)認証用のパスワード
  • traverseLinks:(任意)ページ上のリンクをたどるかどうか(デフォルト:false)
  • maxPages:(任意)リンクをたどる際に処理する最大ページ数(デフォルト:10)

レスポンス:

レスポンスには、適切なContent-Typeヘッダーが設定されたPDFドキュメントが含まれます:

Content-Type: application/pdf
Content-Disposition: attachment; filename="example_com.pdf"

PDFのバイナリコンテンツは、レスポンスボディで直接返されます。

WebサイトをMarkdownに変換
POST /api/to-markdown

リクエストボディ:

{
  "url": "https://example.com",
  "username": "optional-username",
  "password": "optional-password",
  "traverseLinks": true,
  "maxPages": 10
}

パラメーター:

  • url:(必須)Markdownに変換するURL
  • username:(任意)認証用のユーザー名
  • password:(任意)認証用のパスワード
  • traverseLinks:(任意)ページ上のリンクをたどるかどうか(デフォルト:false)
  • maxPages:(任意)リンクをたどる際に処理する最大ページ数(デフォルト:10)

レスポンス:

レスポンスには、適切なContent-Typeヘッダーが設定されたMarkdownドキュメントが含まれます:

Content-Type: text/markdown
Content-Disposition: attachment; filename="example_com.md"

Markdownコンテンツは、レスポンスボディで直接返されます。

WebサイトをたどってURLを返す
POST /api/traverse

リクエストボディ:

{
  "url": "https://example.com",
  "username": "optional-username",
  "password": "optional-password",
  "maxPages": 10
}

パラメーター:

  • url:(必須)リンクをたどり始めるURL
  • username:(任意)認証用のユーザー名
  • password:(任意)認証用のパスワード
  • maxPages:(任意)たどる最大ページ数(デフォルト:10)

レスポンス:

{
  "success": true,
  "message": "Website traversed successfully (found 8 URLs)",
  "urls": [
    "https://example.com",
    "https://example.com/page1",
    "https://example.com/page2",
    ...
  ]
}

カスタマイズ

src/index.jsの該当する関数を変更して、PDFおよびMarkdownの生成をカスタマイズできます:

PDFの生成

websiteToPdf関数では、以下を設定できます:

  • カスタムページ形式
  • 背景のレンダリング
  • ページの余白
  • Puppeteerのオプションによるその他の設定
Markdownの生成

websiteToMarkdown関数はTurndownライブラリを使用しており、以下の機能を利用できます:

  • 変換用のカスタムルール
  • 特定のHTML要素を保持する機能
  • コードブロック、見出し、リストの処理オプション

認証の処理

デフォルトの実装では、シンプルなユーザー名/パスワード形式のフォームを想定しています。対象とするWebサイトに応じて、認証ロジックのカスタマイズが必要になる場合があります。

Claude MCPとしての使用

このサーバーはClaude MCP(Managed Claude Plugin)として設定されており、Claudeから直接使用できます。使用するには:

セルフホストのセットアップ
  1. Heroku、Vercel、ご自身のインフラストラクチャなどのプラットフォームで、このサーバーをホストします
  2. サーバーにHTTPS経由で一般公開アクセスできることを確認します
  3. リポジトリにicon.pngファイルを追加します
Claudeへのインストール
  1. ブラウザーでClaudeを開き、「プラグイン」セクションに移動します
  2. 「プラグインを作成」をクリックします
  3. MCPサーバーをホストしているURLを入力します
  4. ClaudeがAPIエンドポイントを検出し、プラグインのインターフェースを作成します
  5. プラグインを保存して有効にします
Claude での使用

インストールすると、Claude との会話で MCP を直接使用できます。

  • 「example.com を PDF に変換して」
  • 「example.com を Markdown に変換して」
  • 「example.com の URL をすべて取得して」
  • 「ユーザー名 'myuser'、パスワード 'mypass' を使って、認証が必要なウェブサイトを変換して」

このプラグインには、主に次の 3 つの機能があります。

  1. ウェブサイトを PDF に変換する
  2. ウェブサイトを Markdown に変換する
  3. ウェブサイトを巡回して、見つかった URL を返す
ローカル開発

ローカル開発では、ngrok などのツールを使ってローカルサーバーをインターネットに公開できます。

npm start
# In a separate terminal
ngrok http 3000

その後、Claude で MCP を設定する際に ngrok の URL を使用してください。

コメント

MCP は初めてですか?

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

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