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

March 10, 2025 · View on GitHub

MCPの仕様に準じ、指定されたGoogleスプレッドシートの内容を取得する

前提条件

  • Google Cloud Platform プロジェクトの作成: まだ作成していない場合、Google Cloud Platform (GCP) でプロジェクトを作成します。
  • Google Sheets API の有効化: GCP コンソールで、作成したプロジェクトの Google Sheets API を有効にします。
  • サービスアカウントの作成: GCP コンソールで、サービスアカウントを作成し、JSON 形式の認証情報ファイルをダウンロードします。
  • スプレッドシートの共有設定: 読み込みたいスプレッドシートを、サービスアカウントのメールアドレスと共有します。編集権限は不要で、閲覧権限のみでOKです。

サーバーのインストール手順

pythonパッケージ管理ソフトであるuvをPCにインストール(入っていない場合)

 curl -LsSf https://astral.sh/uv/install.sh | sh

python環境構築

 uv python install 3.11.7
 uv python pin 3.11.7
 uv venv
 uv init
 source .venv/bin/activate

必要なpythonモジュールのインストール

 uv add -r requirements.txt

GCPの認証情報ファイル

GCPからダウンロードした認証情報ファイルをmain.pyと同じディレクトリに配置し、 そのファイル名を環境変数GCP_SERVICE_ACCOUNT_CREDENTIALS_FILEに設定する。
以下のように.envを編集する。

GOOGLE_SPREADSHEET_SCOPES=https://www.googleapis.com/auth/spreadsheets.readonly
GCP_SERVICE_ACCOUNT_CREDENTIALS_FILE=xxxxx.json <- ここにファイル名を設定

起動確認

 uv run main.py
 または
 mcp dev main.py # MCP Inspectorによる確認

これで正常に起動できていれば環境構築は成功してる。

MCPクライアント側の設定

(Claude等のMCPクライアント側の設定)

{
  "gspreadsheet_mcp": {
    "command": "path/to/your/uv",
    "args": [
      "--directory",
      "/path/to/your/gspreadsheet_mcp/",
      "run",
      "main.py"
    ]
  }
}
  • 本MCPがClaude等のMCPクライアントから正常に使えるかどうかの確認は、クライアントソフトごとに異なる。
  • commandはMacの場合は/Users/ユーザー名/.local/bin/uv
  • --derectoryのパスは本プログラムをインストールしたディレクトリのパス

Claudeの設定(参考)

{
  "mcpServers": {
    "gspreadsheet_mcp": {
      "command": "/path/to/your/uv",
      "args": [
        "--directory",
        "/path/to/your/gspreadsheet_mcp/",
        "run",
        "main.py"
      ]
    }
  }
}