Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-word-processorReplace '{{date}}' with 'Today' in C:\docs\memo.docx and save as C:\docs\memo_fixed.docx"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-word-processor
このプロジェクトは、Model Context Protocol (MCP) に準拠したWord文書処理サーバーです。
pywin32 ライブラリを使用してMicrosoft Wordアプリケーションを直接操作することで、
Wordファイル(.docx)内のテキストコンテンツの抽出と置換を行います。
python-docx ライブラリは使用していません。
機能
Wordファイルのテキストコンテンツ全体(本文、ヘッダー、フッター、表、図形内のテキストなど)を抽出します。
Wordファイル内の指定されたテキストを別のテキストに置換し、新しいファイルとして保存します。
Windows環境でのみ動作します。
セットアップ
1. 仮想環境の作成と依存関係のインストール
プロジェクトルートディレクトリで、uv を使用して仮想環境を作成し、必要な依存関係をインストールします。
pyproject.toml に依存関係が定義されているため、uv pip install の代わりに uv pip sync を使用することもできます。
2. サンプルWordファイルの準備
templates ディレクトリを作成し、テスト用のWordファイル (sample_template.docx) を配置してください。
例: templates/sample_template.docx
サーバーの実行
プロジェクトのルートディレクトリから main.py を実行することでサーバーを起動できます。
サーバーは標準入出力を介してMCPリクエストを待ち受けます。
利用可能なツール
このMCPサーバーは以下のツールを提供します。
get_word_elements
指定されたWordファイルから全てのテキスト要素を取得します。
説明: Word文書の本文、ヘッダー、フッター、表、図形内のテキストなど、全ての可視テキストを抽出します。
入力スキーマ:
{ "type": "object", "properties": { "file_path": { "type": "string", "description": "処理するWordファイルの絶対パス。" } }, "required": ["file_path"] }例:
{ "name": "get_word_elements", "arguments": { "file_path": "C:\\path\\to\\your\\document.docx" } }
replace_word_elements
指定されたWordファイル内のテキストを指定された内容で置換し、新しいファイルに保存します。
説明: 元のWordファイルをコピーし、そのコピー内で複数のテキスト置換を実行し、指定されたパスに新しいファイルとして保存します。
入力スキーマ:
{ "type": "object", "properties": { "file_path": { "type": "string", "description": "処理するWordファイルの絶対パス。" }, "output_path": { "type": "string", "description": "変更を保存する新しいWordファイルの絶対パス。" }, "replacements": { "type": "object", "patternProperties": { "^[a-zA-Z0-9_\\s\\S]+$": { "type": "string" } }, "description": "置換するキー(古いテキスト)と値(新しいテキスト)のペアを含む辞書。" } }, "required": ["file_path", "output_path", "replacements"] }例:
{ "name": "replace_word_elements", "arguments": { "file_path": "C:\\path\\to\\your\\templates\\sample_template.docx", "output_path": "C:\\path\\to\\your\\output\\new_document.docx", "replacements": { "{{OLD_TEXT_1}}": "新しいテキスト1", "{{OLD_TEXT_2}}": "新しいテキスト2", "Header1": "新しいヘッダー1" } } }
注意事項
このサーバーはWindows環境にMicrosoft Wordがインストールされている必要があります。
pywin32を使用しているため、サーバー実行中はバックグラウンドでWordアプリケーションが起動します。output_pathには、元のfile_pathと異なるパスを指定してください。同じパスを指定すると予期せぬ動作を引き起こす可能性があります。