Microsoft Office について
Microsoft Officeは、デスクトップ版Microsoft 365向けのMCPサーバーです。開いているWord、Excel、PowerPointのファイルを読み書きでき、Officeアドインのサイドカーを介してmacOSとWindowsで動作します。
主な機能
- 01Word文書の読み取りと編集
- 02Excelのセルや数式を操作
- 03PowerPointスライドの読み取りと編集
- 04コメントと変更履歴を管理
- 05選択範囲と文書構造を確認
活用シーン
- 01開いているWord文書を更新し変更履歴を処理
- 02Excelに数式を入力してデータを整形
- 03PowerPointのスライドや発表者ノートを編集
MCP 対応
MCPクライアントに62種類のOfficeツールを提供し、ローカルサイドカーとOfficeアドインを通じてデスクトップアプリで開いているファイルを操作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @mindstone/mcp-server-officeMCP_OFFICE_SIDECAR_STATEAbsolute path to sidecar state file (host-managed; sidecar writes port + token here)MCP_OFFICE_SIDECAR_DISABLEKill-switch — set to 1 to refuse to spawn or talk to the sidecarREBEL_DISABLE_OFFICE_SIDECARDEPRECATED legacy alias for MCP_OFFICE_SIDECAR_DISABLE — still honored for backward compatibility with v0.1.1 operator-set kill-switches; will be removed in a future major version. Use MCP_OFFICE_SIDECAR_DISABLE instead.MCP_OFFICE_SIDECAR_STATE_DIRSidecar state directory (certs, per-app manifests). Normally derived from MCP_OFFICE_SIDECAR_STATE; hosts managing the sidecar lifecycle directly can override.MCP_OFFICE_ADDIN_DIRAbsolute path to the built add-in static files. Defaults to the package's dist/addin/ directory.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
62掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| action | enum | いいえ | アドインをインストールするか、アンインストールするかを指定します。install | uninstall |
詳細
@mindstone/mcp-server-office
Office アドインのサイドカーを介して、デスクトップ版 Microsoft 365 から Word 文書、Excel ブック、PowerPoint プレゼンテーションを読み取り、編集します。
デスクトップ専用の Office MCP です。macOS または Windows でユーザーがすでに開いている Word/Excel/PowerPoint 文書を編集します。
ステータス
- バージョン: 0.3.0 · npm
- 認証: なし(
server.json) - ツール: 62(word、excel、powerpoint、setup)
- 対象: desktop-addin
- 機械可読情報:
STATUS.json
開発の背景
これを構築した時点では、Microsoft は デスクトップ 版 Office アプリ向けの MCP サーバーを提供していませんでした。また、見つかったコミュニティ製の選択肢は、Microsoft Graph 経由でクラウドに保存された文書を対象にしているか、Windows でしか動作しませんでした。macOS と Windows の両方で、ユーザーがすでに開いている Word 文書、Excel ブック、PowerPoint プレゼンテーションを編集でき、選択範囲、数式、変更履歴にリアルタイムでアクセスできるものが必要でした。このパッケージでは、MCP サーバー、Office と通信する小さなローカルヘルパー、Office アドインを単一の npm インストールにまとめているため、3 つのコンポーネントは常に同じバージョンでリリースされます。
使用例
「開いている Excel ブックで、各データ行の列 D に =B*C を入力して、合計行を太字にしてください。」
ホストが呼び出すツール:
rebel_office_excel_set_formula— 列 D の各セルに=B<row>*C<row>を書き込みます。rebel_office_excel_format_range— 合計行の範囲を太字にします。
応答(一部抜粋):
{
"set_formula": {
"worksheet": "Sheet1",
"range": "D2:D24",
"formula": "=B2*C2",
"filled_rows": 23
},
"format_range": {
"worksheet": "Sheet1",
"range": "A25:D25",
"bold": true
}
}
必要条件
- Node.js 20 以降
- npm
- Microsoft 365 の Word、Excel、PowerPoint のいずれか、またはすべてがインストールされた macOS または Windows
- Windows では初回実行時に開発用証明書を信頼するための管理者プロンプトが表示されます(1 回のみ)
ワンクリックインストール
ボタンをクリックすると、ホストから MCP_OFFICE_SIDECAR_STATE の入力を求められます。
Claude Desktop/Claude Code/Goose/Continue.dev(Microsoft Office)の手動設定
{
"mcpServers": {
"Microsoft Office": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-office"
],
"env": {
"MCP_OFFICE_SIDECAR_STATE": ""
}
}
}
}
クイックスタート
インストールとビルド
cd <path-to-repo>/connectors/office
npm install
npm run build
npx(公開後)
npx -y @mindstone/mcp-server-office
ローカル
node dist/index.js
設定
環境変数
stdio MCP サーバー(dist/index.js)が読み取ります:
MCP_OFFICE_SIDECAR_STATE— 必須。サイドカーの状態ファイル(JSON)の絶対パスです。MCP サーバーはこのファイルからportとtokenを読み取り、サイドカーと通信します。サイドカーは起動時にこのファイルを書き込みます。状態ファイルの親ディレクトリは、サイドカーの状態ディレクトリ(証明書、アプリごとのマニフェスト)も兼ねます。MCP_OFFICE_SIDECAR_DISABLE— 任意のキルスイッチです。設定されている場合(1)、MCP サーバーはサイドカーとの通信およびサイドカーの起動を拒否します。
サイドカー(dist/sidecar/cli.js)が読み取ります。通常は、サイドカーを遅延起動する際に MCP サーバーによって設定されますが、サイドカーのライフサイクルを直接管理するホスト向けに、ここに記載します:
MCP_OFFICE_SIDECAR_STATE_DIR— サイドカーでは必須です。状態ファイル、HTTPS 証明書、生成されるアプリごとのマニフェスト(manifest.word.xml、manifest.excel.xml、manifest.powerpoint.xml)を格納するディレクトリです。MCP サーバーはこれをMCP_OFFICE_SIDECAR_STATEの親ディレクトリから導出し、自動的に渡します。MCP_OFFICE_ADDIN_DIR— 任意です。ビルド済みアドインの静的ファイル(taskpane.html、taskpane.js、assets/を含むディレクトリ)の絶対パスです。MCP サーバーはこれをパッケージのdist/addin/ディレクトリに設定します。カスタムアドインバンドルを配信するホストは、この値を上書きできます。
ホスト設定の例
Claude Desktop / Cursor
Office コネクターは、サイドカーのライフサイクルを管理するホストアプリケーション(Mindstone Rebel など)によって管理されるように設計されています。Claude Desktop から直接実行することもできますが、ホストは書き込み可能な MCP_OFFICE_SIDECAR_STATE パスを指定する必要があります。
{
"mcpServers": {
"Office": {
"command": "npx",
"args": ["-y", "@mindstone/mcp-server-office"],
"env": {
"MCP_OFFICE_SIDECAR_STATE": "/absolute/path/to/sidecar-state.json"
}
}
}
}
Mindstone Rebel
"RebelOffice": {
"name": "RebelOffice",
"type": "stdio",
"command": "npx",
"args": ["-y", "@mindstone/[email protected]"],
"env": {
"MCP_OFFICE_SIDECAR_STATE": "~/Library/Application Support/mindstone-rebel/office-sidecar/sidecar-state.json"
},
"description": "Microsoft Office integration — Word, Excel, PowerPoint.",
"catalogId": "bundled-office"
}
ツール(62)
セットアップ
rebel_office_setup— Office アドインをインストール、修復、またはアンインストールします。rebel_office_status— Word、Excel、PowerPoint の Office 接続状態を確認します。
Word(20)
rebel_office_word_read_document— アクティブな Word 文書の本文を、段落ごとにページ分けして読み取ります。rebel_office_word_get_document_structure— 文書の見出し/セクションのアウトラインを取得します。rebel_office_word_get_selection— 現在選択されているテキストと位置を取得します。rebel_office_word_find_text— 周辺の文脈を含めて、テキストの出現箇所を検索します。rebel_office_word_insert_text— 指定した位置にテキストを挿入するか、選択範囲を置き換えます(破壊的操作)。rebel_office_word_replace_text— 文書内のテキストを検索して置換します(破壊的操作)。rebel_office_word_format_text— フォント、色、ハイライト、配置の書式を適用します(破壊的操作)。rebel_office_word_apply_style— 既存の段落に名前付き段落スタイル(例:「Heading 1」、「Quote」)を適用します(破壊的操作)。rebel_office_word_insert_table— ヘッダーと行を含む表を挿入します(破壊的操作)。rebel_office_word_read_table— 表のセル値を二次元配列として読み取ります。rebel_office_word_update_table_cell— 表の単一セルのテキストを置き換えます(破壊的操作)。rebel_office_word_insert_image— ファイルパスまたは base64 データから画像を挿入します(破壊的操作)。rebel_office_word_insert_break— ページ区切りまたはセクション区切りを挿入します(破壊的操作)。rebel_office_word_set_header_footer— ヘッダーまたはフッターのテキストと配置を設定します(破壊的操作)。rebel_office_word_get_properties— 文書のメタデータ(タイトル、作成者、各種件数)を取得します。rebel_office_word_get_comments— コメントと返信スレッドを読み取ります。rebel_office_word_add_comment— 選択したテキストにコメントまたはスレッド形式の返信を追加します(破壊的操作)。rebel_office_word_resolve_comment— ID を指定してコメントを解決または削除します(破壊的操作)。rebel_office_word_get_tracked_changes— 変更履歴を読み取ります。rebel_office_word_accept_reject_changes— 変更履歴を一括で、または ID を指定して承認または却下します(破壊的操作)。
Excel (25)
rebel_office_excel_read_range— A1 範囲または名前付き範囲からセルの値を読み取ります。rebel_office_excel_write_range— 2 次元配列の値を範囲に書き込みます(破壊的操作)。rebel_office_excel_get_worksheets— ワークシートを位置と使用範囲とともに一覧表示します。rebel_office_excel_add_worksheet— 選択した位置に新しいワークシートを追加します(破壊的操作)。rebel_office_excel_delete_worksheet— ワークシートとそのすべてのデータを削除します(破壊的操作)。rebel_office_excel_read_table— 名前付き Excel テーブルから行を読み取ります。rebel_office_excel_create_table— 範囲を名前付き Excel テーブルに変換します(破壊的操作)。rebel_office_excel_set_formula— セルに数式を設定します。下方向へのオートフィルも指定できます(破壊的操作)。rebel_office_excel_get_formulas— 範囲から数式文字列(値ではありません)を読み取ります。rebel_office_excel_create_chart— データ範囲から埋め込みグラフを作成します(破壊的操作)。rebel_office_excel_format_range— フォント、塗りつぶし、罫線、表示形式を適用します(破壊的操作)。rebel_office_excel_add_conditional_formatting— カラースケール、データバー、またはルールベースの書式を追加します(破壊的操作)。rebel_office_excel_sort_range— 1 つ以上の列を基準に範囲またはテーブルを並べ替えます(破壊的操作)。rebel_office_excel_filter_table— テーブルまたは範囲にオートフィルターを適用するか、解除します(破壊的操作)。rebel_office_excel_get_named_ranges— ブック内の名前付き範囲とテーブルを一覧表示します。rebel_office_excel_insert_rows_columns— 指定した位置に行または列を挿入します(破壊的操作)。rebel_office_excel_delete_rows_columns— 行または列とそのデータを削除します(破壊的操作)。rebel_office_excel_merge_cells— 範囲内のセルを結合または結合解除します(破壊的操作)。rebel_office_excel_auto_fit— 列幅または行の高さを自動調整します(破壊的操作)。rebel_office_excel_add_data_validation— 範囲に入力規則を追加します(破壊的操作)。rebel_office_excel_get_comments— セルのスレッド形式のコメントを読み取ります。rebel_office_excel_add_comment— セルにコメントまたは返信を追加します(破壊的操作)。rebel_office_excel_get_pivot_tables— ピボットテーブルと、それらが配置されているワークシートを一覧表示します。rebel_office_excel_create_pivot_table— ソース範囲からピボットテーブルを作成します(破壊的操作)。rebel_office_excel_refresh_pivot_table— 1 つのピボットテーブル、またはすべてのピボットテーブルを更新します。
PowerPoint (15)
rebel_office_powerpoint_get_slides— スライドをレイアウト、タイトル、図形の数とともに一覧表示します。rebel_office_powerpoint_get_slide_content— 特定のスライド上のすべての図形とテキストを取得します。rebel_office_powerpoint_add_slide— レイアウトと任意のコンテンツを指定して新しいスライドを追加します(破壊的操作)。rebel_office_powerpoint_apply_layout— 既存のスライドのレイアウトを変更します(破壊的操作)。rebel_office_powerpoint_delete_slide— インデックスを指定してスライドを削除します(破壊的操作)。rebel_office_powerpoint_reorder_slides— スライドを新しい位置に移動します(破壊的操作)。rebel_office_powerpoint_add_text_box— スライドに位置を指定したテキストボックスを追加します(破壊的操作)。rebel_office_powerpoint_add_image— パスまたは base64 を指定してスライドに画像を追加します(破壊的操作)。rebel_office_powerpoint_add_shape— 任意のテキストと塗りつぶしを指定して図形を追加します(破壊的操作)。rebel_office_powerpoint_delete_shape— ID または名前を指定してスライドから図形を削除します(破壊的操作)。rebel_office_powerpoint_format_shape— 図形の塗りつぶし、線、位置、サイズ、または名前を書式設定します(破壊的操作)。rebel_office_powerpoint_update_text— 図形またはレイアウトのプレースホルダー内のテキストを更新します(破壊的操作)。rebel_office_powerpoint_get_speaker_notes— 1 枚またはすべてのスライドの発表者ノートを読み取ります。rebel_office_powerpoint_set_speaker_notes— スライドの発表者ノートを設定または置き換えます(破壊的操作)。rebel_office_powerpoint_get_presentation_properties— プレゼンテーションのメタデータ、サイズ、レイアウトを取得します。
スモークテスト
MCP_OFFICE_SIDECAR_STATE=/tmp/rebel-office-smoke/sidecar-state.json \
node dist/index.js
続いて、stdin から listTools MCP リクエストを送信すると、すべてのツールのマニフェストが返されます。listTools への応答に、サーバーが稼働中のサイドカーを必要とすることはありません。
ライセンス
FSL-1.1-MIT — Functional Source License バージョン 1.1。将来的に MIT ライセンスとなります。このソフトウェアは 2030-04-08 に MIT ライセンスへ移行します。
セキュリティ
このコネクターのセキュリティポリシーについては SECURITY.md を、脆弱性の報告についてはリポジトリレベルの SECURITY.md を参照してください。
アーキテクチャとドリフトリスクに関する注意事項
サイドカーのライフサイクル、ポートの割り当て、マニフェストのサイドロード、および Mindstone Rebel モノレポから取り込まれたバイト互換コードについては、docs/connectors/office-architecture.md に記載されています。サイドカーのハンドシェイクをデバッグする場合や、取り込み済みのサイドカー/appBridge またはチャットコードに影響するリリースを計画する場合は、このファイルを正式な参照先としてください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。