KitchenSink4XL について
KitchenSink4XLは、AIクライアントで.xlsxと.xlsmのブックを読み書きするMCPサーバーです。数式の値を計算済み・キャッシュ済み・未計算に分類し、変更前のバックアップと保存後の検証を行います。
主な機能
- 01Excelブックの読み書き
- 02計算状態による数式値の分類
- 03構造編集時の参照維持
- 04CSVとJSONのインポート・エクスポート
- 05ブック変更のバックアップと検証
- 06Windows上のExcelで再計算とエクスポート
活用シーン
- 01数式の結果が最新か確認
- 02セル値、数式、書式の更新
- 03参照を維持して行や列を挿入
- 04共有前のブック検証とバックアップ
MCP 対応
7つのツールを通じて、読み取り、編集、書式設定、構造変更、ブック操作をローカルのMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
40掲載時のツール一覧 · 5 日前に更新
このツールにパラメーターはありません。
詳細
KitchenSink4XL
AI アシスタントで Excel ブックを読み書きし、数式の結果が最新、キャッシュ済み、または未取得のどれかを確認できます。
AI は Excel で 131 種類の操作を実行でき、変更のたびにバックアップを作成し、保存のたびにチェックを行います。
KitchenSink4XL は、Claude Code、Codex CLI、Copilot CLI、Claude Desktop、その他のローカル MCP クライアントが .xlsx および .xlsm ファイルを操作できる MCP サーバーです。数式、テーブル、書式設定、構造の編集、データチェックに対応しています。数式セルを読み取ると、値が直前に計算されたものか、前回の保存時の値か、まだ一度も計算されていないかを AI に伝えるため、古い数値がレポートに入り込むのを防げます。これは AGPL-3.0 の下でライセンスされた無料の Community エディションです。
プラットフォーム: ファイル操作ツールは Windows と Linux で動作します(このリリースでは macOS は未テストです)。再計算、ピボットテーブル、PDF エクスポートなど、Excel を利用する機能には、Microsoft Excel がインストールされた Windows が必要です。
インストール
このパッケージには Python 3.12 以降が必要です。以下のコマンドは、AI チャットではなく PowerShell またはターミナルで実行してください。
Claude Code または Codex CLI。 uv をインストールし、使用するアプリの行を実行して、新しいセッションを開始します。
claude mcp add xl -s user -- uvx kitchensink4xl
codex mcp add xl -- uvx kitchensink4xl
Claude Desktop。 uv をインストールして Claude Desktop を再起動します。最新リリースから .mcpb ファイルをダウンロードし、Settings > Extensions > Advanced settings > Install extension を開いてファイルを選択します。初回起動時に Python パッケージがダウンロードされるため、ネットワーク接続が必要です。
その他のローカル MCP クライアント。 コマンドに uvx を、引数に kitchensink4xl を指定するか、パッケージをインストールして kitchensink4xl をサーバーコマンドとして実行します。
pip install kitchensink4xl
uvx 経由での初回起動では環境が構築されるため、20~30 秒かかることがあります。2 回目以降の起動は約 2 秒です。初回実行時にクライアントがタイムアウトする場合は、ターミナルから一度起動してから、再度お試しください。
できること
- 数式の値が計算済み、キャッシュ済み、または未取得のどれかを、該当するセル名とともに使用前に確認します。
- 範囲を読み取ったり、大きなテーブルの全行を AI のコンテキストに取り込まずに要約したりできます。
- 既存のブックに数式、値、表示形式を書き込めます。
- 行や列を挿入・削除しても、数式、テーブル、名前付き範囲、グラフ、シート間参照が連動します。
- Excel と同じ方法で並べ替えやフィルターを行い、クライアントや同僚向けにテーブルの書式を設定できます。
- CSV と JSON をインポートおよびエクスポートできます。
- 共有前にブックの構造上の問題をチェックできます。
- Excel をインストールした Windows では、実際に再計算したり、ピボットテーブルを作成したり、ゴールシークを実行したり、PDF にエクスポートしたり、シートを画像として出力したりできます。
サーバーは合計で 7 つのツールに 69 の操作を提供し、各操作で実行できるアクション(たとえば、ワークシートやテーブルの変更の種類)ごとに数えると 131 になります。ツールリスト全体が起動時に消費する AI の作業メモリは約 5.5k トークンです。数値は scripts/measure_surface.py と scripts/count_operations.py に基づいています。
ラベルが重要な理由
ワークブックに保存されるのは、各数式が最後に出した答えであり、その答えが最新である保証はありません。上流で何かが変更され、誰も再計算していなければ、古い数値も本物のように見えてしまいます。KitchenSink4XL は、返すすべての数式結果にラベルを付けます。再計算済み、最後の保存時の値、または未計算のいずれかです。入力された値には再計算するものがないため、ラベルは付きません。必要に応じて、xl_app ツールは非公開の非表示 Excel に再計算を依頼し、計算済みのラベルを付けた結果を返します。
ワークブックを損なわない構造編集
列を挿入すると、その右側のすべてに影響します。他のシートにある数式、合計、グラフ、テーブル、名前付き範囲などです。KitchenSink4XL は、移動すべきものを移動し、数式、テーブル、名前付き範囲、グラフ、シート間参照について、Excel 自身の動作に照らしてテストされています。編集を安全に実行できない場合は、推測せずに拒否し、その理由を説明します。
7 つのツールとコンテキストコスト
サーバーは 7 つのツールを最初のメッセージからすべて提示するため、有効化する必要はありません。xl_help 以外のすべてのツールは、実行する操作を示す op と、その引数(ワークブックの path を含む)を示す args を受け取ります。xl_help は、任意の操作の引数と実例を返します。トークン数は、クライアントが受け取る tools/list エントリー全体を数えたもので、scripts/measure_surface.py によって算出されます。
| ツール | 操作数 | トークン数の目安 | 対応範囲 |
|---|---|---|---|
xl_read | 18 | ~1.0k | グリッド表示、ラベル付きのセルと範囲の読み取り、サーバー側でのクエリと集計、検索、テーブル、診断、検証チェック、数式とスタイルの監査、ピボット、接続、外部リンク、VBA の検査 |
xl_edit | 10 | ~0.8k | セルの値と数式、範囲への書き込み、コピーと移動、アンカー付き一括編集、検索と置換、データのインポート |
xl_format | 11 | ~0.9k | 数値とセルの書式、名前付きスタイル、書式のコピー、列幅と行の高さ、セルの結合、条件付き書式、コメント、ハイパーリンク、画像、グラフ、シートの表示設定 |
xl_structure | 9 | ~0.8k | ワークシート、参照を引き継ぐ行と列の挿入・削除、テーブル、LAMBDA 定義を含む名前付き範囲、並べ替え、フィルター、データの入力規則 |
xl_workbook | 9 | ~0.8k | 新しいワークブックとコピー、バックアップ、ドキュメントのプロパティ、保護、ページレイアウト、ヘッダーとフッター、エクスポート |
xl_app | 12 | ~0.9k | Windows 上の非公開の非表示 Excel(自分のセッションではありません):実際の再計算、ピボットテーブル、PDF エクスポート、シート画像、形式変換、暗号化、自動調整、ゴールシーク、スパークライン、正常に開けるかのチェック。また、依頼に応じてサーバーを更新(update_now)し、更新通知をオンまたはオフにします(update_notices) |
xl_help | 0 | ~0.2k | 任意の操作の引数と実例、および場所の記述方法 |
| 7 つすべて | 69 | ~5.5k | 起動時に一度読み込まれ、後から有効化する必要はありません |
AI は、操作名を指定して引数を渡すことでツールを呼び出します。
xl_read(op="get_grid_view", args={"path": "C:/data/budget.xlsx"})
xl_edit(op="set_cell", args={"path": "C:/data/budget.xlsx", "location": "C1", "value": "Total"})
レシピについては、AI に get_workflows を呼び出すよう依頼してください。サーバー独自の指示には、上記の数値に加えて約 500 トークンが必要です。ツールスキーマを初回使用時に読み込むクライアントでは、ツールが呼び出されるまで、ほとんどコストがかかりません。
より限定的なサーバーを使いたい管理者は、読み取り操作だけを一覧表示する KS4XL_READ_ONLY=1 を設定するか、削除するツールまたは操作を KS4XL_FORBID に指定できます(「Configuration」を参照)。削除したものはコストに含まれなくなります。
安全モデル
- 変更を行う前に、ブックは同じ場所にある非表示の
.ks4xl-backups/フォルダー内のローテーション方式の2つのスロットにバックアップされます。manage_backupsでは、バックアップの一覧表示、復元、削除ができます。スロットに保存されるのは、このサーバー経由で行った変更のみです。Excel や別のプログラムで行った編集は記録されません。 - 保存はアトミックに行われ、検証されます。保存後に各書き込みをチェックし、チェックに失敗した場合はバックアップから復元します。Office 独自の保存時と同様に、保存中は他のプログラムからブックのパスが数ミリ秒間見えなくなる場合があります。このサーバー自身の呼び出しは、その間、処理を待機します。
verify_com=trueを指定するか、すべての保存でKS4XL_VERIFY_COM=1を設定すると、保存したファイルが非表示の Excel でも問題なく開ける必要があります。 - 通常のセル編集では、ブックの残りの部分(プリンター設定、共有文字列、行の高さ、画像、外部リンクなど)がバイト単位で保持されるため、Excel で修復を求められずに結果を開けます。構造編集で使用する完全な書き換えでは、これらの要素に加え、カスタムプロパティ、秘密度ラベル、変更用パスワードも引き継ぎます。
- 保存前にスキャンを行い、書き込み側で保持できないブックの構成要素を特定します。呼び出しで該当する種類を明示的に許可しない限り、データの損失を拒否します。
- 書き込みではシートとブックの保護が尊重され、保護によって変更が禁止されている場合は
PROTECTEDを返して拒否します。 - 破壊的な呼び出しでは、ブックの変更前の状態をラベル付きスナップショットとして保存します。ラベルを指定して復元できます。
- 数式に見えるだけのテキストが数式に変換されることはありません。セルの種類によって判定されます。
- 曖昧な対象の指定は拒否され、候補がすべて表示されます。
xl_appは独自の非表示 Excel インスタンスを使用し、開いているブックには触れません。終了後に不要な Excel プロセスも残しません。Excel で開かれているブックは読み取れますが、変更はできません。- 変更用パスワードが設定されたブックは、編集のために開くすべての
xl_app操作で、対処方法とともに拒否されます。これにより、Excel のパスワードダイアログがデスクトップに表示されるのを防ぎます。暗号化されたブックは、パスワードが指定されていない限り、Excel の起動前に拒否されます。 query_range、export_range、集計では、オートフィルターで非表示になっている行も対象になります。Excel の SUBTOTAL ではそれらが除外されるため、フィルターをかけたシートの合計値は Excel のステータスバーの値と異なる場合があります。- クラウド同期ツールの対象から
.ks4xl-backups/を除外してください。バックアップファイルは編集のたびに変わり、同期クライアントがロックを保持して保存を遅らせることがあります。
プライバシー
サーバーはお使いのコンピューター上で動作します。KitchenSink4AI がファイルや利用データを受け取ることはありません。AI アプリは、そのアプリの設定と利用規約に従って、プロンプト、ファイルの内容、ツールの結果を独自のプロバイダーに送信する場合があります。以下で説明する更新チェックでは、週に最大1回 PyPI に接続し、パッケージ名とインストール済みバージョンのみを送信します。「今すぐ更新」を選ぶと、PyPI から新しいバージョンをダウンロードします。Claude Desktop の場合は、GitHub から新しいバンドルをダウンロードします。サーバーの起動バナーは無効になっているため、サーバーの実行に使用するフレームワークが独自にバージョンチェックを行うことはありません。プライバシーポリシーでは、製品、購入、サポートについて説明しています。
設定
起動設定は、サーバーの構成に含まれる環境変数です。起動時に一度だけ読み込まれ、ツールの呼び出し、引数、プロンプトによって変更することはできません。
| 変数 | 機能 |
|---|---|
KS4XL_READ_ONLY | 1 を設定すると、読み取り操作のみが一覧表示され、ファイルを変更できなくなります |
KS4XL_FORBID | ツール名または操作名をカンマ区切りで指定すると、ツール一覧と xl_help から除外されます。指定した項目を呼び出すと、NOT_AVAILABLE が返されます。ここで xl_app を指定すると、Excel を起動するすべての経路が閉じられます |
KS4XL_ALLOWED_ROOTS | サーバーが読み書きするすべてのパスを、指定したフォルダー内に制限します(Windows では ;、それ以外では : で区切ります) |
KS4XL_CALL_TIMEOUT_S | 1 回の呼び出しに対する実時間の上限(秒、デフォルトは 300) |
KS4XL_MAX_OUTPUT_CHARS | 1 回の応答サイズの上限(文字数、デフォルトは 80,000) |
KS4XL_AUTHOR | 呼び出しで作成者が指定されていない場合、または作成者としてメールアドレスが指定された場合に、メモに署名するユーザーを指定します。メールアドレスが作成者として書き込まれることはありません。user(デフォルト)では Office のユーザー名を使用し、Office にユーザー名がない場合は Windows のサインイン名を使用します。assistant では「AI Assistant via KS4XL」と署名します。設定にかかわらず、author="assistant" を指定した呼び出しも同じ署名になります |
KS4XL_VERIFY_COM | 1 を設定すると、すべての保存で非表示の Excel によるオープンチェックがデフォルトで有効になります |
KS4XL_VALIDATE_COM | 1 を設定すると、構造チェックで Excel 独自の判定を使用します |
KS4XL_COM_TIMEOUT | COM 呼び出しの最大時間 |
KS4XL_UPDATE_CHECK | off にすると、更新チェックが完全に無効になります(KS4XL_NO_UPDATE_CHECK=1 も使用できます) |
KS4XL_UPDATE_NOTICES | off にすると更新通知が無効になり、いったん無効にした後で on にすると再び有効になります |
以前のバージョンの設定は自動的に処理されます。以前のデフォルト設定(KS4XL_MODE が lite、full、everything のいずれかに設定されている場合、または KS4XL_PACK_POLICY=auto)は、1 行の通知とともに無視されます。ツールをロックする設定(KS4XL_PACK_POLICY=locked、またはツールグループのリストを指定した KS4XL_MODE)がある場合は、代わりに使用する設定を示すメッセージとともに起動が停止します。ツールを制限するには、KS4XL_READ_ONLY または KS4XL_FORBID を使用してください。
サンドボックス化。 KS4XL_ALLOWED_ROOTS を設定すると、正規化されたパスを対象に包含チェックが行われるため、..\ による移動、シンボリックリンクやジャンクション、短い名前、大文字・小文字の違いを利用した指定、名前が似たフォルダーがすべて検出されます。ブロックされた呼び出しは、ファイルが開かれる前に、パスと許可されたルートを示す型付きエラーを返します。
更新チェックと更新通知。 サーバーは、ツールの使用後、最大で週に 1 回、バックグラウンドで PyPI に問い合わせて、kitchensink4xl の最新バージョンを確認します。リクエストに含まれるのはパッケージ名とインストール済みのバージョンのみで、ドキュメント、ファイル名、識別情報は含まれません。新しいバージョンがあり、サーバーが uvx または Claude Desktop 拡張機能経由で実行されている場合、対応しているアプリでは、[今すぐ更新]と[後で]を選べる短い通知が AI アプリに表示されます。それ以外の場合は、AI が新しいバージョンについて一度だけ知らせ、更新を提案します。通知で[今すぐ更新]を選択するか、AI に更新を依頼しない限り、新しいバージョンがダウンロードまたはインストールされることはありません。通知を無効にするには、AI に KitchenSink4XL の更新通知をオフにするよう依頼してください。KS4XL_UPDATE_NOTICES=off を設定するとすべての環境で通知が無効になり、KS4XL_UPDATE_CHECK=off を設定するとチェックが完全に無効になります(KS4XL_NO_UPDATE_CHECK=1 も使用できます)。この設定はサーバー独自の状態フォルダーに保存されるため、更新後も保持されます。
Claude Desktop 拡張機能の設定。 Excel ですべての保存を検証を有効にすると、非表示の Excel によるオープンチェックが有効になります(書き込みのたびに Excel を経由する処理が追加されるため、デフォルトでは無効です)。サーバーを 1 つのフォルダーに制限を有効にすると、読み取りも含め、サーバーが扱うすべてのパスが指定したフォルダー内に制限されます。
その他のクライアントとモジュールのエントリーポイント
インストール済みのコマンドを、任意の MCP クライアントに指定します。
{"mcpServers": {"xl": {"command": "kitchensink4xl"}}}
既知の制限事項
com_render_sheetにはサインイン済みのデスクトップセッションが必要です。 シートを画像にレンダリングする処理では Excel のクリップボードを使用します。このため、非対話型セッションで非表示になっている Excel では使用できません。その他のxl_app操作はすべて、ユーザーの操作なしで実行できます。- 共有サービスではなく、デスクトップツールです。 サーバーはお使いのコンピューター上でご自身のアカウントとして動作し、
xl_appは Windows セッション内の Excel を操作します。1 つのインストールからチームで共有することを想定していません。 - シートを削除すると、そのシートへの参照が壊れます。 削除したシートを参照する数式や名前には、Excel と同様に
#REF!が表示されます。シート名を変更すると、参照は更新されます。判断に迷う場合は、先に参照を監査してください。 - ファイルの編集では再計算できません。 ファイルツールで書き込みを行った後、Excel が再計算するまでは、下流のセルに古いキャッシュ値が残ります。ラベルに影響を受ける値が示されます。
xl_appのrecalculateを実行すると修正できます。
1.x からのアップグレード
バージョン 2.0 では、1.2.x のフラットな 69 個のツールを、上記の 7 個のツールに再編成しました。enable_tools と disable_tools は廃止されましたが、それ以外のすべての操作名は変わっていません。ただし、ツール名が set_cell のツールを呼び出すのではなく、op="set_cell" を指定して xl_edit の操作として呼び出すようになりました。コマンド名、パッケージ名、インストール方法は変更ありません。
| 呼び出していたもの | 現在の配置先 |
|---|---|
get_grid_view, read_range, get_cells, query_range, find_cells, get_table, get_workbook_metadata, diagnose_workbook, validate, audit_formulas, audit_styles, get_pivot, get_connections, get_external_links, inspect_vba, get_workflows, get_server_info, com_status | xl_read |
set_cell, set_cells, write_range, clear_range, copy_range, move_range, apply_edits, replace_cells, set_formula, import_data | xl_edit |
format_cells, apply_style, copy_format, set_dimensions, set_merge, manage_conditional_format, manage_comment, manage_hyperlink, manage_image, manage_chart, set_view | xl_format |
manage_worksheet, modify_grid_structure, create_table, manage_table, manage_name, sort_range, set_filter, clear_filter, manage_data_validation | xl_structure |
create_workbook, copy_workbook, manage_backups, set_workbook_properties, set_protection, set_page_layout, set_header_footer, export_range, export_file | xl_workbook |
recalculate, com_manage_pivot, com_export_pdf, com_render_sheet, com_convert_format, com_save_with_password, com_autofit, com_goal_seek, com_set_sparkline, com_validate_opens_clean | xl_app |
enable_tools, disable_tools | 廃止されました。すべての操作を最初から利用できます |
一部の値では表記が変更されましたが、以前の表記も引き続き使用できます。条件付き書式と入力規則の値は snake_case(greater_than、last_7_days、text_length)になり、manage_chart では anchor の代わりに at_cell を使用します。以前の KS4XL_MODE と KS4XL_PACK_POLICY のデフォルト値は変更する必要はありません。上記の設定に関する注記をご覧ください。docs/surface_map.md には、1.2.5 の全ツールとその置き換え先、および変更された値が一覧になっています。また、get_workflows の migrate-from-v1 レシピにも、AI 向けの同じ対応表があります。変更履歴 には、その他の変更点がすべて記載されています。
テスト
tests/unit には 5,340 件のテストがあり、すべてのプルリクエストで実行されます。構造の編集は Excel 独自の再計算結果と照合して検証され、ドキュメントに記載されたすべての関数ファミリーにわたる数式は、修復を促す警告が表示されることなく書き込まれ、再度開けることを確認します。また、フィクスチャーのブックには、ピボットテーブル、スライサー、図形など、Excel でしか作成できない機能も含まれています。実際の Excel を操作する別の一連のゲートは、Windows 上でローカルに実行されます。
問題の報告
何かが失敗する、予期せず拒否される、または誤った値が返される場合は、issue を作成してください。個人用のブックを添付する代わりに、プレースホルダーデータで構造を再現し、安全に共有できるよう設計された get_server_info の出力を含めてください。機能のアイデアはこちらから歓迎します。セキュリティ上の問題については、SECURITY.mdに従ってください。
Business エディション
Business エディションでは、これらのツールに Windows インストーラー、署名済みの更新チャネル、Business 規約に基づくサポートが付属します。更新チェックにより、対象となるリリースが利用可能になったことが通知されますが、自動でインストールされることはありません。料金をご覧ください。Community エディションは、規約に従った業務利用も含め、AGPL の下で引き続き無料です。
貢献
バグ報告、修正、テスト、ドキュメントの改善を歓迎します。CONTRIBUTING.mdをご覧ください。初めて貢献する方は、Contributor License Agreementに同意する必要があります。
ライセンス
KitchenSink4XL はデュアルライセンスです。
- AGPL-3.0. AGPL に準拠するあらゆる用途で、企業を含むすべての方が無料で利用できます。ソフトウェアを配布する場合、またはネットワーク経由で利用可能にする場合は、変更を加えたソースコードを共有することなどが規約に含まれています。
- 商用ライセンス。 AGPL のソースコード共有義務を負うことなく、KitchenSink4XL を自社の製品やサービスに組み込みたい組織向けです。[email protected] までお問い合わせください。
本ソフトウェアは、ライセンス条項に基づき、いかなる種類の保証もなく現状のまま提供されます。
Copyright (c) 2026 Alvut Consulting, LLC. KitchenSink4AI は Alvut Consulting, LLC の製品ラインです。KitchenSink4AI のツールは AI コーディングアシスタントの支援を受けて開発されており、すべてのリリースは公開前にテストスイート全体を通過します。
Microsoft Corporation との提携、同社による推奨または後援はありません。Microsoft および Excel は Microsoft グループ企業の商標です。GitHub および Copilot は Microsoft グループ企業の商標です。Claude は Anthropic の商標です。Codex および OpenAI は OpenAI の商標です。その他すべての商標は、それぞれの所有者に帰属します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。