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"
]
}
}
}