aigroup-mdtoword-mcp について
aigroup-mdtoword-mcpは、Markdownをスタイル付きのWord文書に変換するMCPサーバーです。表、数式、画像、Mermaid図、再利用可能なテンプレートを使う文書作成に向けており、HTTPでのデプロイにも対応します。
主な機能
- 01MarkdownからDOCXへの変換
- 02見出し・表・コードの書式設定
- 03インライン数式とブロック数式
- 04ローカル・リモート画像の埋め込み
- 05Mermaid図のレンダリング
- 06ヘッダー・フッター・ページ番号
活用シーン
- 01Markdownから書式付きのWordレポートを作成する
- 02CSVまたはJSONデータをMarkdown表に変換する
- 03数式・画像・Mermaid図を含む文書を作成する
MCP 対応
MCPサーバーは、MarkdownからDOCXへの変換と、CSVまたはJSONの表データからMarkdownへの変換ツールを公開し、テンプレート、スタイルガイド、メトリクスのリソースも提供します。Claude Desktopなどの互換クライアントに設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| filename | string | はい | 出力する Word ドキュメントのファイル名。.docx で終わる必要があります |
| markdown | string | いいえ | Markdown 形式のテキストコンテンツ(inputPath とのいずれか一方を指定) |
| template | object | いいえ | テンプレート設定。プリセットテンプレートを使用すると、プロフェッショナルなスタイルをすばやく適用できます。styleConfig と組み合わせることもできます |
| template.type | enum | はい | テンプレートの種類:preset = プリセットテンプレートpreset |
| template.presetId | string | はい | プリセットテンプレート ID。使用可能な値:academic(学術論文)、business(ビジネスレポート)、customer-analysis(顧客分析—デフォルト)、technical(技術文書)、minimal(ミニマルスタイル)、enhanced-features(拡張機能の例) |
| inputPath | string | いいえ | Markdown ファイルのパス(markdown とのいずれか一方を指定) |
| outputPath | string | いいえ | 出力ディレクトリ。デフォルトは現在の作業ディレクトリです |
| styleConfig | object | いいえ | スタイル設定オブジェクト。テーマシステム(theme)、透かし(watermark)、ヘッダーとフッター(headerFooter)、自動目次(tableOfContents)、表のスタイル(tableStyles)、画像スタイル(imageStyles)などに対応しています。template と組み合わせて、テンプレートのデフォルトスタイルを上書きできます |
| styleConfig.theme | object | いいえ | |
| styleConfig.theme.name | string | いいえ | テーマ名 |
| styleConfig.theme.fonts | object | いいえ | |
| styleConfig.theme.fonts.body | string | いいえ | 本文フォント |
| styleConfig.theme.fonts.code | string | いいえ | コードフォント |
| styleConfig.theme.fonts.heading | string | いいえ | 見出しフォント |
| styleConfig.theme.colors | object | いいえ | |
| styleConfig.theme.colors.text | string | いいえ | テキスト色(6 桁の 16 進数) |
| styleConfig.theme.colors.primary | string | いいえ | プライマリカラー(6 桁の 16 進数) |
| styleConfig.theme.colors.secondary | string | いいえ | セカンダリカラー(6 桁の 16 進数) |
| styleConfig.theme.spacing | object | いいえ | |
| styleConfig.theme.spacing.large | number | いいえ | 大きい間隔(twip) |
| styleConfig.theme.spacing.small | number | いいえ | 小さい間隔(twip) |
| styleConfig.theme.spacing.medium | number | いいえ | 中程度の間隔(twip) |
| styleConfig.document | object | いいえ | |
| styleConfig.document.defaultFont | string | いいえ | デフォルトフォント |
| styleConfig.document.defaultSize | number | いいえ | デフォルトのフォントサイズ(ハーフポイント) |
| styleConfig.watermark | object | いいえ | |
| styleConfig.watermark.font | string | いいえ | 透かしのフォント |
| styleConfig.watermark.size | number | いいえ | 透かしのフォントサイズ |
| styleConfig.watermark.text | string | はい | 透かしテキスト |
| styleConfig.watermark.color | string | いいえ | 透かしの色(6 桁の 16 進数) |
| styleConfig.watermark.opacity | number | いいえ | 不透明度(0~1) |
| styleConfig.watermark.rotation | number | いいえ | 回転角度(-90~90) |
| styleConfig.imageStyles | object | いいえ | |
| styleConfig.imageStyles.default | object | いいえ | |
| styleConfig.imageStyles.default.border | object | いいえ | |
| styleConfig.imageStyles.default.maxWidth | number | いいえ | 最大幅(twip) |
| styleConfig.imageStyles.default.alignment | enum | いいえ | 配置left | center | right |
| styleConfig.imageStyles.default.maxHeight | number | いいえ | 最大高さ(twip) |
| styleConfig.imageStyles.default.maintainAspectRatio | boolean | いいえ | 縦横比を維持 |
| styleConfig.tableStyles | object | いいえ | |
| styleConfig.tableStyles.default | object | いいえ | |
| styleConfig.tableStyles.default.stripedRows | object | いいえ | |
| styleConfig.tableStyles.default.columnWidths | array | いいえ | 列幅の配列(twip) |
| styleConfig.tableStyles.default.cellAlignment | object | いいえ | |
| styleConfig.headerFooter | object | いいえ | ヘッダーとフッターの設定。ページ番号や総ページ数の表示、先頭ページのみ別設定、奇数ページと偶数ページの別設定などに対応します。ページ番号の形式は「第 1 页 / 共 5 页」や「Page 1 of 5」など、柔軟に組み合わせられます。 |
| styleConfig.headerFooter.footer | object | いいえ | デフォルトのフッター設定(すべてのページまたは奇数ページに適用)。ページ番号の形式を柔軟に組み合わせられます |
| styleConfig.headerFooter.footer.content | string | いいえ | フッターのテキスト(ページ番号の前の文字列。例:「第 」) |
| styleConfig.headerFooter.footer.alignment | enum | いいえ | フッターの配置left | center | right | both |
| styleConfig.headerFooter.footer.showPageNumber | boolean | いいえ | 現在のページ番号を表示するかどうか。true に設定すると、フッターにページ番号が表示されます |
| styleConfig.headerFooter.footer.showTotalPages | boolean | いいえ | 総ページ数を表示するかどうか。true に設定すると、文書の総ページ数が表示されます |
| styleConfig.headerFooter.footer.pageNumberFormat | string | いいえ | ページ番号の後に続く文字列(例:「 页」)。例:content="第 " + ページ番号 + pageNumberFormat=" 页" = "第 1 页" |
| styleConfig.headerFooter.footer.totalPagesFormat | string | いいえ | 総ページ数の前に置く接続テキスト(例:「 / 共 」、「 of 」)。例:完全な形式は「第 1 页 / 共 5 页」 |
| styleConfig.headerFooter.header | object | いいえ | デフォルトのヘッダー設定(すべてのページまたは奇数ページに適用) |
| styleConfig.headerFooter.header.content | string | いいえ | ヘッダーの内容テキスト |
| styleConfig.headerFooter.header.alignment | enum | いいえ | ヘッダーの配置:left(左揃え)、center(中央揃え)、right(右揃え)、both(両端揃え)left | center | right | both |
| styleConfig.headerFooter.evenPageFooter | object | いいえ | 偶数ページ専用のフッター(differentOddEvenをtrueに設定する必要があります) |
| styleConfig.headerFooter.evenPageFooter.content | string | いいえ | 偶数ページのフッター内容 |
| styleConfig.headerFooter.evenPageFooter.alignment | enum | いいえ | 偶数ページのフッター配置left | center | right | both |
| styleConfig.headerFooter.evenPageFooter.showPageNumber | boolean | いいえ | 偶数ページにページ番号を表示するかどうか |
| styleConfig.headerFooter.evenPageFooter.showTotalPages | boolean | いいえ | 偶数ページに総ページ数を表示するかどうか |
| styleConfig.headerFooter.evenPageFooter.pageNumberFormat | string | いいえ | 偶数ページのページ番号形式 |
| styleConfig.headerFooter.evenPageFooter.totalPagesFormat | string | いいえ | 偶数ページの総ページ数形式 |
| styleConfig.headerFooter.evenPageHeader | object | いいえ | 偶数ページ専用のヘッダー(differentOddEvenをtrueに設定する必要があります)。両面印刷時に奇数ページと偶数ページで異なる内容を表示するために使用します |
| styleConfig.headerFooter.evenPageHeader.content | string | いいえ | 偶数ページのヘッダー内容 |
| styleConfig.headerFooter.evenPageHeader.alignment | enum | いいえ | 偶数ページのヘッダー配置left | center | right | both |
| styleConfig.headerFooter.firstPageFooter | object | いいえ | 1ページ目専用のフッター(differentFirstPageをtrueに設定する必要があります)。表紙でページ番号を非表示にする場合などに使用します |
| styleConfig.headerFooter.firstPageFooter.content | string | いいえ | 1ページ目のフッター内容 |
| styleConfig.headerFooter.firstPageFooter.alignment | enum | いいえ | 1ページ目のフッター配置left | center | right | both |
| styleConfig.headerFooter.firstPageFooter.showPageNumber | boolean | いいえ | 1ページ目にページ番号を表示するかどうか |
| styleConfig.headerFooter.firstPageFooter.showTotalPages | boolean | いいえ | 1ページ目に総ページ数を表示するかどうか |
| styleConfig.headerFooter.firstPageFooter.pageNumberFormat | string | いいえ | 1ページ目のページ番号形式 |
| styleConfig.headerFooter.firstPageFooter.totalPagesFormat | string | いいえ | 先頭ページの総ページ数の形式 |
| styleConfig.headerFooter.firstPageHeader | object | いいえ | 先頭ページ専用のヘッダー(differentFirstPageをtrueに設定する必要があります)。表紙でヘッダーを非表示にしたり、特別な内容を表示したりする場合によく使用します |
| styleConfig.headerFooter.firstPageHeader.content | string | いいえ | 先頭ページのヘッダー内容 |
| styleConfig.headerFooter.firstPageHeader.alignment | enum | いいえ | 先頭ページのヘッダーの配置left | center | right | both |
| styleConfig.headerFooter.pageNumberStart | number | いいえ | ページ番号の開始値。デフォルトは1です。5などに設定すると、5ページ目から番号を付けます |
| styleConfig.headerFooter.differentOddEven | boolean | いいえ | 奇数ページと偶数ページで異なる設定にするかどうか。trueに設定すると、両面印刷用に偶数ページでevenPageHeaderとevenPageFooterを使用します |
| styleConfig.headerFooter.differentFirstPage | boolean | いいえ | 先頭ページを別の設定にするかどうか。trueに設定すると、先頭ページでfirstPageHeaderとfirstPageFooterを使用します。表紙によく使用します |
| styleConfig.headerFooter.pageNumberFormatType | enum | いいえ | ページ番号の形式:decimal(アラビア数字1,2,3)、upperRoman(大文字のローマ数字I,II,III)、lowerRoman(小文字のローマ数字i,ii,iii)、upperLetter(大文字A,B,C)、lowerLetter(小文字a,b,c)decimal | upperRoman | lowerRoman | upperLetter | lowerLetter |
| styleConfig.headingStyles | object | いいえ | 見出しスタイルの設定 |
| styleConfig.paragraphStyles | object | いいえ | 段落スタイルの設定 |
| styleConfig.tableOfContents | object | いいえ | |
| styleConfig.tableOfContents.title | string | いいえ | 目次のタイトル |
| styleConfig.tableOfContents.levels | array | いいえ | 含める見出しレベル |
| styleConfig.tableOfContents.enabled | boolean | いいえ | 目次を有効にするかどうか |
| styleConfig.tableOfContents.tabLeader | enum | いいえ | ページ番号のリーダーdot | hyphen | underscore | none |
| styleConfig.tableOfContents.showPageNumbers | boolean | いいえ | ページ番号を表示するかどうか |
詳細
AI Group Markdown to Word MCP サーバー
高度なスタイル設定、表、数式、画像、Mermaid のレンダリング、HTTP デプロイメントに対応した、MCP 経由のプロフェッショナルな Markdown から Word への変換機能です。
概要
aigroup-mdtoword-mcp は、Markdown コンテンツからプロフェッショナルな .docx ドキュメントを生成する MCP サーバーです。
次の用途を想定して設計されています。
- Markdown を構造化された Word ドキュメントに変換する
- 再利用可能なテンプレートとスタイルプリセットを適用する
- 表、数式、画像、Mermaid 図をレンダリングする
- MCP とシンプルな HTTP エンドポイントの両方を公開する
- Claude Desktop やその他の MCP 対応クライアントと連携する
特長
- ドキュメントのスタイルとレイアウトを制御できる Markdown から DOCX への変換
- 見出し、表、リスト、コードブロック、引用ブロックに対応した 高度な書式設定
- インライン数式とブロック数式に対応した 数式サポート
- ローカルおよびリモートのアセットを埋め込める 画像埋め込み
- コードブロックへの安全なフォールバックに対応した Mermaid のレンダリング
- ヘッダー/フッター/ページ番号/透かしのサポート
- 用途に沿った利用を支援する テンプレート、リソース、プロンプトのサポート
- Cloudflare Worker のワークフローを含む HTTP デプロイメントオプション
クイックスタート
要件
- Node.js >= 18
- npm >= 8
npx で実行
npx -y aigroup-mdtoword-mcp
ローカルにインストール
git clone https://github.com/jackdark425/aigroup-mdtoword-mcp.git
cd aigroup-mdtoword-mcp
npm install
npm run build
npm start
MCP クライアントの設定
Claude Desktop/互換性のある MCP クライアント
{
"mcpServers": {
"markdown-to-word": {
"command": "npx",
"args": ["-y", "aigroup-mdtoword-mcp"]
}
}
}
ローカルビルドの出力
{
"mcpServers": {
"markdown-to-word": {
"command": "node",
"args": ["/path/to/aigroup-mdtoword-mcp/dist/index.js"]
}
}
}
ツール
markdown_to_docx
Markdown コンテンツまたは Markdown ファイルを .docx ドキュメントに変換します。
一般的な入力は次のとおりです。
markdowninputPathfilenameoutputPathstyleConfig
table_data_to_markdown
CSV または JSON の表形式データを、書式設定された Markdown の表に変換します。
一般的な入力は次のとおりです。
dataformatstylehasHeader
リソース
テンプレート
template://customer-analysistemplate://academictemplate://businesstemplate://technicaltemplate://minimal
スタイルガイド
style-guide://quick-startstyle-guide://advancedstyle-guide://templates
メトリクス
metrics://conversion-statsmetrics://memory-usage
スタイリング機能
スタイリングシステムでは、次の設定に対応しています。
- ドキュメント全体のフォント、色、ページレイアウト
- 見出しと段落のスタイル
- 表のプリセットと書式設定
- 画像のサイズと配置
- コードブロックのスタイル
- ヘッダー、フッター、ページ番号、透かし
付属の表スタイルには、一般的なビジネス、学術、金融、技術、簡易レポート向けのレイアウトが含まれています。
使用例
# Project Report
## Executive Summary
This is a sample report with **bold text** and *italic text*.
- Feature 1: Complete Markdown support
- Feature 2: Advanced styling system
- Feature 3: Professional document layout
| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
| Data 1 | Data 2 | Data 3 |
| Data 4 | Data 5 | Data 6 |
Mathematical formula: $E = mc^2$
```mermaid
flowchart TD
A[Start] --> B{Check input}
B -->|Valid| C[Generate DOCX]
B -->|Invalid| D[Return error]
```
デプロイメント
HTTP サーバー
npm run server:http
Cloudflare Worker
npm install -g wrangler
wrangler login
wrangler deploy
関連するエンドポイントは通常、次のとおりです。
/health/mcp/convert/.well-known/ai-plugin.json/openapi.yaml/openapi.json
詳しい手順については、docs/DEPLOYMENT_INSTRUCTIONS.md を参照してください。
プロジェクト構成
src/
├── index.ts
├── converter/
├── template/
├── types/
└── utils/
開発
npm run build
npm test
その他のテストコマンド:
npm run test:mathnpm run test:imagesnpm run test:pagesnpm run test:mermaid
ライセンスと使用
このプロジェクトは MIT License のもとで公開されています。
実際には、MIT License により次のことが許可されています。
- 個人利用、社内利用、学術利用、商用利用の場面でこのプロジェクトを使用する
- コードをコピー、変更、統合、公開、配布する
- このプロジェクトを基盤として、プロプライエタリ製品やオープンソース製品を構築する
- 必要な著作権表示とライセンス表示を保持する限り、派生物を提供する
次の点にご留意ください。
- ソフトウェアのコピーまたは実質的な部分には、元の著作権表示と MIT ライセンスのテキストを保持する必要があります
- ソフトウェアは「現状のまま」提供され、いかなる種類の保証もありません
- このプロジェクトをホスト型サービス、デスクトップツール、プラグイン、社内ワークフローに組み込む場合、コンプライアンス、セキュリティレビュー、下流での使用に関する制約への対応は、ご自身の責任となります
全文は LICENSE をご覧ください。
謝辞
コア依存関係とエコシステム
-
Model Context Protocol SDK
- リポジトリ:https://github.com/modelcontextprotocol/servers
- 役割:MCP サーバープロトコルの統合
-
Dolan Miu による docx
- リポジトリ:https://github.com/dolanmiu/docx
- 役割:Word 文書を生成するコアエンジン
コミュニティからの着想
- MCP コミュニティとエコシステム全体から着想を得ています
サポート
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。