📊 Servidor MCP para archivos Excel con macros (.xlsm) について
このMCPサーバーは、マクロを含むExcelブックをAIアシスタントから操作できるようにします。表データやシート、VBAマクロ情報、セル範囲の書式を扱い、stdioで通信します。
主な機能
- 01表データの読み書き
- 02ブックとシートの作成
- 03マクロ一覧と詳細の取得
- 04セル範囲の書式設定
- 05ブックのメタデータ確認
活用シーン
- 01マクロ有効ブックの読み取りや更新
- 02VBAマクロ情報の確認
- 03表形式レポートの作成と書式設定
MCP 対応
stdioを介して、データの読み書き、シート管理、マクロ一覧、範囲の書式設定などのExcel・VBA関連ツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
📊 マクロを含む Excel ファイル(.xlsm)用 MCP サーバー
作者: Orlando Ospino (orlando2019)
このサーバーは、マクロを含む Excel ファイル(.xlsm)を操作するための Model Context Protocol (MCP) を実装しています。通信には stdio プロトコルを使用しているため、Claude Desktop、Cursor、Windsurf などの MCP クライアントと簡単に統合できます。
🌟 MCP とは?
MCP (Model Context Protocol) は、言語モデルが外部ツールとやり取りできるようにするプロトコルです。このサーバーを使うと、Claude などの AI アシスタントがマクロ付き Excel ファイルをネイティブに操作できるようになり、データ分析やオフィス業務の自動化を支援する能力が広がります。
✨ 特徴
- マクロ付き Excel ファイル(.xlsm)の作成と操作
- スプレッドシートのデータの読み取りと書き込み
- シートの管理(作成、削除、名前変更)
- VBA マクロの一覧表示と情報の取得
- セル範囲への書式設定
- Python 3.10+ に対応
- 仮想環境や最新の MCP クライアントとの簡単な統合
🔧 インストール
pip を使用する場合
pip install xlsm-mcp-server
uv を使用する場合(推奨)
uv venv
.venv\Scripts\activate
uv pip install -r requirements.txt
📝 使い方
直接実行
python -m xlsm_mcp
または、仮想環境を使用する場合:
.venv\Scripts\python.exe -m xlsm_mcp
Claude Desktop、Cursor、Windsurf の設定
設定に追加します(例:settings.json)。
"mcpServers": {
"xlsm": {
"command": "python",
"args": ["-m", "xlsm_mcp"],
"transport": "stdio"
}
}
- クライアントによっては
"transport": "stdio"を省略できますが、最大限の互換性を確保するため、記載しておくことをおすすめします。 - 仮想環境を使用する場合は、
"python"を Python 実行ファイルへのパスに置き換えてください。
詳細な引数
サーバーの要件に応じて、"args" セクションにカスタム引数を追加できます。例:
"args": ["-m", "xlsm_mcp", "--log-level", "DEBUG"]
🛠️ 利用可能なツール
read_data_from_excel:Excel シートからデータを読み取りますwrite_data_to_excel:Excel シートにデータを書き込みますcreate_new_workbook:マクロを有効にするオプション付きで、新しい Excel ブックを作成しますcreate_new_worksheet:既存の Excel ブックに新しいシートを作成しますget_workbook_metadata:マクロに関する情報を含む、ブックのメタデータを取得しますlist_macros_in_workbook:ブック内で利用可能なすべてのマクロを一覧表示しますget_macro_details:特定のマクロの詳細情報を取得しますformat_cell_range:セル範囲に書式を設定します
💡 例
Excel ファイルからデータを読み取る
# Ejemplo de uso para leer datos
result = await read_data_from_excel("ejemplo.xlsm", "Hoja1", "A1", "C10")
print(result["data"])
ファイル内のマクロを一覧表示する
# Ejemplo para listar macros
macros = await list_macros_in_workbook("ejemplo.xlsm")
for macro in macros["data"]:
print(f"Macro: {macro['name']}")
📋 ユースケース
このサーバーは、特に次の用途に役立ちます。
- AI モデルを活用するデータアナリスト
- 管理業務の自動化
- 財務レポートの作成と操作
- Excel ベースのワークフローへの AI の統合
👥 貢献
貢献を歓迎します。リポジトリで issue または pull request を作成してください。
👨💻 作者
Orlando Ospino が開発(@Orlando_Ospino)
📄 ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。