Excel MCP Server について
Excel MCP Serverは、XLSX、XLS、CSVファイルの構造とデータを読み取るJava製MCPサーバーです。ヘッダーに対応した行の取得、複数シートの処理、作業領域内へのアクセス制限が必要なワークフローに適しています。
主な機能
- 01ヘッダーとデータ行の読み取り
- 02XLSX、XLS、CSVに対応
- 03シートとヘッダー行の指定
- 04データ行数の集計
- 05ファイルアクセスのキャッシュ
- 06パスを設定済み作業領域に制限
活用シーン
- 01スプレッドシートの列とヘッダーの確認
- 02指定したスプレッドシート行の取得
- 03シート内の行数の集計
- 04許可されたディレクトリへのアクセス制限
MCP 対応
ヘッダーや行の取得、シート一覧、行数の集計、キャッシュ操作などのExcel読み取りツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
FastExcel MCP Server
標準化されたヘッダーと列の対応関係を使用して Excel 操作を行う、Model Context Protocol(MCP)を実装した Java サーバーです。
機能
- Excel ファイル(XLSX、XLS、CSV)のヘッダーとデータ行を読み取ります。
- 入力パスが設定済みのワークスペース内にあることを検証します。
- 複数のシートとカスタムヘッダー行に対応します。
- ヘッダーを除くデータ行の総数を取得します。
- 繰り返しのアクセスを高速化するパフォーマンスキャッシュを内蔵しています。
注:サーバーは、env: MCP_WORKSPACES で指定されたディレクトリ内でのみ操作を許可します。
API
ツール
-
get_total_rows_number(キャッシュ対応)
- Excel ファイルのヘッダー行を除くデータ行の総数を取得します。
- 入力:
excelPath(string):Excel ファイルへの絶対パスまたは相対パス。headRowNumber(integer):ヘッダーがある行番号(1 始まり)。sheetName(string、任意):読み取るシートの名前。空の場合は最初のシートが既定で使用されます。
- データ行の合計数を整数で返します。
-
get_sheet_names(キャッシュ対応)
- Excel ファイルのすべてのシート名とインデックスを取得します。
- 入力:
excelPath(string):Excel ファイルへの絶対パスまたは相対パス。
- シート番号とシート名を含む JSON オブジェクトのリストを返します。
-
read_head_spec(キャッシュ対応)
- Excel ファイルのヘッダー情報を解析して返します。
- 入力:
excelPath(string):Excel ファイルへの絶対パスまたは相対パス。headRowNumber(integer):ヘッダーがある行番号(1 始まり)。sheetName(string、任意):読み取るシートの名前。空の場合は最初のシートが既定で使用されます。
- 列インデックスとヘッダータイトルを含む JSON オブジェクトのソート済みリストを返します。
-
read_rows_spec(キャッシュ対応)
- Excel ファイルのデータ行をヘッダーとの関連付けとともに解析して返します。
- 入力:
excelPath(string):Excel ファイルへの絶対パスまたは相対パス。headRowNumber(integer):ヘッダーがある行番号(1 始まり)。readRowNumbers(integer、任意):読み取るデータ行数(ヘッダーを除く)。null の場合はすべての行を読み取ります。sheetName(string、任意):読み取るシートの名前。空の場合は最初のシートが既定で使用されます。
- ヘッダーに紐付けられた行データを含む JSON のリストを返します。
-
cache_clear
- メモリ内にキャッシュされた Excel ファイルのデータをすべて消去します。
- キャッシュが正常に消去されると true を返します。
-
test_cache_available
- 指定した Excel ファイルがキャッシュにあるかどうかを確認します。
- 入力:
excelPath(string):Excel ファイルへの絶対パスまたは相対パス。
- キャッシュの状態とファイルの MD5 ハッシュを示す JSON オブジェクトを返します。
cached:ファイルがキャッシュされているかどうかを示す booleanresult:ファイルの MD5 ハッシュ情報を含む string
Claude Desktop での使用方法
claude_desktop_config.json に以下を追加します。
Java
{
"mcpServers": {
"fastexcel-mcp-server": {
"command": "java",
"args": [
"-jar",
"<YOUR_PATH>/fastexcel-mcp-server-0.0.1-SNAPSHOT.jar"
],
"env": {
"MCP_WORKSPACES": "<YOUR_MULTIPLE_WORKSPACES_SEPARATED_BY_COMMAS>",
"CACHE_INITIAL_CAPACITY": "[OPTIONAL] <MINIMUM_TOTAL_SIZE_FOR_THE_INTERNAL_DATA_STRUCTURES> <DEFAULT: 100>",
"CACHE_MAXIMUM_SIZE": "[OPTIONAL] <MAXIMUM_NUMBER_OF_ENTRIES_THE_CACHE_MAY_CONTAIN> <DEFAULT: 1000>",
"CACHE_EXPIRE_AFTER_WRITE": "[OPTIONAL] <LENGTH_OF_TIME_AFTER_AN_ENTRY_IS_CREATED_THAT_IT_SHOULD_BE_AUTOMATICALLY_REMOVED> <DEFAULT: 35s>"
}
}
}
}
ビルド
必要条件
- JDK 17+ GraalVM
- Maven 3.9.6+
Java のビルド:
mvn clean package -DskipTests=true
ライセンス
この MCP サーバーは Apache License 2.0 の下でライセンスされています。詳細については、プロジェクトリポジトリの LICENSE ファイルを参照してください。
追加のカスタマイズや統合方法について知りたい場合は、お知らせください!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。