mcpField
E
excel-webview2-mcp

excel-webview2-mcp

ローカル
github.com/dsbissett開発ツール227 週間前に更新

excel-webview2-mcp について

excel-webview2-mcpは、Windows上のWebView2で動作するMicrosoft ExcelアドインにMCPクライアントを接続します。アドインの起動とサイドロード、または既存のデバッグセッションへの接続ができ、ブックの検査やブラウザー分析のツールを提供します。

主な機能

  1. 01Excelアドインの起動と停止
  2. 02マニフェストと開発サーバー設定の検出
  3. 03ブック、範囲、ワークシートの検査
  4. 04テーブル、ピボット、グラフ、書式の読み取り
  5. 05コンソール、ネットワーク、性能ツールへのアクセス

活用シーン

  1. 01Excelでローカルのアドインプロジェクトを起動する
  2. 02MCPクライアントからブックの内容を調べる
  3. 03WebView2上のExcelアドインをデバッグする

MCP 対応

MCPサーバーとして、ExcelのローカルWebView2リモートデバッグエンドポイント(ポート9222)に接続します。ライフサイクル管理、検査、自動化、スクリーンショット、コンソール、ネットワーク、性能分析のツールを公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"dsbissett-excel-webview2": {
"command": "npx",
"args": [
"-y",
"@dsbissett/excel-webview2-mcp"
]
}
}
}
起動コマンドnpx -y @dsbissett/excel-webview2-mcp

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

パッケージ
npm@dsbissett/excel-webview2-mcp0.0.13

ツール

59

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
uidstringはいページ内容のスナップショットにある要素の uid
dblClickbooleanいいえダブルクリックするには true に設定します。デフォルトは false です。
includeSnapshotbooleanいいえレスポンスにスナップショットを含めるかどうか。デフォルトは false です。

詳細

Excel WebView2 MCP

WebView2 内で実行される Microsoft Excel アドインのための、プロフェッショナルな MCP 接続。

項目値
パッケージ@dsbissett/excel-webview2-mcp
上流プロジェクトChromeDevTools/chrome-devtools-mcp のフォーク
対象ランタイムWebView2 でホストされる Excel アドイン
デバッグエンドポイントhttp://127.0.0.1:9222
推奨セットアップClaude Code プラグインマーケットプレイス

重要

v0.0.2 以降、このサーバーは Excel を起動し、アドインをサイドロードできます。使用前に開発サーバーを起動したり、デバッガーを接続したりする必要はありません。excel_launch_addin により、ローカルの開発サーバー(設定されている場合)が起動し、WebView2 のリモートデバッグをポート 9222 で有効にした状態で Excel が起動します。 手動での事前起動にも引き続き対応しています。リモートデバッグを 9222 で有効にして Excel アドインがすでに実行されている場合、サーバーはそのアドインに接続します。

v0.0.2 の新機能

  • アドインのライフサイクル管理 — 新しいツールにより、Claude Code から Excel アドインを直接起動・停止できます。
    • excel_detect_addin — 現在のプロジェクトのマニフェストと開発サーバー設定を検出します。
    • excel_launch_addin — 必要に応じて開発サーバーを起動し、アドインをサイドロードして CDP ポート 9222 を有効にした状態で Excel を起動します。
    • excel_stop_addin — 起動した Excel セッションと開発サーバーのプロセスツリーを終了します。
  • 読み取り専用の Excel 検査ツール — ブック、ワークシート、範囲、テーブル、ピボットテーブル、グラフなどを検査するための幅広い読み取り操作に対応しています。これらのツールはブックの状態を変更しません。
    • コンテキストと構造:excel_context_info、excel_workbook_info、excel_list_worksheets、excel_worksheet_info、excel_active_range、excel_used_range。
    • 範囲の読み取り:excel_read_range、excel_range_properties、excel_range_formulas、excel_range_special_cells、excel_find_in_range。
    • 書式設定と入力規則:excel_list_conditional_formats、excel_list_data_validations。
    • テーブルと名前:excel_list_tables、excel_table_info、excel_table_rows、excel_table_filters、excel_list_named_items。
    • コメントと図形:excel_list_comments、excel_list_shapes。
    • 計算とピボットテーブル:excel_calculation_state、excel_list_pivot_tables、excel_pivot_table_info、excel_pivot_table_values。
    • グラフ:excel_list_charts、excel_chart_info、excel_chart_image。
    • その他:excel_custom_xml_parts、excel_settings_get。
  • ソケットベースのポート検出 — Node 24 で開発サーバーと CDP の準備状況をより確実に確認できるよう、HTTP ポーリングに代わる方式を採用しました。
  • Windows での堅牢なクリーンアップ — excel_stop_addin が taskkill によって開発サーバーのプロセスツリーを強制終了するようになりました。

フォークに関するお知らせ

このリポジトリは、Chrome DevTools MCP リポジトリ ChromeDevTools/chrome-devtools-mcp のフォークです。上流の DevTools と MCP の基盤を維持しながら、WebView2 でホストされる Microsoft Excel アドイン向けに接続モデルを調整しています。

このプロジェクトの機能

  • Chrome DevTools Protocol(CDP)を通じて、Claude Code をローカルで実行中の Excel アドインに接続します。
  • 検査、自動化、スクリーンショット、コンソールへのアクセス、ネットワーク検査、パフォーマンス分析を行う MCP ツールを提供します。
  • スタンドアロンの Chrome セッションではなく、Excel アドインで使用される組み込みの WebView2 ランタイムを対象とします。

接続モデル

Claude Code
    |
    v
excel-webview2-mcp
    |
    v
WebView2 remote debugging endpoint (localhost:9222)
    |
    v
Locally running Excel add-in

この分離は重要です。excel-webview2-mcp は既存のデバッグセッションへのブリッジです。アドインを起動したりホストしたりするものではありません。

前提条件

次の 2 つのワークフローに対応しています。

自動起動(推奨、v0.0.2+)
  1. Office アドインのプロジェクト(manifest.xml と開発サーバーのスクリプトを含む)がディスク上にあります。
  2. Windows に Excel デスクトップ版がインストールされています。
  3. Node.js がインストールされており、npx @dsbissett/excel-webview2-mcp@latest を実行できます。

まず excel_detect_addin を呼び出してプロジェクトが検出されることを確認し、次に excel_launch_addin を呼び出して開発サーバーを起動し、CDP ポート 9222 を有効にしてアドインを Excel にサイドロードします。すべてを終了するには excel_stop_addin を使用します。

手動/事前接続
  1. Excel アドインがローカルの Excel デスクトップクライアントにすでに読み込まれ、実行されています。
  2. WebView2 のリモートデバッグが有効で、ポート 9222 にバインドされています(デバッグポートを指定して Excel を起動するを参照)。
  3. デバッグエンドポイントに http://127.0.0.1:9222 でアクセスできます。

次のコマンドで確認します。

curl http://127.0.0.1:9222/json

デバッグポートを指定して Excel を起動する

このセクションは、Windows の Excel デスクトップ版に適用されます。Microsoft の WebView2 および Office アドインのドキュメントによると、Chromium フラグを WebView2 ランタイムに渡すためのサポートされた方法は WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS です。WebView2 チームは、永続的な設定に使用できるレジストリベースの代替方法も説明しています。

Excel for Mac を使用している場合、この MCP サーバーは対象外です。Microsoft は、WebView2 の CDP ポートではなく、Safari Web インスペクターを使った Excel for Mac のデバッグ方法を説明しています。

ソース:

Windows:ローカル開発に推奨される設定

Excel を起動する前に環境変数を設定し、Excel のプロセスに引き継がれるようにします。

$env:WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS="--remote-debugging-port=9222"

次に:

  1. 同じシェルから、またはその環境変数を引き継いだ親プロセスから Excel を起動します。
  2. アドインをローカルで起動します。
  3. デバッグエンドポイントが有効になっていることを確認します。

実行例:

$env:WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS="--remote-debugging-port=9222"
start excel.exe

Office アドインチームは、WebView2 をホストするアドイン全般に対するこの環境変数の仕組みを説明しており、WebView2 チームは --remote-debugging-port=9222 が有効なブラウザー引数であることを説明しています。

Windows:永続的なレジストリによる代替設定

マシン上で永続する設定が必要な場合は、WebView2 チームが説明している次のレジストリポリシーパスを使用できます。

HKEY_CURRENT_USER\Software\Policies\Microsoft\Edge\WebView2\AdditionalBrowserArguments

次の値を使用します。

  • 値の名前:EXCEL.EXE
  • 値のデータ:--remote-debugging-port=9222

ローカル開発では、まず環境変数を使用してください。オン/オフの切り替えが簡単で、マシン全体に永続する設定を残さずに済みます。

エンドポイントを確認する

次を実行します。

curl http://127.0.0.1:9222/json/version

正常な応答は JSON で、次のようなフィールドを含みます。

{
  "Browser": "...",
  "Protocol-Version": "...",
  "webSocketDebuggerUrl": "ws://127.0.0.1:9222/devtools/browser/..."
}

この curl コマンドが失敗する場合、Excel はまだ WebView2 のデバッグポートを公開していないため、excel-webview2-mcp は接続できません。

インストール

このサーバーは npm パッケージ @dsbissett/excel-webview2-mcp として配布され、npx 経由で起動します。以下の設定はすべてのホストで共通です。異なるのは設定ファイルの場所だけです。

標準の MCP エントリー:

{
  "mcpServers": {
    "excel-webview2": {
      "command": "npx",
      "args": ["@dsbissett/excel-webview2-mcp@latest"]
    }
  }
}
Claude Code(CLI)

1 行で設定する場合:

claude mcp add excel-webview2 -- npx @dsbissett/excel-webview2-mcp@latest

claude mcp add --scope user ... を使用すると、すべてのプロジェクトでサーバーを利用できるようになります。または、--scope project を指定すると、チームメイトと共有できるよう .mcp.json に設定を保存できます。

別の方法として、同梱のプラグインをインストールできます。

  1. /plugin marketplace add dsbissett/excel-webview2-mcp を実行して、.claude-plugin/marketplace.json からマーケットプレイスを追加します。
  2. /plugin install excel-webview2-mcp でインストールします。
Claude Code(VS Code 拡張機能)
  1. VS Code で Claude Code のサイドパネルを開きます。
  2. コマンドパレットを開き、Claude Code: Manage MCP Servers を実行します(または Claude パネルの MCP アイコンをクリックします)。
  3. Add Server を選択して、上記の標準 MCP エントリーを貼り付けます。または、VS Code の統合ターミナルで claude mcp add コマンドを実行します。拡張機能は同じ設定を読み込みます。
Cursor

~/.cursor/mcp.json(グローバル)またはプロジェクトルートの .cursor/mcp.json を編集し、上記の標準 MCP エントリーを追加します。Cursor を再起動し、Settings → MCP を開いて excel-webview2 が接続済みと表示されることを確認します。

Codex(OpenAI Codex CLI)

Codex は ~/.codex/config.toml から MCP サーバーを読み込みます。以下を追加します。

[mcp_servers.excel-webview2]
command = "npx"
args = ["@dsbissett/excel-webview2-mcp@latest"]

次に codex を起動し、/mcp にサーバーが表示されることを確認します。

GitHub Copilot(VS Code)

VS Code の GitHub Copilot Chat は、エージェントモードの設定で MCP サーバーをサポートしています。

  1. ワークスペースに .vscode/mcp.json を作成または編集します(または、コマンドパレットから MCP: Open User Configuration を選択し、ユーザーレベルの mcp.json を編集します)。

  2. サーバーエントリーを追加します。

    {
      "servers": {
        "excel-webview2": {
          "command": "npx",
          "args": ["@dsbissett/excel-webview2-mcp@latest"]
        }
      }
    }
    
  3. Copilot Chat を開いて Agent モードに切り替え、Tools アイコンをクリックして excel-webview2 のツールが利用可能であることを確認します。コマンドパレットから MCP: List Servers を使用すると、状態を確認したりサーバーを再起動したりできます。

インストールの確認

サーバーを追加したら、Office アドインのプロジェクトディレクトリから excel_detect_addin を呼び出すようモデルに依頼します。応答が成功すれば、MCP サーバーが正しく接続されています。その後は excel_launch_addin が Excel の起動を処理します。

デフォルトでは、サーバーはローカルの WebView2 デバッグエンドポイント http://127.0.0.1:9222 に接続します。

ローカル開発

npm install
npm run build
npm start

サポート対象の Node.js バージョンは ^20.19.0、^22.12.0、または >=23 です。

コメント

MCP は初めてですか?

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

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