mcpField
C
C++ Excel Automation MCP Server

C++ Excel Automation MCP Server

リモート
github.com/smileFAace生産性7771 週間前に更新
リポジトリ

C++ Excel Automation MCP Server について

C++ Excel Automation MCP サーバーは OpenXLSX ライブラリを使い、LLM が MCP 経由で xlsx ファイルの作成・読み取り・編集を行えるようにします。単一の実行ファイルとしてビルドされ、ローカルへの導入が簡単です。表計算ツールを AI アシスタントから利用したい方に向いています。

主な機能

  1. 01セル範囲内のデータの読み取りと書き込み
  2. 02ワークシートの一覧表示と対象ファイルの設定
  3. 03新しい xlsx ファイルの作成
  4. 04単一ファイルの実行プログラムとしての配布
  5. 05JSON ファイルによる表示言語のカスタマイズ

活用シーン

  1. 01AI アシスタントによる Excel データの読み取りと要約
  2. 02LLM を使ったスプレッドシートの一括更新
  3. 03ローカルでの xlsx ファイルの自動生成

MCP 対応

MCP サーバーとして、既定で localhost:8888/sse の SSE エンドポイントから Excel 操作ツールを提供し、Cline や Roo などの MCP クライアントから利用できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttp://localhost:8888/sse
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Language:中文 | English

C++ Excel Automation MCP サーバー

これは、C++ ベースの Excel Automation MCP(Model Context Protocol)サーバープロジェクトです。Excel ファイルの操作に OpenXLSX ライブラリを利用し、LLM の機能を活用して、MCP プロトコルを通じて Excel を操作するためのインテリジェントなツールセットを提供することを目的としています。

目次

機能

  • シンプルで使いやすい MCP インターフェース:標準化された MCP ツールを提供し、クライアント(AI アシスタントなど)が Excel 自動化機能を簡単に呼び出せます。
  • 単一ファイルでのデプロイ:単一の実行可能ファイルにコンパイルされるため、簡単にデプロイして実行できます。
  • カスタマイズ可能な多言語サポート:JSON ファイルを使って、インターフェースの言語を簡単に追加または変更できます。

サーバーの機能

この MCP サーバーは、LLM から呼び出して xlsx スプレッドシートファイルを操作できる次のツールを提供します。

  • open_excel_and_list_sheets:
    • 説明:Excel ファイルを開き、すべてのシート名を一覧表示します。このツールは、後続の操作で使用する現在の Excel ファイルパスも設定します。操作を行う前、または変更するファイルを切り替える場合は、最初にこのツールを実行することを推奨します。
    • パラメーター:
      • file_path (string):Excel ファイルの絶対パス。
  • get_sheet_range_content:
    • 説明:指定したシートの指定範囲内にある表の内容を取得して出力します。Excel ファイルは自動的に開閉されます。
    • パラメーター:
      • sheet_name (string):読み取るシートの名前。
      • first_row (number):開始行番号(1 始まり)。
      • first_column (number):開始列番号(1 始まり)。
      • last_row (number):終了行番号(1 始まり)。
      • last_column (number):終了列番号(1 始まり)。
      • cell_with_coord (boolean, optional):空でないセルをそれぞれの座標とともに出力します。出力範囲に空のセルが多数含まれる場合に適しています。
  • set_sheet_range_content:
    • 説明:指定したシートの指定範囲に表の内容を設定します。Excel ファイルは自動的に開閉されます。
    • パラメーター:
      • sheet_name (string):書き込むシートの名前。
      • first_row (number):開始行番号(1 始まり)。
      • first_column (number):開始列番号(1 始まり)。
      • values (array[array]):範囲に書き込む 2 次元配列の値(null、boolean、number、string 型をサポート)。
  • create_xlsx_file_by_absolute_path:(注:コード内ではこの名前で定義されていますが、JSON 内のキーは create_xlsx です)
    • 説明:指定されたパスに新しい xlsx ファイルを作成します。作成後、Excel ファイルは自動的に閉じられます。
    • パラメーター:
      • file_path (string):ファイルを作成する絶対パス。

(注:ツールの説明に記載されている自動開閉の動作は内部実装の詳細であり、ユーザーが気にする必要はありません。)

プロジェクトのビルド

このプロジェクトのビルドには CMake を使用します。コンパイルを高速化するため、Ninja のインストールを推奨します。

ビルド手順:

  1. 環境の準備:
    • C++17 コンパイラー、CMake (>= 3.15)、Ninja がインストールされていることを確認してください。
    • リポジトリをクローンします:git clone https://github.com/smileFAace/MCP-ExcelAutoCpp.git
  2. コンパイル:
    # プロジェクトディレクトリに移動します(まだルートディレクトリにいない場合)
    # cd MCP-ExcelAutoCpp
    
    # ビルドファイルを生成します(Ninja を推奨)
    cmake -G "Ninja" -S . -B build
    
    # コンパイルを実行します
    cmake --build build
    
    コンパイルされた実行可能ファイルは通常、bin/ ディレクトリにあります。

使用方法

コンパイルが成功したら、./bin/ ディレクトリ内にある ExcelAutoCpp(Linux/macOS)または ExcelAutoCpp.exe(Windows)という名前の実行ファイルを探してください。

サーバーの起動

実行ファイルを実行するだけで、MCP サーバーが起動します。

# Example (adjust path as needed)
./bin/ExcelAutoCpp

次のような出力が表示されたら、サーバーは正常に起動し、localhost:8888 で待ち受けています。


░█▀▀░█░█░█▀▀░█▀▀░█░░░█▀█░█░█░▀█▀░█▀█
░█▀▀░▄▀▄░█░░░█▀▀░█░░░█▀█░█░█░░█░░█░█
░▀▀▀░▀░▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀░░▀░░▀▀▀
v0.0.2                 By smileFAace

I(17:35:48) i18n: Successfully loaded language string for language code 'en'
I(17:35:48) i18n: Set current language to 'en'
W(17:35:48) lang.json not found at 'E:\prj\MCP-ExcelAutoCpp\bin\lang.json'. Using default language.
I(17:35:48) i18n: Set current language to 'en'
I(17:35:48) Current language set to: en
I(17:35:48) Starting MCP server at localhost:8888
I(17:35:48) Press Ctrl+C to stop the server

接続と使用方法:

このサーバーは MCP プロトコルに準拠しています。MCP 互換クライアント(Roo、cline、claude、cherry studio など)を使用して、サーバーの SSE エンドポイント(デフォルト:http://localhost:8888/sse)に接続し、提供されている Excel 自動化ツールを呼び出せます。

たとえば、cline でこの MCP サーバーを設定するには、サーバーが正常に起動した後、プラグインが提供する MCP 設定 JSON ファイルに次の内容を追加し、更新してください。

{
  "mcpServers": {
    "excel-auto-cpp": {
      "url": "http://localhost:8888/sse"
    }
  }
}

サーバーの言語の変更とカスタマイズ:

サーバーのインターフェース言語は、デフォルトで英語(en)に設定されています。カスタム言語ファイルを作成して、言語を変更できます。

  1. サーバーの実行ファイルがあるディレクトリ(通常は bin/)を探します。

  2. そのディレクトリに lang.json という名前のテキストファイルを作成します。

  3. 使用する言語のキーと値のペアをすべてこの lang.json ファイルにコピーします。

    • テンプレートとして、プロジェクトのソースコードにある lang/ ディレクトリ内の *.json ファイルを参照できます(例:lang/zh-cn/lang.json には中国語の翻訳が含まれています)。
    • lang.json ファイルには、プログラムのインターフェースとログに必要な翻訳項目をすべて含める必要があります。
  4. lang.json ファイルを保存して、サーバーを再起動します。

    • サーバーは起動時にこのファイルを自動的に検出して読み込みます。正常に読み込まれると、lang.json で定義された言語が使用されます。
    • lang.json ファイルが存在しない場合、形式が正しくない場合、または必要な翻訳項目が不足している場合、サーバーはデフォルトの英語(en)に戻ります。

ダウンロード

最新リリースはリリースページからダウンロードできます。

🌟スター履歴

スター履歴チャート

コメント

MCP は初めてですか?

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

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