MCP Google Sheets Server について
MCP Google Sheets Serverは、Google Sheetsの内容を確認・更新するクライアント向けの操作機能を提供します。シートの一覧表示とセル範囲の読み書きに対応し、Google Driveのファイル管理は行いません。
主な機能
- 01スプレッドシートのシート一覧
- 02セル範囲の読み取り
- 03セル範囲への書き込み
- 04スプレッドシート内容のみへのアクセス
活用シーン
- 01スプレッドシートのタブ構成の確認
- 02指定範囲の値の読み取り
- 03二次元の値リストによるセル更新
MCP 対応
Google Sheetsのシート一覧表示とセル範囲の読み書きを行うツールをMCPサーバーとして提供します。Google Driveのファイル管理機能はありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Google Sheets サーバー
このプロジェクトでは、Google Sheets を操作するための Model Context Protocol(MCP)サーバーを提供します。
次のツールを公開します。
- スプレッドシート内のシート(タブ)を一覧表示します。
- 指定したセル範囲のデータを読み取ります。
- 指定したセル範囲にデータを書き込みます。
Google Drive ファイルを管理するツール(フォルダーやファイルの一覧表示、作成、削除)は明示的に提供していません。アクセスはスプレッドシートの内容のみに制限されています。
前提条件
- Python 3.11+
- Google Sheets API が有効になっている Google Cloud プロジェクト
- サービスアカウントキー:
- Google Cloud Console にアクセスし、新しいサービスアカウントを作成します。
- サービスアカウントキーのファイルをダウンロードします(JSON 形式)。
- アクセスする Google Sheets に対して、このサービスアカウントに「編集者」ロールを付与します。
使用方法
-
リポジトリをクローンします。
git clone https://github.com/shionhonda/mcp-gsheet.git -
Google の認証情報を設定します:
GOOGLE_APPLICATION_CREDENTIALS環境変数に、ダウンロードしたサービスアカウント JSON キーファイルの_絶対パス_を設定します。
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-key.json"- または、Google Cloud クライアントライブラリが認識する標準の場所にキーファイルを配置することもできます(共有環境では推奨されません)。
-
依存関係をインストールします:
uv venv source .venv/bin/activate -
サーバーを実行します
MCP Inspector を使ってサーバーを開発するには:
mcp dev server.pyサーバーを実行するには:
mcp run server.pyサーバーが起動し、標準入力/出力(stdio)経由で MCP リクエストを待ち受けます。
Claude Desktop
以下を Claude Desktop の設定に追加します。
{
"mcpServers": {
"gsheet": {
"command": "/path/to/uv",
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json"
},
"args": ["--directory", "/path/to/mcp-gsheet", "run", "server.py"]
}
}
}
提供される MCP ツール
list_sheets(spreadsheet_id: str) -> list[str]:指定したスプレッドシート内のすべてのシート名を一覧表示します。read_cells(spreadsheet_id: str, range_name: str) -> list[list[str]]:指定した範囲(例:'Sheet1!A1:B5')のデータを読み取ります。write_cells(spreadsheet_id: str, range_name: str, values: list[list[str]]) -> str:指定した開始セル/範囲(例:'Sheet1!C1')に、指定した 2 次元の値リストを書き込みます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。