Markdownify MCP Server - UTF-8 Enhanced について
ウェブページや各種ローカルファイルを Markdown に変換する MCP サーバーで、多言語文書を扱うユーザー向けです。UTF-8 と Windows の文字コード対応を強化し、バッチ変換も行えます。
主な機能
- 01PDF、DOCX、XLSX、PPTX の変換
- 02画像、音声、ウェブコンテンツの変換
- 03YouTube の字幕と検索結果への対応
- 04UTF-8 と多言語テキストのサポート
- 05複数ファイルのバッチ処理
- 06メタデータ抽出と書式保持
活用シーン
- 01ローカル文書を Markdown に変換
- 02ウェブページや YouTube 動画の内容を整理
- 03多言語ファイルをまとめて変換
- 04Windows で非 ASCII テキストを処理
MCP 対応
README ではデスクトップアプリに MCP サーバーとして設定できると説明されていますが、MCP クライアントに公開する具体的なツールは記載されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Markdownify MCP Server - UTF-8 Enhanced
UTF-8 エンコーディングのサポートを強化し、多言語コンテンツの処理を最適化した、オリジナルの Markdownify MCP プロジェクトの改良版です。
改良点
- UTF-8 エンコーディングを包括的にサポート
- 多言語コンテンツの処理を最適化
- Windows システムでのエンコーディングの問題を修正
- エラー処理の仕組みを改善
オリジナルプロジェクトとの主な違い
-
エンコーディングのサポートを強化:
- すべての操作で UTF-8 を完全にサポート
- 中国語、日本語、韓国語などの非 ASCII 文字を適切に処理
- Windows 固有のエンコーディングの問題を修正(cmd.exe および PowerShell との互換性)
-
エラー処理を改善:
- 英語と中国語による詳細なエラーメッセージ
- ネットワークの問題に対する例外処理を改善
- 変換に失敗した場合の適切なフォールバック機能
-
機能を拡張:
- 複数ファイルの一括処理をサポート
- YouTube 動画の文字起こし処理を強化
- さまざまなファイル形式からのメタデータ抽出を改善
- ドキュメントの書式をより適切に保持
-
パフォーマンスを最適化:
- 大容量ファイルの変換時のメモリ使用量を最適化
- 多言語コンテンツの処理を高速化
- 依存関係の競合を削減
-
開発エクスペリエンスを向上:
- 包括的なデバッグオプション
- 詳細なログシステム
- 環境固有の設定をサポート
- 英語と中国語による分かりやすいドキュメント
機能
さまざまなファイル形式を Markdown に変換できます。
- PDF ファイル
- 画像(メタデータ付き)
- 音声(文字起こし付き)
- Word ドキュメント(DOCX)
- Excel スプレッドシート(XLSX)
- PowerPoint プレゼンテーション(PPTX)
- Web コンテンツ:
- YouTube 動画の文字起こし
- 検索結果
- 一般的な Web ページ
- 既存の Markdown ファイル
クイックスタート
-
このリポジトリをクローンします。
git clone https://github.com/JDJR2024/markdownify-mcp-utf8.git cd markdownify-mcp-utf8 -
依存関係をインストールします。
pnpm install注:これにより、
uvと関連する Python 依存関係もインストールされます。 -
プロジェクトをビルドします。
pnpm run build -
サーバーを起動します。
pnpm start
要件
- Node.js 16.0 以上
- Python 3.8 以上
- pnpm パッケージマネージャー
- Git
詳細なインストールガイド
1. 環境のセットアップ
-
Node.js をインストールします。
- Node.js の公式サイトからダウンロードします。
- インストールを確認します:
node --version
-
pnpm をインストールします。
npm install -g pnpm pnpm --version -
Python をインストールします。
- Python の公式サイトからダウンロードします。
- インストール時に Python が PATH に追加されていることを確認します。
- インストールを確認します:
python --version
-
(Windows のみ)UTF-8 サポートを設定します。
# Set system-wide UTF-8 setx PYTHONIOENCODING UTF-8 # Set current session UTF-8 set PYTHONIOENCODING=UTF-8 # Enable UTF-8 in command prompt chcp 65001
2. プロジェクトのセットアップ
-
リポジトリをクローンします。
git clone https://github.com/JDJR2024/markdownify-mcp-utf8.git cd markdownify-mcp-utf8 -
Python の仮想環境を作成して有効化します。
# Windows python -m venv .venv .venv\Scripts\activate # Linux/macOS python3 -m venv .venv source .venv/bin/activate -
プロジェクトの依存関係をインストールします。
# Install Node.js dependencies pnpm install # Install Python dependencies (will be handled by setup.sh) ./setup.sh -
プロジェクトをビルドします。
pnpm run build
3. 確認
-
サーバーを起動します。
pnpm start -
インストールをテストします。
# Convert a web page python convert_utf8.py "https://example.com" # Convert a local file python convert_utf8.py "path/to/your/file.docx"
使用ガイド
基本的な使い方
-
Web ページを変換する:
python convert_utf8.py "https://example.com"変換された Markdown は
converted_result.mdとして保存されます。 -
ローカルファイルを変換する:
# Convert DOCX python convert_utf8.py "document.docx" # Convert PDF python convert_utf8.py "document.pdf" # Convert PowerPoint python convert_utf8.py "presentation.pptx" # Convert Excel python convert_utf8.py "spreadsheet.xlsx" -
YouTube 動画を変換する:
python convert_utf8.py "https://www.youtube.com/watch?v=VIDEO_ID"
高度な使い方
-
環境変数:
# Set custom UV path export UV_PATH="/custom/path/to/uv" # Set custom output directory export MARKDOWN_OUTPUT_DIR="/custom/output/path" -
一括処理: URL またはファイルパスを記載したバッチファイル(例:
convert_batch.txt)を作成します。https://example1.com https://example2.com file1.docx file2.pdf次に、以下を実行します。
while read -r line; do python convert_utf8.py "$line"; done < convert_batch.txt
トラブルシューティング
-
よくある問題:
- エンコーディングエラーが表示される場合は、UTF-8 が適切に設定されていることを確認してください。
- Windows でアクセス許可の問題が発生する場合は、管理者として実行してください。
- Python のパスに関する問題が発生する場合は、仮想環境が有効になっていることを確認してください。
-
デバッグ:
# Enable debug output export DEBUG=true python convert_utf8.py "your_file.docx"
使い方
コマンドライン
Web ページを Markdown に変換します。
python convert_utf8.py "https://example.com"
ローカルファイルを変換します。
python convert_utf8.py "path/to/your/file.docx"
デスクトップアプリとの連携
このサーバーをデスクトップアプリと連携するには、アプリのサーバー設定に以下を追加します。
{
"mcpServers": {
"markdownify": {
"command": "node",
"args": [
"{ABSOLUTE_PATH}/dist/index.js"
],
"env": {
"UV_PATH": "/path/to/uv"
}
}
}
}
トラブルシューティング
-
エンコーディングの問題
- 文字エンコーディングの問題が発生した場合は、
PYTHONIOENCODING環境変数がutf-8に設定されていることを確認してください - Windows ユーザーは、UTF-8 サポートを有効にするために
chcp 65001を実行する必要がある場合があります
- 文字エンコーディングの問題が発生した場合は、
-
権限の問題
- ファイルの読み取り/書き込みに必要な権限があることを確認してください
- Windows では、管理者として実行する必要がある場合があります
謝辞
このプロジェクトは、Zach Caceres によるオリジナルの成果に基づいています。卓越した貢献をしてくださった原作者に感謝します。
ライセンス
このプロジェクトは引き続き MIT License のもとでライセンスされています。詳細については、LICENSE ファイルをご覧ください。
コントリビューション
コントリビューションを歓迎します!プルリクエストを送信する前に、以下を確認してください。
- コードがプロジェクトのコーディング規約に準拠していること
- 必要なテストとドキュメントを追加していること
- README の関連セクションを更新していること
お問い合わせ
問題や提案がある場合:
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。