Excel/Google スプレッドシート連携の MCP 実装を比較|ローカル実行・権限・監査ログの観点(網羅系・要確認)

この記事をシェア:
目次 クリックで開く

生成AIを実務に組み込む際、最大のボトルネックとなるのが「社内データの参照」です。特に、多くの業務ロジックが埋め込まれたExcelや、共同編集の基盤であるGoogle スプレッドシートを、LLM(大規模言語モデル)からいかに安全に、かつ正確に操作させるかが、自動化の成否を分けます。

本記事では、Anthropicが提唱するModel Context Protocol(MCP)を用い、ExcelおよびGoogle スプレッドシートをLLMと連携させる際の実装手法を、実務担当者の視点で徹底比較します。ローカル実行の可否、権限管理の粒度、そしてエンタープライズ用途で不可欠な監査ログの観点から、最適なアーキテクチャを紐解きます。

MCP(Model Context Protocol)による表計算ソフト連携の全体像

MCPは、LLMアプリケーションと外部データソース(コンテキスト)を接続するためのオープンな標準プロトコルです。従来、ExcelやスプレッドシートのデータをAIに渡すには、手動でのCSVアップロードや、場当たり的なAPI連携コードの記述が必要でした。しかし、MCPを導入することで、AIクライアント(Claude Desktopなど)とデータソース側の「MCPサーバー」を定型化されたプロトコルで接続できるようになります。

なぜLLMとExcel/スプレッドシートをMCPで繋ぐのか

最大の理由は、「文脈の動的な提供」「アクションの実行」です。MCPを介することで、AIは以下の操作を自律的に行えるようになります。

  • 大量の行から必要なデータのみを検索・抽出する。
  • 複数のシートを跨いだデータの集計。
  • 分析結果を特定のセルへ直接書き込む、または新規シートを作成する。

Excel(ローカル/OneDrive)とGoogle スプレッドシートの技術的差異

実装において、両者は「データの所在」と「アクセス手段」が根本的に異なります。

  • Excel: ローカルのファイルシステム(.xlsx)にある場合と、クラウド(OneDrive/SharePoint)にある場合で、MCPサーバーに求められる権限とライブラリが変わります。
  • Google スプレッドシート: 常にクラウド上にあり、Google Sheets APIを介したアクセスが前提となります。認証にはOAuth 2.0またはサービスアカウントが必要です。

このように、データの置き場所によってセキュリティ設計や監査の仕組みが大きく変わるため、事前の比較検討が重要です。例えば、経理業務のように厳格な管理が求められるシーンでは、
Excelと紙の限界を突破する「Google Workspace × AppSheet」業務DX完全ガイドで解説されているような、ノーコードツールとの棲み分けも考慮すべきでしょう。

Excel実装:ローカル実行とセキュリティ設計

Excelをデータソースとする場合、多くの企業が直面するのが「ローカルPC上のファイルをどう扱うか」という課題です。

ローカルファイルシステム経由でのMCP実装

Python(pandas/openpyxl)やNode.js(exceljs)を用いてMCPサーバーを構築すれば、ローカルにある .xlsx ファイルを直接読み書きできます。この構成の利点は、インターネットを介さずにデータ処理を完結できる点にあります。機密性の高い財務データなどをクラウドAPIに流したくない場合に有効です。

OneDrive/SharePoint API経由の実装と認証の壁

組織で共有されているExcelファイルを扱う場合、Microsoft Graph APIを使用します。この場合、MCPサーバーはAzure App Registration(Microsoft Entra ID)に登録されたクライアントIDとシークレットを保持する必要があります。

権限管理:OSレベルのパーミッションとMCPの役割

ローカル実行の場合、MCPサーバーが動作するユーザー権限がそのままExcelファイルへのアクセス権となります。特定のフォルダ内のみを読み取り専用にするなど、OSレベルでの制限が一次防衛ラインとなります。一方、MCPサーバー側で「特定の関数(Tool)のみを公開する(例:Readのみ許可し、Writeは実装しない)」というアプリケーションレベルの制限も可能です。

Google スプレッドシート実装:API連携と権限管理

Google スプレッドシートをMCPで扱う場合、公式(@modelcontextprotocol/server-google-sheets)またはカスタムのMCPサーバーが、Google Sheets APIを叩く構造になります。

Google Sheets APIを用いたMCPサーバーの構成

実装には、Google Cloud プロジェクトの作成が必須です。MCPサーバーがAIの代わりに「誰として」アクセスするかが設計の肝となります。

OAuth 2.0とサービスアカウントの使い分け

  • OAuth 2.0: 実行するユーザー個人の権限でシートにアクセスします。個人用ツールとしては最適ですが、サーバーサイドでの自動実行には向きません。
  • サービスアカウント: サーバー固有のメールアドレス(例: mcp-bot@project-id.iam.gserviceaccount.com)を発行し、そのアカウントに特定のシートの閲覧・編集権限を付与します。組織管理としてはこちらが推奨されます。

共有範囲の制限:特定のスプレッドシートIDへのアクセス制限

MCPサーバーの実装において、環境変数で ALLOWED_SPREADSHEET_IDS を定義し、特定のファイル以外へのアクセスを拒絶するバリデーションを設けることで、AIの暴走による情報漏洩リスクを低減できます。

【徹底比較】Excel vs Google スプレッドシートのMCP実装

実務上の主要な評価項目に基づき、両者の特性を比較表にまとめました。

比較項目 Excel (ローカル実行) Excel (OneDrive/Cloud) Google スプレッドシート
主な実行環境 ローカルPC / 自社サーバー クラウド / サーバー クラウド / サーバー
接続プロトコル ファイルシステム (stdio) Microsoft Graph API Google Sheets API
権限管理の粒度 OSユーザー権限 Entra ID スコープ IAM / シート共有設定
監査ログ アプリ側で実装が必要 Microsoft Purview Google Workspace 監査ログ
実装難易度 低(ライブラリ豊富) 高(OAuth/Graph API) 中(API有効化が必要)
オフライン利用 可能 不可 不可

特に、SaaSコストやインフラの負債を整理している段階の企業では、
SaaSコストとオンプレ負債を断つ。バックオフィス&インフラの「標的」と現実的剥がし方(事例付)の視点も踏まえ、どのデータソースにMCPを繋ぐべきか慎重に判断する必要があります。

Excel・SheetsのMCP実装を選ぶ前に、監査ログの設計は済んでいますか?Claude Code 導入支援は、セキュアな権限設計から kintone・Salesforce 等のSaaS連携、業務自動化の定着までを一貫して支援するサービスです。✓ セキュアな権限設計✓ 業務SaaS連携の実装✓ 非エンジニアの自動化も支援Claude Code 導入支援を見る →権限設計から定着まで伴走Claude Code導入支援業務SaaS権限設計・SaaS連携・業務自動化

実務における監査ログとセキュリティ対策

エンタープライズ環境でMCPを導入する際、最も懸念されるのが「AIが勝手にデータを書き換えた際、誰が責任を取るのか」という点です。

誰が、いつ、何をしたか:MCPサーバー側のロギング実装

標準的なMCPサーバーの実装に加えて、以下の情報を構造化ログ(JSONなど)として出力し、CloudWatch LogsやBigQueryへ転送する仕組みが推奨されます。

  • 実行されたTool名(例:read_sheet, append_row)
  • 呼び出し元のAIエージェントID(またはユーザーID)
  • 操作対象のファイルID・範囲
  • 実行パラメータの内容

書き込み操作の制御:AIによる誤操作を防ぐ「Human-in-the-loop」

MCPサーバー側で、書き込み関数(update_cell等)を実装する際は、即座に実行するのではなく、一度プロンプトを介してユーザーに「この内容で更新して良いですか?」という承認を求めるステップを設けることが、実務上の安全弁となります。

例えば、会計データの自動連携においては、
【完全版】給与ソフトからfreee会計への「部門別配賦」と仕訳連携。労務と経理の分断を解決するアーキテクチャのような、厳密なフロー制御が不可欠です。

実装手順ガイド:スプレッドシートMCPサーバーの構築

ここでは、汎用性が高いGoogle スプレッドシートを対象としたMCPサーバーの構築手順を解説します。

ステップ1:Google Cloud ConsoleでのAPI有効化

  1. Google Cloud Consoleにログインし、プロジェクトを新規作成します。
  2. 「APIとサービス」から「Google Sheets API」を検索し、有効化します。
  3. 「認証情報」から「サービスアカウント」を作成し、JSONキーをダウンロードします。このファイルがMCPサーバーの認証に必要です。

ステップ2:MCPサーバーの環境構築(Node.js)

公式の @modelcontextprotocol/server-google-sheets を利用する場合、以下のコマンドでセットアップを行います。

npm install -g @modelcontextprotocol/server-google-sheets

環境変数として、ダウンロードしたJSONキーのパスを指定します。

ステップ3:Claude Desktopへの接続設定

Claude Desktopの設定ファイル(config.json)に、MCPサーバーの起動コマンドを追記します。


{
"mcpServers": {
"google-sheets": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-google-sheets"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/key.json"
}
}
}
}

よくあるエラーと対処

  • 403 Forbidden: サービスアカウントのメールアドレスが、対象のスプレッドシートに「編集者」として招待されているか確認してください。
  • Timeout: 大容量のシートを読み込もうとすると、MCPの通信制限に引っかかる場合があります。read_range 関数等で取得範囲を絞るようプロンプトを調整してください。
  • Token Expired: OAuthを使用している場合は、リフレッシュトークンの管理が正しく行われているか確認してください。

組織規模・セキュリティ要件別 スプレッドシートMCP選定早見表

Excel MCPとGoogle Sheets MCPは技術的な実装方式だけでなく、組織のセキュリティポリシーと規模によって適切な選択肢が異なる。以下の早見表で自社環境に合った選定を確認してほしい。

組織規模・要件 推奨MCP 主な理由 導入時の注意点
個人・スタートアップ(クラウド優先) Google Sheets MCP GAS連携で無料実装可能、OAuth認証で外部共有も容易 API呼び出しクォータ(1日あたり上限)に注意
中小企業(M365環境) Excel MCP(ローカル実行) 既存M365ライセンス活用、社内データをクラウド送信不要 ローカル実行のためCI環境では別途設定が必要
金融・医療(高セキュリティ) Excel MCP(オンプレ) データが組織外に出ないローカル完結型が必須 Copilot Studio等との統合時はMicrosoft審査が必要
リモート・多拠点(共同編集重視) Google Sheets MCP リアルタイム同期でAIが最新状態を参照できる 社外ユーザーのアクセス権設計を事前に決定すること

MCP経由でAIがスプレッドシートを操作する際、書き込み権限の範囲を最小化するロールを明示的に設定しない限り、意図しないセル上書きのリスクが残る。読み取り専用MCPから始め、書き込みを許可する範囲をシートやレンジ単位で制限するのが安全な導入手順だ。

よくある質問(Excel Google スプレッドシート MCP 実装 権限 監査ログ)

Q. ExcelとGoogle スプレッドシートのMCP実装を比較する際の主な違いは?

主な違いは①ローカル実行 vs クラウドAPI:ExcelのMCPはデスクトップアプリケーションとの連携(ローカル実行)が基本。Google SheetsのMCPはCloud APIベース(インターネット必須)②権限スコープ:Sheetsは細かいOAuthスコープ(read-only/spreadsheets.readonly等)でGoogleアカウントと連動して権限管理。ExcelはローカルファイルアクセスのためOSファイルシステム権限が主③監査ログ:Google Workspace EnterpriseはAdmin ConsoleでAPIアクセスの監査ログが取得可能。Excelのローカル操作はWindows監査ログになる④マルチユーザー同時編集:Google Sheetsはリアルタイム共同編集のMCP連携がシームレス。Excelの共有ブックはバージョン競合が発生しやすい、の4点です。

Q. Google スプレッドシートのMCPサーバーを使う際のOAuthスコープの設定はどうすればよいですか?

OAuthスコープの設定は①最小権限の原則:読み取りのみで良い場合は`https://www.googleapis.com/auth/spreadsheets.readonly`、書き込みが必要な場合は`https://www.googleapis.com/auth/spreadsheets`②Google Drive連携が不要な場合は`drive`スコープを要求しない③GCP Console → APIとサービス → 認証情報でOAuthクライアントを作成してスコープを制限④Service Account(サービスアカウント)を使う場合:特定のスプレッドシートIDのみを共有してサービスアカウントのアクセス範囲を最小化、が基本原則です。個人のGoogleアカウントではなくService Accountを使うことで、担当者退職時のアクセス失効を防げます。

Q. Claude Codeからスプレッドシートを操作する際の実装上の注意点は?

実装の注意点は①セルの上書き:Claude Codeがスプレッドシートのセル値をAIの判断で書き換えると既存データが失われるリスク。書き込み前の確認プロンプトか、別シートへの書き出しを推奨②DLP(Data Loss Prevention):顧客情報・個人情報を含むシートをMCP経由でClaude Codeに渡さない設計③大量行の扱い:数万行以上のシートをそのままAPIで取得するとコンテキスト不足になるため、ページネーションやフィルタリングを行ってから渡す④数式の破壊:Claudeが数式の入ったセルを値で上書きしないよう、数式セルの保護(シートの保護)を事前に設定、の4点です。

まとめ:業務要件に合わせたMCP選定基準

ExcelとGoogle スプレッドシート、どちらのMCP実装を選ぶべきかは、単なるツールの好みではなく「データのガバナンス」「実行環境の制約」で決まります。

  • Excel(ローカル): 外部APIにデータを出せない、あるいはPC上の孤立したファイルを一時的に分析したい場合に最適。
  • Google スプレッドシート: 複数人での同時編集、ワークフローの自動化、クラウドネイティブな監査ログの集中管理を優先する場合に最適。

MCPはまだ進化の途上にあるプロトコルですが、表計算ソフトとの連携は、AIを「ただのチャット相手」から「実務を遂行するエージェント」へと昇華させる重要なステップです。まずはスモールスタートとして、特定の定型業務からMCPサーバーの導入を検討してみてはいかがでしょうか。

Excel MCP や Google Sheets MCP を組織で使い始める際は、書き込みを許可するシートやレンジを明示的に制限し、誰がいつ何を操作したかを記録する監査ログを最初から設計に組み込むことが安全な導入の基本です。MCP の権限設計や運用ルールづくりは Claude Code 導入支援 でもご相談いただけます。

業務システム・DX全般のご相談

業務の課題整理からツール選定、システム導入・連携・運用までを幅広く支援します。何から手をつけるべきか迷う段階でも、貴社の状況に合わせて最適な進め方をご提案します。

ソリューション一覧を見る →

AI×データ統合 無料相談

AI・データ統合・システムの最適な組み合わせを、企業ごとに設計・構築します。「何から始めるべきか分からない」という段階からでも、まずはお気軽にご相談ください。

AT
aurant technologies 編集

上場企業からスタートアップまで、数多くのデータ分析基盤構築・AI導入プロジェクトを主導。単なる技術提供にとどまらず、MA/CRM(Salesforce, Hubspot, kintone, LINE)導入によるマーケティング最適化やバックオフィス業務の自動化など、常に「事業数値(売上・利益)」に直結する改善実績多数。

この記事が役に立ったらシェア: