Skip to main content
Glama

PyPI - Version PyPI Downloads GitHub License GitHub Actions Workflow Status


🤔 これは何?

mcp-google-sheets は、MCP互換クライアント(Claude Desktopなど)とGoogle Sheets APIの間のブリッジとして機能する、PythonベースのMCPサーバーです。定義されたツールセットを使用してGoogleスプレッドシートを操作でき、AIによる強力な自動化とデータ操作ワークフローを実現します。


Related MCP server: mcp-google-sheets

🚀 クイックスタート(uvx を使用)

基本的にサーバーは1行で実行できます:uvx mcp-google-sheets@latest

このコマンドは最新のコードを自動的にダウンロードして実行します。常に @latest を使用することをお勧めします。最新の機能とバグ修正を含む最新バージョンを確実に入手できます。

以下で使用されるIDの詳細については、IDリファレンスガイド を参照してください。

  1. ☁️ 前提条件:Google Cloudの設定

    • まずGoogle Cloud Platformの認証情報を設定し、必要なAPIを有効化する必要がありますサービスアカウントの使用を強くお勧めします。

    • ➡️ 以下の Google Cloud Platform設定の詳細 ガイドに移動してください。

  2. 🐍 uv のインストール

    • uvxuv(高速なPythonパッケージインストーラー兼リゾルバー)の一部です。まだインストールしていない場合はインストールしてください:

      # macOS / Linux
      curl -LsSf https://astral.sh/uv/install.sh | sh
      # Windows
      powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
      # Or using pip:
      # pip install uv

      必要に応じて、インストーラーの出力に記載されている指示に従って uv をPATHに追加してください。

  3. 🔑 必須の環境変数を設定(サービスアカウント推奨)

    • サーバーに認証方法を伝える必要があります。ターミナルで以下の変数を設定してください:

    • (Linux/macOS)

      # Replace with YOUR actual path and folder ID from the Google Setup step
      export SERVICE_ACCOUNT_PATH="/path/to/your/service-account-key.json"
      export DRIVE_FOLDER_ID="YOUR_DRIVE_FOLDER_ID"
    • (Windows CMD)

      set SERVICE_ACCOUNT_PATH="C:\path\to\your\service-account-key.json"
      set DRIVE_FOLDER_ID="YOUR_DRIVE_FOLDER_ID"
    • (Windows PowerShell)

      $env:SERVICE_ACCOUNT_PATH = "C:\path\to\your\service-account-key.json"
      $env:DRIVE_FOLDER_ID = "YOUR_DRIVE_FOLDER_ID"
    • ➡️ 他のオプション(OAuth、CREDENTIALS_CONFIG)については、認証と環境変数の詳細 を参照してください。

  4. 🏃 サーバーを実行!

    • uvx が最新バージョンの mcp-google-sheets を自動的にダウンロードして実行します:

      uvx mcp-google-sheets@latest
    • サーバーが起動し、準備完了を示すログが出力されます。

    • 💡 プロのヒント: バグ修正と機能を含む最新バージョンを確実に入手するには、常に @latest を使用してください。@latest を付けない場合、uvx はキャッシュされた古いバージョンを使用する可能性があります。

  5. 🔌 MCPクライアントを接続

    • クライアント(例:Claude Desktop)が実行中のサーバーに接続するように設定します。

    • 使用するクライアントによっては、クライアントがサーバーを起動できるため、手順4は不要な場合があります。ただし、設定が正しく行われていることを確認するために、手順4をテスト実行することをお勧めします。

    • ➡️ 例については、Claude Desktopでの使用 を参照してください。

  6. ⚡ オプション:ツールフィルタリングを有効化(コンテキスト使用量を削減)

    • デフォルトでは、全19ツールが有効です(約13Kトークン)。コンテキスト使用量を削減するには、必要なツールのみを有効にします。

    • ➡️ 詳細については、ツールフィルタリング を参照してください。

準備完了です!MCPクライアントを介してコマンドを発行しましょう。


✨ 主な機能

  • シームレスな統合: Google DriveおよびGoogle Sheets APIに直接接続します。

  • 包括的なツール: 幅広い操作(CRUD、一覧表示、バッチ処理、共有、書式設定など)を提供します。

  • 柔軟な認証: サービスアカウント(推奨)、OAuth 2.0、環境変数による直接の認証情報注入をサポートします。

  • 簡単なデプロイ: uvx で即座に実行(インストール不要の感覚)、または uv を使用して開発用にクローン。

  • AI対応: MCP互換クライアントでの使用を想定して設計されており、自然言語でのスプレッドシート操作を可能にします。

  • ツールフィルタリング: --include-tools または ENABLED_TOOLS 環境変数で必要なツールのみを有効にし、コンテキストウィンドウの使用量を削減します。


🎯 ツールフィルタリング(コンテキスト使用量の削減)

問題: デフォルトでは、このMCPサーバーは全19ツールを公開しており、会話が始まる前に約13,000トークンを消費します。数個のツールしか必要ない場合、これは貴重なコンテキストウィンドウのスペースを無駄にします。

解決策: ツールフィルタリングを使用して、実際に使用するツールのみを有効にします。

ツールフィルタリングを有効にする方法

以下のいずれかを使用してツールをフィルタリングできます:

  1. コマンドライン引数 --include-tools

    {
      "mcpServers": {
        "google-sheets": {
          "command": "uvx",
          "args": [
            "mcp-google-sheets@latest",
            "--include-tools",
            "get_sheet_data,update_cells,list_spreadsheets,list_sheets"
          ],
          "env": {
            "SERVICE_ACCOUNT_PATH": "/path/to/credentials.json"
          }
        }
      }
    }
  2. 環境変数 ENABLED_TOOLS

    {
      "mcpServers": {
        "google-sheets": {
          "command": "uvx",
          "args": ["mcp-google-sheets@latest"],
          "env": {
            "SERVICE_ACCOUNT_PATH": "/path/to/credentials.json",
            "ENABLED_TOOLS": "get_sheet_data,update_cells,list_spreadsheets,list_sheets"
          }
        }
      }
    }

利用可能なツール名

フィルタリングする際は、以下の正確なツール名を使用してください(カンマ区切り、スペースなし):

最も一般的なツール(推奨サブセット):

  • get_sheet_data - スプレッドシートから読み取り

  • update_cells - スプレッドシートに書き込み

  • list_spreadsheets - スプレッドシートを検索

  • list_sheets - タブをナビゲート

利用可能な全ツール:

  • add_columns

  • add_rows

  • batch_update

  • batch_update_cells

  • copy_sheet

  • create_sheet

  • create_spreadsheet

  • find_in_spreadsheet

  • get_multiple_sheet_data

  • get_multiple_spreadsheet_summary

  • get_sheet_data

  • get_sheet_formulas

  • list_folders

  • list_sheets

  • list_spreadsheets

  • rename_sheet

  • search_spreadsheets

  • share_spreadsheet

  • update_cells

注: --include-toolsENABLED_TOOLS のどちらも指定しない場合、すべてのツールが有効になります(デフォルトの動作)。


🛠️ 利用可能なツールとリソース

このサーバーは、Google Sheetsと連携するための以下のツールを公開しています:

以下で使用されるIDの詳細については、IDリファレンスガイド を参照してください。

(入力パラメータは特に指定がない限り通常は文字列です)

  • list_spreadsheets: 設定されたDriveフォルダ(サービスアカウント)内、またはユーザーがアクセス可能な(OAuth)スプレッドシートを一覧表示します。

    • folder_id(任意の文字列): 検索するGoogle DriveフォルダID。URLから取得します。省略した場合、設定済みのデフォルトフォルダを使用するか、「マイドライブ」を検索します。

    • 戻り値: オブジェクトのリスト [{id: string, title: string}]

  • create_spreadsheet: 新しいスプレッドシートを作成します。

    • title(文字列): スプレッドシートの希望タイトル。例: "Quarterly Report Q4"。

    • folder_id(任意の文字列): スプレッドシートを作成するGoogle DriveフォルダID。URLから取得します。省略した場合、設定済みのデフォルトまたはルートを使用します。

    • 戻り値: spreadsheetIdtitlefolder を含むスプレッドシート情報のオブジェクト。

  • get_sheet_data: シート/タブの範囲からデータを読み取ります。

    • spreadsheet_id(文字列): スプレッドシートID(URLから取得)。

    • sheet(文字列): シート/タブの名前(例: "Sheet1")。

    • range(任意の文字列): A1記法(例: 'A1:C10''Sheet1!B2:D')。省略した場合、sheet で指定されたシート/タブ全体を読み取ります。

    • include_grid_data(任意のブール値、デフォルト False): True の場合、書式やメタデータを含む完全なグリッドデータを返します(はるかに大きい)。False の場合、値のみを返します(より効率的)。

    • 戻り値: include_grid_data=True の場合、メタデータ付きの完全なグリッドデータ(get レスポンス)。False の場合、Values API からの値結果オブジェクト(values.get レスポンス)。

  • get_sheet_formulas: シート/タブの範囲から数式を読み取ります。

    • spreadsheet_id(文字列): スプレッドシートID(URLから取得)。

    • sheet(文字列): シート/タブの名前(例: "Sheet1")。

    • range(任意の文字列): A1記法(例: 'A1:C10''Sheet1!B2:D')。省略した場合、sheet で指定されたシート/タブ内のすべての数式を読み取ります。

    • 戻り値: セル数式の2次元配列(配列の配列)(values.get レスポンス)。

  • update_cells: 特定の範囲にデータを書き込みます。既存のデータを上書きします。

    • spreadsheet_id(文字列): スプレッドシートID(URLから取得)。

    • sheet(文字列): シート/タブの名前(例: "Sheet1")。

    • range(文字列): 書き込むA1記法の範囲(例: 'A1:C3')。

    • data(配列の配列): 書き込む値の2次元配列。例: [[1, 2, 3], ["a", "b", "c"]]

    • 戻り値: 更新結果オブジェクト(values.update レスポンス)。

  • batch_update_cells: 1回のAPI呼び出しで複数の範囲を更新します。

    • spreadsheet_id(文字列): スプレッドシートID(URLから取得)。

    • sheet(文字列): シート/タブの名前(例: "Sheet1")。

    • ranges(オブジェクト): 範囲文字列(A1記法)を値の2次元配列にマッピングする辞書。例: { "A1:B2": [[1, 2], [3, 4]], "D5": [["Hello"]] }

    • 戻り値: 操作の結果(values.batchUpdate レスポンス)。

  • add_rows: 指定したインデックスにシート/タブへ空の行を追加(挿入)します。

    • spreadsheet_id(文字列): スプレッドシートID(URLから取得)。

    • sheet(文字列): シート/タブの名前(例: "Sheet1")。

    • count(整数): 挿入する空の行数。

    • start_row(任意の整数、デフォルト 0): 行の挿入を開始する0始まりの行インデックス。省略した場合、0(先頭に挿入)になります。

    • 戻り値: 操作の結果(batchUpdate レスポンス)。

  • list_sheets: スプレッドシート内のすべてのシート/タブ名を一覧表示します。

    • spreadsheet_id(文字列): スプレッドシートID(URLから取得)。

    • 戻り値: シート/タブ名の文字列リスト。例: ["Sheet1", "Sheet2"]

  • create_sheet: スプレッドシートに新しいシート/タブを追加します。

    • spreadsheet_id(文字列): スプレッドシートID(URLから取得)。

    • title(文字列): 新しいシート/タブの名前。

    • 戻り値: 新しいシートのプロパティオブジェクト。

  • get_multiple_sheet_data: 1回の呼び出しで、異なるスプレッドシートにまたがる複数の範囲からデータを取得します。

    • queries(オブジェクトの配列): 各オブジェクトには spreadsheet_idsheetrange が必要です。例: [{"spreadsheet_id": "abc", "sheet": "Sheet1", "range": "A1:B2"}, ...]

    • 戻り値: 各オブジェクトがクエリパラメータと取得した data または error を含むオブジェクトのリスト。各 datavalues.get レスポンス です。

  • get_multiple_spreadsheet_summary: 複数のスプレッドシートについて、タイトル、シート/タブ名、ヘッダー、最初の数行を取得します。

    • spreadsheet_ids(文字列の配列): スプレッドシートのID(URLから取得)。

    • rows_to_fetch(任意の整数、デフォルト 5): プレビューする行数(ヘッダーを含む)。例: 5

    • 戻り値: 各スプレッドシートのサマリーオブジェクトのリスト。

  • share_spreadsheet: 指定したユーザー/メールアドレスとロールでスプレッドシートを共有します。

    • spreadsheet_id(文字列): スプレッドシートID(URLから取得)。

    • recipients(オブジェクトの配列): [{"email_address": "user@example.com", "role": "writer"}, ...]。ロール: readercommenterwriter

    • send_notification(任意のブール値、デフォルト True): 受信者にメール通知を送信します。

    • 戻り値: successesfailures のリストを含む辞書。

  • add_columns: 指定したインデックスにシート/タブへ空の列を追加(挿入)します。

    • spreadsheet_id(文字列): スプレッドシートID(URLから取得)。

    • sheet(文字列): シート/タブの名前(例: "Sheet1")。

    • count(整数): 挿入する空の列数。

    • start_column(任意の整数、デフォルト 0): 挿入を開始する0始まりの列インデックス。省略した場合、0(先頭に挿入)になります。

    • 戻り値: 操作の結果(batchUpdate レスポンス)。

  • copy_sheet: あるスプレッドシートから別のスプレッドシートへシート/タブを複製し、必要に応じて名前を変更します。

    • src_spreadsheet(文字列): コピー元のスプレッドシートID(URLから取得)。

    • src_sheet(文字列): コピー元のシート/タブ名(例: "Sheet1")。

    • dst_spreadsheet(文字列): コピー先のスプレッドシートID(URLから取得)。

    • dst_sheet(文字列): コピー先スプレッドシートでの希望するシート/タブ名。

    • 戻り値: コピーおよび任意の名前変更操作の結果。

  • rename_sheet: 既存のシート/タブの名前を変更します。

    • spreadsheet(文字列): スプレッドシートID(URLから取得)。

    • sheet(文字列): 現在のシート/タブ名(例: "Sheet1")。

    • new_name(文字列): 新しいシート/タブ名(例: "Transactions")。

    • 戻り値: 操作の結果(batchUpdate レスポンス)。

  • add_chart: 指定したデータからGoogleスプレッドシートにグラフを作成します。

    • spreadsheet_id(文字列): スプレッドシートID(URLから取得)。

    • sheet(文字列): データを含むシート/タブの名前(例: "Sheet1")。

    • chart_type(文字列): 作成するグラフの種類。オプション: COLUMN(縦棒)、BAR(横棒)、LINEAREAPIESCATTERCOMBOHISTOGRAM

    • data_range(文字列): グラフデータのA1記法の範囲(例: "A1:C10")。最初の行はヘッダーとして扱われます。

    • title(任意の文字列): グラフのタイトル。

    • x_axis_label(任意の文字列): X軸(下軸)のラベル。円グラフには適用されません。

    • y_axis_label(任意の文字列): Y軸(左軸)のラベル。円グラフには適用されません。

    • position_x(任意の整数、デフォルト 0): 左上隅からの水平方向のオフセット(ピクセル単位)。

    • position_y(任意の整数、デフォルト 0): 左上隅からの垂直方向のオフセット(ピクセル単位)。

    • width(任意の整数、デフォルト 600): グラフの幅(ピクセル単位)。

    • height(任意の整数、デフォルト 400): グラフの高さ(ピクセル単位)。

    • 戻り値: 成功ステータス、グラフID、操作の詳細を含む結果オブジェクト。

MCPリソース:

  • spreadsheet://{spreadsheet_id}/info: Googleスプレッドシートに関する基本メタデータを取得します。

    • 戻り値: スプレッドシート情報を含むJSON文字列。


☁️ Google Cloud Platformのセットアップ(詳細)

このセットアップはサーバーを実行する前に必須です。

  1. GCPプロジェクトの作成/選択: Google Cloud Console に移動します。

  2. APIの有効化: 「APIとサービス」→「ライブラリ」に移動します。以下を検索して有効にします:

    • Google Sheets API

    • Google Drive API

  3. 認証情報の設定: 以下の認証方法から1つを選択する必要があります(サービスアカウントが推奨されます)。


🔑 認証と環境変数(詳細)

サーバーがGoogle APIにアクセスするには認証情報が必要です。1つの方法を選択してください:

以下のIDの詳細については、IDリファレンスガイド を参照してください。

方法A: サービスアカウント(サーバー/自動化に推奨)✅

  • 理由: ヘッドレス(ブラウザ不要)、安全、サーバー環境に最適。簡単に期限切れになりません。

  • 手順:

    1. サービスアカウントの作成: GCPコンソール →「IAMと管理」→「サービスアカウント」。

      • 「+ サービスアカウントを作成」をクリックします。名前を付けます(例: mcp-sheets-service)。

      • ロールを付与: 広範なアクセスには Editor ロールを追加するか、より厳格な権限にはより詳細なロール(roles/drive.file や特定のSheetsロールなど)を追加します。

      • 「完了」をクリックします。アカウントを見つけ、操作(⋮)→「鍵を管理」をクリックします。

      • 「鍵を追加」→「新しい鍵を作成」→ JSON →「作成」をクリックします。

      • JSONキーファイルをダウンロードして安全に保管します。

    2. Google Driveフォルダの作成と共有:

      • Google Drive でフォルダを作成します(例: "AI Managed Sheets")。

      • URLからフォルダIDをメモします: https://drive.google.com/drive/folders/THIS_IS_THE_FOLDER_ID

      • フォルダを右クリック→「共有」→「共有」。

      • サービスアカウントのメールアドレス(JSONファイルの client_email)を入力します。

      • 編集者アクセスを付与します。「ユーザーに通知」のチェックを外します。「共有」をクリックします。

    3. 環境変数の設定:

      • SERVICE_ACCOUNT_PATH: ダウンロードしたJSONキーファイルの完全なパス。

      • DRIVE_FOLDER_ID: 共有されたGoogle DriveフォルダのID。 (OS別の例についてはウルトラクイックスタートを参照してください)

方法B: OAuth 2.0(対話型 / 個人利用)🧑💻

  • 理由: 対話型のブラウザログインが問題ない個人利用やローカル開発向け。

  • 手順:

    1. OAuth同意画面の設定: GCPコンソール →「APIとサービス」→「OAuth同意画面」。「外部」を選択し、必要な情報を入力し、スコープ(.../auth/spreadsheets.../auth/drive)を追加し、必要に応じてテストユーザーを追加します。

    2. OAuthクライアントIDの作成: GCPコンソール →「APIとサービス」→「認証情報」。「+ 認証情報を作成」→「OAuthクライアントID」→ タイプ: デスクトップアプリ。名前を付けます。「作成」。JSONをダウンロードします。

    3. 環境変数の設定:

      • CREDENTIALS_PATH: ダウンロードしたOAuth認証情報JSONファイルのパス(デフォルト: credentials.json)。

      • TOKEN_PATH: 初回ログイン後にユーザーのリフレッシュトークンを保存するパス(デフォルト: token.json)。書き込み可能である必要があります。

方法C: 直接の認証情報注入(上級者向け)🔒

  • なぜ? Docker、Kubernetes、CI/CD などの環境で役立ちます。ファイルの管理が難しい一方、環境変数は簡単かつ安全に扱えます。ファイルシステムへのアクセスを回避できます。

  • どのように? 認証情報ファイルへのパスを指定する代わりに、ファイルの内容を Base64 でエンコードして、環境変数に直接指定します。

  • 手順:

    1. 認証情報の JSON ファイル(サービスアカウントキーまたは OAuth クライアント ID ファイル)を用意します。ここでは your_credentials.json と呼びます。

    2. Base64 文字列を生成します:

      • (Linux/macOS): base64 -w 0 your_credentials.json

      • (Windows PowerShell):

        $filePath = "C:\path\to\your_credentials.json"; # Use actual path
        $bytes = [System.IO.File]::ReadAllBytes($filePath);
        $base64 = [System.Convert]::ToBase64String($bytes);
        $base64 # Copy this output
      • (注意): 機密性の高い認証情報を信頼できないオンラインエンコーダーに貼り付けないでください。

    3. 環境変数を設定します:

      • CREDENTIALS_CONFIG:この変数に、生成した完全な Base64 文字列を設定します。

        # Example (Linux/macOS) - Use the actual string generated
        export CREDENTIALS_CONFIG="ewogICJ0eXBlIjogInNlcnZpY2VfYWNjb..."

方法 D:Application Default Credentials (ADC) 🌐

  • なぜ? Google Cloud 環境(GKE、Compute Engine、Cloud Run)や、gcloud auth application-default login を使用したローカル開発に最適です。明示的な認証情報ファイルは不要です。

  • どのように? Google の Application Default Credentials チェーンを使用して、複数のソースから自動的に認証情報を検出します。

  • ADC の検索順序:

    1. GOOGLE_APPLICATION_CREDENTIALS 環境変数(サービスアカウントキーへのパス)- Google の標準変数

    2. gcloud auth application-default login の認証情報(ローカル開発)

    3. メタデータサーバーからアタッチされたサービスアカウント(GKE、Compute Engine など)

  • セットアップ:

    • ローカル開発:

      1. gcloud auth application-default login --scopes=https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spreadsheets,https://www.googleapis.com/auth/drive を一度実行します

      2. 割り当てプロジェクトを設定します:gcloud auth application-default set-quota-project <project_id><project_id> を Google Cloud プロジェクト ID に置き換えます)

    • Google Cloud: コンピューティングリソースにサービスアカウントをアタッチします

    • 環境変数: GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json を設定します(Google の標準)

  • 追加の環境変数は不要です - 他の方法が失敗した場合、ADC が自動的にフォールバックとして使用されます。

注: GOOGLE_APPLICATION_CREDENTIALS は Google の公式標準環境変数であり、SERVICE_ACCOUNT_PATH はこの MCP サーバー固有のものです。GOOGLE_APPLICATION_CREDENTIALS を設定すると、ADC が自動的にそれを検出します。

認証の優先順位とサマリー

サーバーは次の順序で認証情報をチェックします:

  1. CREDENTIALS_CONFIG(Base64 コンテンツ)

  2. SERVICE_ACCOUNT_PATH(サービスアカウント JSON へのパス)

  3. CREDENTIALS_PATH(OAuth JSON へのパス)- トークンが存在しない/期限切れの場合、インタラクティブフローを開始します

  4. Application Default Credentials (ADC) - 自動フォールバック

環境変数のサマリー:

変数

メソッド

説明

デフォルト

SERVICE_ACCOUNT_PATH

サービスアカウント

サービスアカウント JSON キーファイルへのパス(MCP サーバー固有)。

-

GOOGLE_APPLICATION_CREDENTIALS

ADC

サービスアカウントキーへのパス(Google の標準変数)。

-

DRIVE_FOLDER_ID

サービスアカウント

サービスアカウントと共有されている Google Drive フォルダの ID。

-

CREDENTIALS_PATH

OAuth 2.0

OAuth 2.0 クライアント ID JSON ファイルへのパス。

credentials.json

TOKEN_PATH

OAuth 2.0

生成された OAuth トークンを保存するパス。

token.json

CREDENTIALS_CONFIG

サービスアカウント / OAuth 2.0

認証情報コンテンツの Base64 エンコードされた JSON 文字列。

-


⚙️ サーバーの実行(詳細)

以下で使用する ID の詳細については、ID リファレンスガイド を参照してください。

方法 1:uvx を使用(ユーザー向け推奨)

ウルトラクイックスタート で示したように、これが最も簡単な方法です。環境変数を設定してから実行します:

uvx mcp-google-sheets@latest

uvx がパッケージの取得と一時的な実行を処理します。

方法 2:開発用(リポジトリのクローン)

コードを変更したい場合:

  1. クローン: git clone https://github.com/yourusername/mcp-google-sheets.git && cd mcp-google-sheets(実際の URL を使用)

  2. 環境変数の設定: 上記のとおり。

  3. uv で実行:(ローカルコードを使用)

    uv run mcp-google-sheets
    # Or via the script name if defined in pyproject.toml, e.g.:
    # uv run start

方法 3:Docker(SSE トランスポート)

同梱の Dockerfile を使用してコンテナ内でサーバーを実行します:

# Build the image
docker build -t mcp-google-sheets .

# Run (SSE on port 8000)
# NOTE: Prefer CREDENTIALS_CONFIG (Base64 credentials content) in containers.
docker run --rm -p 8000:8000 ^
  -e HOST=0.0.0.0 ^
  -e PORT=8000 ^
  -e CREDENTIALS_CONFIG=YOUR_BASE64_CREDENTIALS ^
  -e DRIVE_FOLDER_ID=YOUR_DRIVE_FOLDER_ID ^
  mcp-google-sheets
  • Docker 内では SERVICE_ACCOUNT_PATH の代わりに CREDENTIALS_CONFIG を使用して、シークレットをファイルとしてマウントすることを避けます。

  • コンテナは --transport sse で起動し、HOST/PORT で待ち受けます。SSE トランスポートを使用して MCP クライアントを http://localhost:8000 に接続します。


🔌 Claude Desktop での使用

claude_desktop_config.jsonmcpServers にサーバー設定を追加します。セットアップに合ったブロックを選択してください:

以下で使用する ID の詳細については、ID リファレンスガイド を参照してください。

⚠️ 重要な注意事項:

  • 🍎 macOS ユーザー: "uvx" の代わりにフルパス "/Users/yourusername/.local/bin/uvx" を使用してください

{
  "mcpServers": {
    "google-sheets": {
      "command": "uvx",
      "args": ["mcp-google-sheets@latest"],
      "env": {
        "SERVICE_ACCOUNT_PATH": "/full/path/to/your/service-account-key.json",
        "DRIVE_FOLDER_ID": "your_shared_folder_id_here"
      }
    }
  }
}

🍎 macOS の注意: spawn uvx ENOENT エラーが発生した場合は、uvx へのフルパスを使用してください:

{
  "mcpServers": {
    "google-sheets": {
      "command": "/Users/yourusername/.local/bin/uvx",
      "args": ["mcp-google-sheets@latest"],
      "env": {
        "SERVICE_ACCOUNT_PATH": "/full/path/to/your/service-account-key.json",
        "DRIVE_FOLDER_ID": "your_shared_folder_id_here"
      }
    }
  }
}

yourusername を実際のユーザー名に置き換えてください。

{
  "mcpServers": {
    "google-sheets": {
      "command": "uvx",
      "args": ["mcp-google-sheets@latest"],
      "env": {
        "CREDENTIALS_PATH": "/full/path/to/your/credentials.json",
        "TOKEN_PATH": "/full/path/to/your/token.json"
      }
    }
  }
}

注:初回使用時に Google ログイン用のブラウザが開く場合があります。TOKEN_PATH が書き込み可能であることを確認してください。

🍎 macOS の注意: spawn uvx ENOENT エラーが発生した場合は、"command": "uvx""command": "/Users/yourusername/.local/bin/uvx" に置き換えてください(yourusername を実際のユーザー名に置き換えます)。

{
  "mcpServers": {
    "google-sheets": {
      "command": "uvx",
      "args": ["mcp-google-sheets@latest"],
      "env": {
        "CREDENTIALS_CONFIG": "ewogICJ0eXBlIjogInNlcnZpY2VfYWNjb3VudCIsCiAgInByb2plY3RfaWQiOiAi...",
        "DRIVE_FOLDER_ID": "your_shared_folder_id_here"
      }
    }
  }
}

注:CREDENTIALS_CONFIG には完全な Base64 文字列を貼り付けてください。サービスアカウントのフォルダコンテキストには DRIVE_FOLDER_ID が引き続き必要です。

🍎 macOS の注意: spawn uvx ENOENT エラーが発生した場合は、"command": "uvx""command": "/Users/yourusername/.local/bin/uvx" に置き換えてください(yourusername を実際のユーザー名に置き換えます)。

オプション 1:GOOGLE_APPLICATION_CREDENTIALS を使用

{
  "mcpServers": {
    "google-sheets": {
      "command": "uvx",
      "args": ["mcp-google-sheets@latest"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/service-account.json"
      }
    }
  }
}

オプション 2:gcloud auth を使用(環境変数不要)

{
  "mcpServers": {
    "google-sheets": {
      "command": "uvx",
      "args": ["mcp-google-sheets@latest"],
      "env": {}
    }
  }
}

前提条件:

  1. 最初に gcloud auth application-default login --scopes=https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spreadsheets,https://www.googleapis.com/auth/drive を実行します。

  2. 割り当てプロジェクトを設定:gcloud auth application-default set-quota-project <project_id>

🍎 macOS の注意: spawn uvx ENOENT エラーが発生した場合は、"command": "uvx""command": "/Users/yourusername/.local/bin/uvx" に置き換えてください(yourusername を実際のユーザー名に置き換えます)。

{
  "mcpServers": {
    "mcp-google-sheets-local": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/your/mcp-google-sheets",
        "mcp-google-sheets"
      ],
      "env": {
        "SERVICE_ACCOUNT_PATH": "/path/to/your/mcp-google-sheets/service_account.json",
        "DRIVE_FOLDER_ID": "your_drive_folder_id_here"
      }
    }
  }
}

注:--directory フラグを使用してプロジェクトパスを指定し、パスを実際のワークスペースの場所に合わせて調整してください。


💬 Claude 向けのプロンプト例

接続後、次のようなプロンプトを試してください:

  • 「アクセス権のあるすべてのスプレッドシートを一覧表示して。」(または「AI Managed Sheets フォルダ内の」)

  • 「'Quarterly Sales Report Q3 2024' というタイトルの新しいスプレッドシートを作成して。」

  • 「'Quarterly Sales Report' スプレッドシートの Sheet1 の範囲 A1 から E10 のデータを取得して。」

  • 「ID 1aBcDeFgHiJkLmNoPqRsTuVwXyZ のスプレッドシートに 'Summary' という名前の新しいシートを追加して。」

  • 「'Project Tasks' スプレッドシートの 'Tasks' シートで、セル B2 を 'In Progress' に更新して。」

  • 「スプレッドシート XYZ の 'Log' シートに次の行を追加して:[['2024-07-31', 'Task A Completed'], ['2024-08-01', 'Task B Started']]

  • 「'Sales Data' と 'Inventory Count' のスプレッドシートのサマリーを取得して。」

  • 「'Team Vacation Schedule' スプレッドシートを team@example.com には閲覧者として、manager@example.com には編集者として共有して。通知は送信しないで。」

  • 「'Sales Report' スプレッドシートに、範囲 A1:B13 のデータから月次売上を示す縦棒グラフを作成して。」

  • 「'Market Analysis' シートに、A1:B5 のデータを使用して 'Market Share by Product' というタイトルの円グラフを追加して。」

  • 「スプレッドシート abc123 の Sheet1 に、範囲 A1:C10 から 'Growth Trends' というタイトルと 'Month' と 'Revenue' というラベルで折れ線グラフを作成して。」


🆔 ID リファレンスガイド

ドキュメント全体で参照されているさまざまな ID を見つけるには、次のリファレンスガイドを使用してください:

Google Cloud Project ID:
  https://console.cloud.google.com/apis/dashboard?project=sheets-mcp-server-123456
                                                          └───── Project ID ─────┘

Google Drive Folder ID:
  https://drive.google.com/drive/u/0/folders/1xcRQCU9xrNVBPTeNzHqx4hrG7yR91WIa
                                             └────────── Folder ID ──────────┘

Google Sheets Spreadsheet ID:
  https://docs.google.com/spreadsheets/d/25_-_raTaKjaVxu9nJzA7-FCrNhnkd3cXC54BPAOXemI/edit
                                         └───────────── Spreadsheet ID ─────────────┘

🤝 コントリビューション

コントリビューションを歓迎します!バグや機能リクエストについては、issue を開いてください。プルリクエストも歓迎します。


📄 ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています - 詳細は LICENSE ファイルを参照してください。


🙏 クレジット

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Google Docs MCP Pack — read, create, and edit Google Docs via OAuth.

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PhucLe1107/mcp-google-sheet'

If you have feedback or need assistance with the MCP directory API, please join our Discord server