mcpField
M
MCP Server for Google Spreadsheets

MCP Server for Google Spreadsheets

ローカル
github.com/HosakaKeigo生産性279 週間前に更新

MCP Server for Google Spreadsheets について

Google Spreadsheets MCP サーバーは、AI アシスタントによるスプレッドシートデータの取得と編集を可能にします。Google Cloud Application Default Credentials を使い、シートの読み取り、セルの更新、新規シートの追加に対応します。

主な機能

  1. 01シートとメタデータの一覧取得
  2. 02指定範囲の値の読み取り
  3. 03単一または複数範囲の更新
  4. 04指定サイズでのシート追加

活用シーン

  1. 01シート名とサイズの確認
  2. 02指定範囲のデータ取得
  3. 03一つ以上の範囲への値の書き込み
  4. 04新たな計画用シートの作成

MCP 対応

接続したクライアント向けに、Google Spreadsheets の操作を MCP ツールとして提供します。標準入出力でクライアントと通信します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Google スプレッドシート用 MCP サーバー

Google スプレッドシートと連携し、AI アシスタントがスプレッドシートのデータを取得および変更できるようにする、Model Context Protocol(MCP)サーバーの実装です。このサーバーを使うと、Claude が Google スプレッドシートのデータを直接操作できます。

デモ

Claude で Google スプレッドシートを使用するデモ

機能

このサーバーでは、Google スプレッドシートを操作するために次のツールを利用できます。

  • get_sheets:名前、サイズ、ID など、Google スプレッドシート内のすべてのシート情報を取得します
  • get_sheet_values:範囲を指定して、特定のシートの値を取得します
  • update_cells:シート内の特定のセル範囲の値を更新します
  • batch_update_cells:1 回の操作で、異なるシートにまたがる複数の範囲を更新します
  • add_sheet:サイズを指定して、既存のスプレッドシートに新しいシートを追加します

前提条件

  • Node.js(v18 以降)
  • Google Sheets API を有効にした Google Cloud プロジェクト
  • Google Cloud 認証情報
  • Claude Desktop(Claude との連携に使用)

インストール

  1. このリポジトリをクローンします:

    git clone https://github.com/yourusername/mcp-server-spreadsheet.git
    cd mcp-server-spreadsheet
    
  2. 依存関係をインストールします:

    pnpm install
    

認証の設定

このサーバーでは、Google スプレッドシートへのアクセスに Google Cloud の Application Default Credentials を使用して認証します。

  1. まだインストールしていない場合は、Google Cloud CLI をインストールします
  2. ログインして、Google スプレッドシートへのアクセスを許可します:
    gcloud auth application-default login --scopes=openid,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spreadsheets
    

ヒント

  • Google プロジェクトで Sheets API が有効になっていることを確認してください。
  • gcloud auth application-default login では --scopes オプションを忘れずに指定してください。

ビルドと実行

  1. プロジェクトをビルドします:

    pnpm build
    
  2. サーバーを実行します:

    pnpm start
    

サーバーが起動し、標準入力/出力を介して MCP コマンドを待ち受けます。

Claude for Desktop との連携

このサーバーを Claude for Desktop で使用するには:

  1. Claude for Desktop がインストールされ、起動していることを確認します

  2. Claude for Desktop の設定ファイル(claude_desktop_config.json)にサーバーを追加します:

    {
      "mcpServers": {
        "spreadsheet": {
          "command": "node",
          "args": ["/absolute/path/to/mcp-server-spreadsheet/build/index.js"],
          "env": {
            "GOOGLE_PROJECT_ID": "your-google-project-id",
            "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/your/credentials.json"
          }
        }
      }
    }
    
  3. Claude for Desktop を再起動して、サーバーを読み込みます

使用例

Claude と連携すると、自然言語でスプレッドシートを操作できます。プロンプトの例を以下に示します。

スプレッドシート情報の取得
Could you tell me what sheets are in this spreadsheet? https://docs.google.com/spreadsheets/d/YOUR_SPREADSHEET_ID/edit
シートからのデータ取得
Please show me the data from the "Sales" sheet in this spreadsheet: https://docs.google.com/spreadsheets/d/YOUR_SPREADSHEET_ID/edit
データの更新
Update cells A1:B2 in the "Q1 Budget" sheet with these values: 
- Row 1: 1000, 2000
- Row 2: 3000, 4000
The spreadsheet URL is: https://docs.google.com/spreadsheets/d/YOUR_SPREADSHEET_ID/edit
新しいシートの追加
Please add a new sheet called "Q2 Planning" to this spreadsheet: https://docs.google.com/spreadsheets/d/YOUR_SPREADSHEET_ID/edit

利用可能なツール

get_sheets

スプレッドシート内のすべてのシートの情報を取得します。

パラメーター:

  • spreadsheetUrl:Google スプレッドシートの URL または ID
get_sheet_values

スプレッドシート内の特定のシートから値を取得します。

パラメーター:

  • spreadsheetUrl:Google スプレッドシートの URL または ID
  • sheetName:データを取得するシートの名前
  • range(任意):A1 形式のセル範囲(例:"A1:D5")
update_cells

特定のセル範囲の値を更新します。

パラメーター:

  • spreadsheetUrl:Google スプレッドシートの URL または ID
  • sheetName:更新するシートの名前
  • range:A1 形式のセル範囲(例:"A1:B2")
  • values:書き込む値の 2 次元配列(各内側の配列が 1 行を表します)
batch_update_cells

1 回の操作で、異なるシートにまたがる複数の範囲の値を更新します。

パラメーター:

  • spreadsheetUrl:Google スプレッドシートの URL または ID
  • updates:更新操作の配列。各操作には以下が含まれます:
    • sheetName:更新するシートの名前
    • range:A1 形式のセル範囲
    • values:書き込む値の 2 次元配列
add_sheet

既存のスプレッドシートに新しいシートを追加します。

パラメーター:

  • spreadsheetUrl:Google スプレッドシートの URL または ID
  • sheetTitle:新しいシートのタイトル
  • rowCount(任意):行数(デフォルト:1000)
  • columnCount(任意):列数(デフォルト:26)

開発

プロジェクト構成
  • src/index.ts:メインエントリーポイント
  • src/tools/:個々の MCP ツールの実装
  • src/utils/:ユーティリティ関数とサービス
  • src/types/:TypeScript の型定義
テストの実行
pnpm test
環境変数

プロジェクトのルートに .env ファイルを作成し、次の変数を設定できます。

# Optional: Override Google API credentials path
GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json

# Optional: Debug mode
DEBUG=true

トラブルシューティング

  • 認証エラー:認証情報が正しく設定されており、Google Cloud プロジェクトで Google Sheets API が有効になっていることを確認してください。
  • 権限エラー:アクセスしようとしているスプレッドシートへのアクセス権が、Google アカウントまたはサービスアカウントに付与されていることを確認してください。
  • サーバー接続:Claude for Desktop が MCP サーバーを起動するよう正しく設定されていることを確認してください。

ライセンス

MIT

コントリビューション

コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。