mcpField
D
doc2md-lite

doc2md-lite

ローカル
github.com生産性04 日前に更新

doc2md-lite について

doc2md-liteは、テキストPDFや保存済みHTMLをMarkdownに変換するローカルツールです。文書のテキストや表を扱う人向けで、変換ツールを備えたMCPサーバーも含みます。

主な機能

  1. 01PDFとHTMLのMarkdown変換
  2. 02Markdown形式の表を保持
  3. 03PDFの見出しとリストを抽出
  4. 04ローカルCLIとPython API

活用シーン

  1. 01テキストPDFを編集・検索しやすい形式に変換
  2. 02保存済みHTMLページをMarkdownに変換
  3. 03AIアプリにファイル変換機能を提供

MCP 対応

内蔵MCPサーバーは、AIアプリに `convert_to_markdown` ツールを提供します。ファイルパスを受け取り、Markdownテキストを返すか、指定先に保存します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"tidybytetools-doc2md-lite": {
"command": "uvx",
"args": [
"doc2md-lite"
]
}
}
}
起動コマンドuvx doc2md-lite

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypidoc2md-lite1.1.1

ツール

1

掲載時のツール一覧 · 4 日前に更新

パラメーター型必須説明
pathstringはい
tablesstringいいえ
output_pathstringいいえ

詳細

Tidy Byte Tools

doc2md-lite

License: MIT Python 3.10+ MCP server MCP Registry PyPI downloads Glama score Action test

無料です。API キーは不要です。お使いのコンピューター上で動作するため、ファイルは手元に残ります。

テキスト PDF または保存した Web ページ(.html)を、整った Markdown に変換するツールです。表は Markdown の表として保持されます。 Word ファイル、AI 検索(RAG)用のチャンク、フォルダー全体、ページ範囲が必要ですか?有料版なら対応しています:doc2md on Gumroad

お使いのコンピューター上で動作するため、ファイルがどこかにアップロードされることはありません。MIT ライセンスです。Windows、Mac、Linux で、Python 3.10 以降が必要です。

インストール

pip install doc2md-lite

または pipx を使うと、専用の領域にインストールできます。

pipx install doc2md-lite

代わりに GitHub の最新コードを使いますか?

pip install git+https://github.com/tidybytetools/doc2md-lite

使い方

doc2md-lite report.pdf                 # writes report.md
doc2md-lite page.html -o page.md
doc2md-lite report.pdf -o -            # print the Markdown on screen
doc2md-lite report.pdf --tables text   # also find tables with no border lines

実行例:

Saved: report.md  (4 headings, 1 tables)

PDF から得られる内容:

# Spring Store Report

Our team checked every store in March. Most stores met the new goal...

## Sales by region

| Region | Stores | Sales |
| --- | --- | --- |
| North | 12 | $48,200 |
| South | 9 | $39,950 |

保持される内容:見出し(PDF ではフォントサイズと太字から判定)、段落、箇条書きと番号付きリスト、表です。HTML ではさらに、太字、斜体、リンク、コードブロックも保持されます。Web ページからはスクリプト、スタイル、メニュー、フッターが除去されます。

ターミナルで実行すると、有料版についての短い案内が最後に1行表示されます。--quiet で非表示にできます。また、出力をパイプやリダイレクトに渡した場合は表示されません。

既知の制限

  • スキャンした PDF。 テキストレイヤーのない画像だけのページはスキップされ、該当するページが通知されます。
  • PDF の見出しは推定です。 フォントサイズと太字をもとに判定します。特殊なレイアウトでは、簡単な修正が必要になる場合があります。
  • 2段組みの PDF(科学論文など)では、段が混ざることがあります。
  • 一度に処理できるのは1ファイルです。 フォルダー、ページ範囲、Word ファイル、RAG チャンクには対応していません。これらは有料版で利用できます。
  • ファイルのみです。 Web ページはダウンロードしません。先にページを保存してください。

Lite と有料版の比較

lite(無料)doc2md
テキスト PDF と HTML を Markdown に変換はいはい
表を Markdown の表として保持はいはい
太字、斜体、リンク、リストを含む Word(.docx)いいえはい
RAG チャンク(ページ、見出しの階層、サイズ、重複部分を含む JSONL)いいえはい
サブフォルダーも含むフォルダー全体いいえはい
ページ範囲とパスワード保護された PDFいいえはい

その他の便利な無料ツール

用途に合ったものをお選びください。MarkItDown はさらに多くのファイル形式を読み込めます。pandoc は Word と HTML に最適ですが、PDF は読み込めません。pymupdf4llm は PDF の処理が高速ですが、AGPL ライセンスを採用しています。doc2md-lite は軽量な MIT ライセンスのツールで、PDF の表を表のまま保持し、MCP サーバーも内蔵しています。

AI アプリで使う(MCP)

小規模で無料の MCP サーバーが組み込まれています。AI アプリに convert_to_markdown というツールを1つ提供します。API キーもアカウントも不要です。uv が必要です。これにより uvx コマンドを使えます。

起動することを確認するには、手動で実行します(アプリからの接続を静かに待機します)。

uvx --from doc2md-lite doc2md-lite-mcp

同じサーバーを起動する、より短い方法:uvx doc2md-lite mcp。

以下からアプリを選んで、ブロックをコピーします。保存したらアプリを再起動してください。

Claude Desktop

Settings > Developer > Edit Config を開きます。claude_desktop_config.json が開きます。次を追加します。

{
  "mcpServers": {
    "doc2md-lite": {
      "command": "uvx",
      "args": ["--from", "doc2md-lite", "doc2md-lite-mcp"]
    }
  }
}

Claude が uvx を見つけられないと表示する場合は、which uvx(Mac/Linux)または where uvx(Windows)を実行し、そのフルパスを "command" に指定します。

Cursor

同じブロックを ~/.cursor/mcp.json(すべてのプロジェクト)または .cursor/mcp.json(1つのプロジェクト)に記述します。

{
  "mcpServers": {
    "doc2md-lite": {
      "command": "uvx",
      "args": ["--from", "doc2md-lite", "doc2md-lite-mcp"]
    }
  }
}
VS Code

VS Code では mcpServers ではなく servers を使います。プロジェクトの .vscode/mcp.json に記述するか、MCP: Open User Configuration を実行して、すべての場所で使えるようにします。

{
  "servers": {
    "doc2md-lite": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--from", "doc2md-lite", "doc2md-lite-mcp"]
    }
  }
}

または、次のコマンドで追加します。

code --add-mcp '{"name":"doc2md-lite","type":"stdio","command":"uvx","args":["--from","doc2md-lite","doc2md-lite-mcp"]}'
Cline

Cline パネルで MCP Servers アイコンをクリックし、Configure を開いてから、Configure MCP Servers をクリックします。mcpServers の中に次を追加します。

{
  "mcpServers": {
    "doc2md-lite": {
      "command": "uvx",
      "args": ["--from", "doc2md-lite", "doc2md-lite-mcp"],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Codex

コマンドを1つ実行します。

codex mcp add doc2md-lite -- uvx --from doc2md-lite doc2md-lite-mcp

または、~/.codex/config.toml に次を追加します。

[mcp_servers.doc2md-lite]
command = "uvx"
args = ["--from", "doc2md-lite", "doc2md-lite-mcp"]
Gemini CLI

このリポジトリは Gemini CLI 拡張機能でもあります。次のコマンドでインストールします。

gemini extensions install https://github.com/tidybytetools/doc2md-lite

ツール:convert_to_markdown(path, tables="lines", output_path="")。Markdown テキストを返します。output_path を設定すると、指定先にファイルを保存し、代わりにパスを返します。

GitHub Actions で使う

プッシュのたびに、リポジトリ内の PDF やウェブページを Markdown に変換します。Markdown は検索しやすく、プルリクエストで読みやすく、AI ツールでも使いやすい形式です。

name: Docs to Markdown
on: [push, pull_request]
permissions:
  contents: read
jobs:
  markdown:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: tidybytetools/doc2md-lite@v1
        with:
          files: docs/**/*.pdf
          output-dir: markdown
          artifact-name: docs-markdown   # download the .md files from the run page

Markdown のコピーを同期した状態に保ちます。 各 PDF の隣に .md のコピーをコミットしていますか?チェックモードを使ってください。コピーがない場合や最新でない場合、該当ファイルを示してステップが失敗します。チェックモードでは何も書き込みません。

      - uses: tidybytetools/doc2md-lite@v1
        with:
          files: docs/**/*.pdf
          check: "true"

コピーを作成するには、コンピューターで doc2md-lite your.pdf を実行するか、check を指定せずにアクションを実行し、生成されたファイルをコミットします。出力が一致するように、両方の場所で同じバージョンの doc2md-lite を使ってください。このアクションでは pdfplumber と Beautiful Soup の固定バージョンをインストールするため、同じファイルは常に同じ Markdown に変換されます。

指定したタグと同じタグのコードが実行されます。API キーもアカウントも不要で、ファイルが GitHub の外部に送信されることもありません。Linux、Windows、Mac のランナーで動作します。スキャンされた PDF ページ(テキストのない画像のみのページ)は、警告を表示してスキップされます。代わりに失敗させるには、fail-on-scanned: "true" を設定します。

入力
入力デフォルト説明
files**/*.pdf変換するファイル(.pdf、.html、.htm)。グロブパターンを1行に1つずつ、またはカンマ区切りで指定します。
excludenode_modules/**, **/node_modules/**, vendor/**スキップするパターンです。
output-dir(空)Markdown の保存先フォルダーです。フォルダー構成を維持します。空の場合、各ファイルの隣に .md を保存します。
tableslinesPDF の表の形式です。lines(罫線あり)、text(スペースで位置を揃える形式も含む)、または off を指定します。
checkfalseチェックのみを行います。Markdown のコピーがない場合や最新でない場合は失敗します。
fail-on-scannedfalseテキストのないスキャンページが PDF に含まれる場合に失敗します。
fail-if-no-filestrue一致するファイルがない場合に失敗します。
artifact-name(空)設定すると、指定した名前で Markdown をアーティファクトとしてアップロードします。output-dir が必要です。
python-version(空)セットアップする Python のバージョンです。空の場合はランナーの Python(3.10 以降)を使います。
出力
出力内容
files条件に一致した PDF ファイルと HTML ファイルの数です。
convertedエラーなしで変換(またはチェック)されたファイルの数です。
changed新規または変更された Markdown ファイルの数です。チェックモードでは、存在しないファイルや古くなっているファイルの数です。
scanned-filesスキャンされたページを含む PDF の数です。
output-dir出力フォルダーです。

実行ページには、ファイルごとに 1 行の短いレポートも表示されます。Markdown の出力先と、検出された見出しおよびテーブルの数が記載されます。

AI エージェント向け

  • 使用する場合: 選択可能なテキストを含むローカルの PDF、または保存済みの HTML ファイルがあり、読み取りや保存のために Markdown に変換したい場合。
  • 使用しない場合: PDF がスキャン画像である場合、ファイルが .docx である場合、またはページ番号付きで多数のファイルやチャンクを処理する必要がある場合は使用しないでください。その場合は有料版を使用してください。
  • 入力: ファイルパスと、任意の tables(lines、text、off)。
  • 出力: Markdown テキストです。テーブルは、先頭行をヘッダーとする Markdown テーブルです。
  • CLI の終了コードは、成功時は 0、エラー時は 1 です(エラーメッセージは stderr に出力されます。または、--json を指定すると {"ok": false, "error": ...} が出力されます)。llms.txt も参照してください。

Python

from doc2md_lite import convert
md, info = convert("report.pdf")   # info: type, tables, headings, scanned_pages

テスト

pip install pdfplumber beautifulsoup4 reportlab "mcp<2"
python3 -m unittest discover tests

ライセンス

MIT。LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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