プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Word to Markdown

作者:benbalterバージョン 0.9.0i★ –iパソコンで動く
レジストリ名io.github.benbalter/word-to-markdown

インストール

概要

作者による説明(英語の原文)

Convert Word (.docx) documents to Markdown via CLI, Node.js, or browser

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 文書・表計算・事務作業

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "word-to-markdown": {
      "command": "npx",
      "args": [
        "-y",
        "word-to-markdown",
        "mcp"
      ]
    }
  }
}

ターミナルでこれを実行します

claude mcp add word-to-markdown -- npx -y word-to-markdown mcp

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "word-to-markdown": {
      "command": "npx",
      "args": [
        "-y",
        "word-to-markdown",
        "mcp"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "word-to-markdown": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "word-to-markdown",
        "mcp"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月9日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント benbalter で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

文書・表計算・事務作業のほかのサーバーとの比較i

  • このカテゴリのほかの3598件のうち0%よりスターが多い
  • このカテゴリのほかの3598件のうち69%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの3598件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Word to Markdownは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.9.0)がレジストリに届いたのは14 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Agent-Native Calendar

Agent-Native Google Calendar - manage events, sync, and public booking

作者:BuilderIO広く使われている★ 76202 か月前更新

クラウドで動く

Excel MCP Server

Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.

作者:haris-musa広く使われている↓ 5万/週★ 42768 日前更新

パソコンで動く

MCP Server for Excel

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

作者:sbroenne成長中↓ 4321/週★ 8475 日前更新

パソコンで動く

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

Word to Markdown (DOCX → Markdown converter)

Convert Word documents to beautiful Markdown. Via command line, as a Node library, or in your browser. An even better version of the original word-to-markdown.

Try it in your browser at word2md.com, or use it from the command line — no clone required:

npx word-to-markdown input.docx > output.md

What it converts

  • Paragraphs and line breaks
  • Headings
  • Bold, italic, and strikethrough
  • Superscript and subscript — preserved as inline / tags
  • Bullet lists, and numbered lists (kept as 1./2./3. by default)
  • Nested lists
  • Tables
  • Links
  • Footnotes and endnotes — converted to GFM/Pandoc [^1] footnotes
  • Images — embedded inline as base64 data URIs, or extracted to files
  • Equations — converted to LaTeX: inline $…$, or a $$ block for an equation on its own line
Notes and limitations
  • Numbered lists are kept as 1./2./3. ordered lists, numbered as Word numbers them, so a list interrupted by a paragraph, table, or another list continues where it left off. Pass { numberedLists: 'bullets' } (library) or --bullet-lists (CLI) to convert them to bullet lists instead (matching the original word-to-markdown). Outline numbering that repeats the parent's number, like contracts' 1. → 1.1, 1.2, is written out as text (## 1. Scope, 1.1 Purpose), since Markdown lists can't show it.
  • Images are inlined as base64 data URIs by default. To extract them to files with relative links instead, use { images: 'extract' } (library — the bytes come back on ConvertResult.images) or --image-dir (CLI). Drop them entirely with { images: 'strip' } / --strip-images. On the web, documents with images offer a Download .zip (Markdown + an images/ folder). For full control, pass a custom Mammoth image handler via options.mammoth.
  • Underline is dropped by default (Mammoth's default, since underlines are easily confused with links). Pass { underline: 'preserve' } (library) or --underline (CLI) to keep it as an inline tag.
  • Curly quotes (“ ” ‘ ’) are kept when the text is mostly Chinese, where they are the Chinese quotation marks, and converted to ASCII everywhere else. Word writes the same code points for English curly quotes, so a quote can't be classified on its own. Pass { quotes: 'ascii' } (library) or --quotes ascii (CLI) to always convert, or 'preserve' / --quotes preserve to always keep them.
  • Footnotes and endnotes become standard GFM/Pandoc footnotes — a [^1] reference in the body and a [^1]: … definition at the end — which render on GitHub and in the web preview. Pass { footnotes: 'preserve' } (library) or --preserve-footnotes (CLI) to instead keep Mammoth's raw links and numbered note list (useful for CommonMark targets that lack footnote support). Notes whose bodies span multiple paragraphs are converted with indented continuation paragraphs.
  • Text boxes are converted as paragraphs after the containing paragraph. A text box saved without Word's VML fallback (as some other tools write them) is dropped, and convertWithWarnings warns.
  • Comments are dropped during the .docx → HTML step, and convertWithWarnings warns with how many had text. To keep them, map them in a Mammoth style map, e.g. { mammoth: { styleMap: ['comment-reference => sup'] } }.
  • Headers and footers are dropped. convertWithWarnings warns when one has text beyond a page number.
  • Equations (Office Math) become LaTeX: inline $…$, or a $$…$$ block when the equation is on its own line, which GitHub and most Markdown math renderers (KaTeX, MathJax) display. Fractions, scripts, roots, sums and integrals, brackets, functions and limits, accents, and matrices are converted. Pass { equations: 'strip' } (library) or --strip-equations (CLI) to drop them instead, with a convertWithWarnings warning.
  • Heading levels come from Word's paragraph styles, not from font size.

How is this different from the original?

_TL;DR: This project is a complete rewrite, using modern tools and libraries, and is much faster and more reliable. The output should be the same or better. Feedback welcome!_

A note on privacy

Word to Markdown is designed with privacy as a core principle. The application operates entirely client-side:

  • Complete client-side processing: When using the web interface, all document conversion happens locally in your browser using JavaScript. Your documents never leave your computer.
  • No server uploads: When using the web interface, files are processed entirely on your device. No document content is ever transmitted to any server.
  • No personal data collection: The application does not collect, store, or transmit any personal information or document contents.
  • Privacy-first analytics: The hosted version at word2md.com uses only privacy-centric Cloudflare Analytics for anonymous usage statistics. No Google Analytics or user tracking.
  • Self-hosting option: For maximum privacy, you can run the application locally or self-host it without any analytics whatsoever.

Whether you use the command line tool, run it locally in your browser, or use the hosted version, your documents and privacy are protected.

Command line

Run it directly with npx (downloads and runs the latest published version):

npx word-to-markdown path/to/your/file.docx > output.md

Or install it globally to get the w2m command:

npm install -g word-to-markdown

w2m path/to/your/file.docx > output.md

The converted Markdown is written to stdout and any document warnings (encryption, sensitivity labels, and the like) to stderr, so a redirect captures only the Markdown. The command exits with status 1 and a friendly message if the file is missing, unreadable, or not a valid .docx. Only .docx is supported — re-save older .doc files as .docx first.

To read the document from stdin, pass - as the file, or leave it out and pipe the file in:

cat report.docx | w2m > report.md

curl -sL https://example.com/report.docx | w2m - -o report.md

Options:

  • -o, --output — write the Markdown to instead of stdout (warnings still go to stderr). -o - means stdout.
  • --bullet-lists — convert numbered lists to bullets instead of keeping 1./2./3..
  • --underline — preserve underlined text as inline tags (dropped by default).
  • --strip-images — remove images instead of embedding them as base64 data URIs.
  • --image-dir — extract images to and link them relatively, instead of embedding base64. Links resolve relative to where you save the Markdown, e.g. w2m --image-dir images report.docx > report.md, or with -o, w2m -o out/report.md --image-dir images report.docx (images land in out/images/).
  • --preserve-footnotes — keep Word footnotes as raw links and a numbered note list instead of GFM [^1] footnotes.
  • --strip-equations — drop Word equations instead of converting them to LaTeX.
  • --quotes — how to treat curly quotes: auto (default) keeps them in mostly-Chinese text, ascii converts them everywhere, preserve keeps them everywhere.
  • -q, --quiet — print nothing to stderr except errors: no warnings and no "Wrote …" notes.
  • --strict — exit with status 2 if the document has warnings, so a script can tell "converted, but check it" (2) from "failed" (1). The Markdown is still written. Combine with --quiet to rely on the exit status alone.
  • --verbose — On failure, also print the underlying error and stack trace.
  • -V, --version — print the version.

MCP server

w2m mcp runs a local Model Context Protocol server on stdio, so AI agents can convert .docx files on your machine. Like the website, it never uploads anything: the agent passes a file path, and the server reads and converts the file locally.

In Claude Desktop, it's one click: download word-to-markdown.mcpb and double-click it. Claude Desktop installs it as an extension. You don't need Node or a terminal, since Claude Desktop includes Node.

Add it to Claude Code:

claude mcp add word-to-markdown -- npx -y word-to-markdown mcp

Or to any MCP client that takes a JSON config:

{

"mcpServers": { "word-to-markdown": { "command": "npx", "args": ["-y", "word-to-markdown", "mcp"] } } }

It has one tool, convert_docx_to_markdown:

  • path (required): the .docx to convert. Prefer an absolute path; relative paths resolve against the server's working directory.
  • output_path: write the Markdown to this .md (or .markdown) file instead of returning it, which is handy for long documents. The tool won't write through a symlink.
  • image_dir: extract images into this folder and link them. It must be a relative folder inside output_path's folder (or the .docx's). By default images are dropped, because base64 images would flood the agent's context.
  • overwrite: replace output_path or image files that already exist. Off by default, so the tool refuses rather than clobbering a file. That matters when an agent is acting on instructions it read in a document.
  • bullet_lists, preserve_footnotes: same as the CLI flags.

It returns the Markdown and any document warnings, also as structured content.

In the browser, word2md.com registers the same conversion as WebMCP tools (convert_docx_to_markdown, taking the file as base64, and get_converted_markdown) for agents in browsers that support it. They run in the tab, just like dropping a file.

Use as a library

Published to npm as word-to-markdown. It ships as an ES module with TypeScript declarations and requires Node 22.13 or later.

npm install word-to-markdown
import convert, { convertWithWarnings } from 'word-to-markdown';

// Just the Markdown: const markdown = await convert('path/to/your/file.docx');

// Markdown plus any document warnings (e.g. encryption, sensitivity labels): const { markdown, warnings } = await convertWithWarnings( 'path/to/your/file.docx', );

Both functions accept either a file-path string (Node) or an ArrayBuffer (Node or the browser):

const { markdown } = await convertWithWarnings(arrayBuffer);
API
  • `convert(input, options?): Promise ` — resolves to the Markdown.
  • `convertWithWarnings(input, options?): Promise<{ markdown: string; warnings: string[]; warningDetails: WarningDetail[]; images? }>` — also returns human-readable warnings for encrypted, protected, or sensitivity-labeled documents and for dropped content, and (in extract mode) the extracted images. warningDetails has one { kind, message, detail? } entry per warning, where kind is encrypted, `sensi

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く