MCP Google Sheets Server について
MCP Google Sheets Serverは、MCPクライアントからGoogle Sheetsの読み取り、編集、管理を行うためのサーバーです。バッチ処理や書式設定、グラフ操作に対応し、ツールセットや読み取り専用モードも設定できます。
主な機能
- 01セル範囲の読み書き
- 02複数範囲の一括操作
- 03シート、行、列の管理
- 04書式と条件付きルールの設定
- 05グラフの作成と管理
- 06ツールセットや読み取り専用モードで機能を制限
活用シーン
- 01MCPワークフローで表データを読む
- 02行を一括更新または追加
- 03シートの書式や条件付きルールを設定
- 04使用可能なツールを読み取り専用に制限
MCP 対応
MCPクライアントに、データ操作、スプレッドシート管理、書式設定、グラフ作成などのGoogle Sheets機能を提供します。ツールセットと読み取り専用モードで利用可能な機能を制御できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y mcp-gsheetsGOOGLE_PROJECT_IDGoogle Cloud project IDGOOGLE_APPLICATION_CREDENTIALSシークレットPath to service account key JSON file (auth method 1)GOOGLE_SERVICE_ACCOUNT_KEYシークレットService account key as JSON string (auth method 2)GOOGLE_PRIVATE_KEYシークレットService account private key in PEM format (auth method 3)GOOGLE_CLIENT_EMAILService account email (auth method 3)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Google Sheets サーバー
Google Sheets API と連携する Model Context Protocol(MCP)サーバーです。MCP クライアント(Claude Code、Claude Desktop、Cursor など)から Google Sheets ドキュメントを直接読み取り、書き込み、管理できます。
主な機能
- Google Sheets との完全な連携:スプレッドシートの読み取り、書き込み、管理
- 高度な操作:一括操作、書式設定、グラフ、条件付き書式設定
- 柔軟な認証:ファイル形式と JSON 文字列形式の認証情報に対応
- 本番環境に対応:TypeScript で構築され、包括的なエラー処理と完全なテストカバレッジを備えています
必要条件
- Node.js v22 以降
- Sheets API が有効になっている Google Cloud プロジェクト
- JSON キーファイルを含むサービスアカウント
- npm
はじめに
クイックインストール(推奨)
以下の設定を MCP クライアントに追加します。
{
"mcpServers": {
"mcp-gsheets": {
"command": "npx",
"args": ["-y", "mcp-gsheets@latest"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
}
}
}
}
メモ
mcp-gsheets@latestを使用すると、MCP クライアントで MCP Google Sheets サーバーの最新バージョンを常に使用できます。
MCP クライアントの設定
Claude Code
Claude Code CLI を使用して MCP Google Sheets サーバーを追加します(ガイド):claude mcp add mcp-gsheets npx mcp-gsheets@latest
追加後、Claude Code の設定を編集して、必要な環境変数を追加します。
{
"mcpServers": {
"mcp-gsheets": {
"command": "npx",
"args": ["mcp-gsheets@latest"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
}
}
}
}
Claude Desktop
Claude Desktop の設定に追加します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-gsheets": {
"command": "npx",
"args": ["-y", "mcp-gsheets@latest"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
}
}
}
}
Cursor
Cursor Settings → MCP → New MCP Server に移動します。上記の設定を使用してください。
Cline
https://docs.cline.bot/mcp/configuring-mcp-servers に従い、上記の設定を使用してください。
その他の MCP クライアント
その他の MCP クライアントでは、上記の標準設定形式を使用してください。command に npx が設定されていることを確認し、Google Cloud 認証用の環境変数を含めてください。
Google Cloud のセットアップ
- Google Cloud Console にアクセスします
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
- Google Sheets API を有効にします。
- 「APIs & Services」→「Library」に移動します
- 「Google Sheets API」を検索し、「Enable」をクリックします
- サービスアカウントを作成します。
- 「APIs & Services」→「Credentials」に移動します
- 「Create Credentials」→「Service Account」をクリックします
- サービスアカウントの一覧で、
Actions列の三点リーダーをクリックし、Manage keys→Add key→Create new keyの順に選択して、JSON 形式を選択します - JSON キーファイルをダウンロードします
- スプレッドシートを共有します。
- Google Sheets を開きます
- 「Share」をクリックし、サービスアカウントのメールアドレス(JSON ファイル内に記載)を追加します
- 「Editor」権限を付与します
代替の認証方法
オプション 1:JSON 文字列による認証
認証情報にファイルパスを使う代わりに、サービスアカウントの認証情報を JSON 文字列として直接指定できます。コンテナ化された環境や CI/CD パイプラインでの使用、または認証情報ファイルの管理を避けたい場合に便利です。
{
"mcpServers": {
"mcp-gsheets": {
"command": "npx",
"args": ["-y", "mcp-gsheets@latest"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_SERVICE_ACCOUNT_KEY": "{\"type\":\"service_account\",\"project_id\":\"your-project\",\"private_key_id\":\"...\",\"private_key\":\"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\\n\",\"client_email\":\"[email protected]\",\"client_id\":\"...\",\"auth_uri\":\"https://accounts.google.com/o/oauth2/auth\",\"token_uri\":\"https://oauth2.googleapis.com/token\",\"auth_provider_x509_cert_url\":\"https://www.googleapis.com/oauth2/v1/certs\",\"client_x509_cert_url\":\"...\"}"
}
}
}
}
注記:GOOGLE_SERVICE_ACCOUNT_KEY を使用する場合:
- JSON 全体を 1 行に収める必要があります
- すべての引用符をバックスラッシュでエスケープする必要があります
- 秘密鍵の改行は
\\nとして表す必要があります - JSON に
project_idが含まれている場合、GOOGLE_PROJECT_IDは省略できます
オプション 2:秘密鍵による認証(簡易版)
最も使いやすい方法として、秘密鍵とメールアドレスだけを直接指定できます。最もシンプルな方法で、サービスアカウントの JSON に含まれる 2 つのフィールドだけが必要です。
{
"mcpServers": {
"mcp-gsheets": {
"command": "npx",
"args": ["-y", "mcp-gsheets@latest"],
"env": {
"GOOGLE_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCgR6bvMNOUHZ29\\n+YgbVHAXsT/s+L/jnXTCB193zikCzspSBSfxLu8VRDjkNq9WUoDxizTATzMFNvNf\\n...\\n-----END PRIVATE KEY-----\\n",
"GOOGLE_CLIENT_EMAIL": "[email protected]"
}
}
}
}
注記:GOOGLE_PRIVATE_KEY を使用する場合:
- 秘密鍵の改行は
\\nとして表します - 秘密鍵には
-----BEGIN PRIVATE KEY-----と-----END PRIVATE KEY-----のマーカーを含める必要があります - クライアントのメールアドレスには、JSON ファイルに記載されたサービスアカウントのメールアドレスを指定してください
- この方法では
GOOGLE_PROJECT_IDは省略可能です
ローカル開発環境のセットアップ
このプロジェクトの開発やコントリビュートを行う場合は、ローカルにクローンしてビルドできます。
# Clone the repository
git clone https://github.com/freema/mcp-gsheets.git
cd mcp-gsheets
# Install dependencies
npm install
# Build the project
npm run build
対話式セットアップスクリプト
対話式セットアップスクリプトを実行して、ローカルの MCP クライアントを設定します。
npm run setup
このスクリプトでは、以下を行います。
- 設定手順を案内します
- nvm を含め、Node.js のインストールを自動的に検出します
- Claude Desktop の設定を検索します
- 適切な JSON 設定を作成します
- 開発用の .env ファイルを任意で作成します
ローカルでの手動設定
ローカルビルドを使って手動で設定する場合は、MCP クライアントの設定に以下を追加します。
{
"mcpServers": {
"mcp-gsheets": {
"command": "node",
"args": ["/absolute/path/to/mcp-gsheets/dist/index.js"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
}
}
}
}
📦 ビルドと開発
開発用コマンド
# Development mode with hot reload
npm run dev
# Build for production
npm run build
# Type checking
npm run typecheck
# Clean build artifacts
npm run clean
# Run MCP inspector for debugging
npm run inspector
# Run MCP inspector in development mode
npm run inspector:dev
タスクランナー(代替方法)
Task がインストールされている場合:
# Install dependencies
task install
# Build the project
task build
# Run in development mode
task dev
# Run linter
task lint
# Format code
task fmt
# Run all checks
task check
開発環境のセットアップ
- テスト用の
.envファイルを作成します。
cp .env.example .env
# Edit .env with your credentials:
# GOOGLE_PROJECT_ID=your-project-id
# GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
# TEST_SPREADSHEET_ID=your-test-spreadsheet-id
- 開発モードで実行します。
npm run dev # Watch mode with auto-reload
🎚️ ツールセットでコンテキストコストを削減する
44 個すべてのツールを使用すると、モデルが何かを行う前に、各セッションで約 9,900 トークンのコンテキストを消費します。
多くのワークフローで必要なのは、その一部だけです。
GSHEETS_TOOLSETS を使うと、サーバーが公開するツールを制限できます。
{
"mcpServers": {
"gsheets": {
"command": "npx",
"args": ["mcp-gsheets"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/key.json",
"GSHEETS_TOOLSETS": "core,charts"
}
}
}
}
| ツールセット | ツール数 | 対応する機能 |
|---|---|---|
core | 11 | 値の読み取り/書き込み、メタデータ、シート構造、スプレッドシートの作成 |
sheets | 9 | シートのライフサイクル、行と列 |
formatting | 15 | 色、枠線、セル結合、条件付きルール、リンク、日付 |
charts | 3 | グラフの作成、更新、削除 |
tables | 4 | ネイティブテーブル |
analysis | 2 | シート全体のスナップショット、範囲の比較 |
測定された tools/list のコスト:
| 設定 | ツール数 | ≈ トークン数 |
|---|---|---|
| 未設定(デフォルト、すべてのツールセット) | 44 | 9,875 |
GSHEETS_TOOLSETS=core | 11 | 1,986 |
GSHEETS_TOOLSETS=core,sheets | 20 | 3,548 |
GSHEETS_READ_ONLY=true | 16 | 3,599 |
GSHEETS_TOOLSETS=core + 読み取り専用 | 6 | 912 |
注記:
- デフォルトの動作は変わりません —
GSHEETS_TOOLSETSを未設定のままにすると、これまでどおりすべてのツールが使用されます。 coreは常に含まれます。GSHEETS_TOOLSETS=chartsは「coreに加えてcharts」を意味し、「chartsのみ」ではありません。coreがなければ、サーバーはセルを読み取れません。- 入力ミスは起動エラーになります。ツール一覧が通知なく縮小されることはありません。
GSHEETS_READ_ONLY=trueを指定すると、書き込みツールがすべて除外されます。また、GSHEETS_TOOLSETSと組み合わせることもできます。この設定は一覧の作成時だけでなく、ツールの呼び出し時にも適用されるため、クライアントが非表示のツールを指定して書き込むことはできません。
すべてのツールには MCP アノテーション(readOnlyHint、destructiveHint、idempotentHint)も付与されるため、クライアントは読み取り時の確認プロンプトを省略し、破壊的な操作の前に警告できます。
📋 利用可能なツール
データの読み取り
| ツール | 説明 | 主なパラメーター |
|---|---|---|
sheets_get_values | 単一の範囲からセルの値を読み取ります | spreadsheetId、range(A1 表記)、valueRenderOption |
sheets_batch_get_values | 1 回のリクエストで複数の範囲からセルの値を読み取ります | spreadsheetId、ranges(A1 範囲の配列) |
sheets_get_metadata | スプレッドシートのメタデータを取得します:タイトル、ロケール、ID と行数・列数を含むシート一覧 | spreadsheetId |
sheets_check_access | サービスアカウントがスプレッドシートにアクセスできることを確認します | spreadsheetId |
データの書き込み
| ツール | 説明 | 主なパラメーター |
|---|---|---|
sheets_update_values | 単一の範囲に値を書き込みます(既存の内容を上書きします) | spreadsheetId、range、values(2 次元配列)、valueInputOption |
sheets_batch_update_values | 1 回のリクエストで複数の範囲に値を書き込みます | spreadsheetId、data({range, values} の配列)、valueInputOption |
sheets_append_values | 既存の表の最終行の後に行を追加します。insertDataOption のデフォルトは OVERWRITE です — 既存の行を下に移動するには INSERT_ROWS を設定してください | spreadsheetId、range、values、valueInputOption、insertDataOption |
sheets_clear_values | 範囲内のすべての値を消去します(書式は保持されます) | spreadsheetId、range |
sheets_insert_rows | 指定した位置に空白の行または値が入力済みの行を挿入します | spreadsheetId、range(基準位置)、rows、position(BEFORE/AFTER)、values |
sheets_delete_columns | 列全体を指定する A1 範囲を使用して、1 つ以上の列を削除します | spreadsheetId、range(例:Sheet1!B:D) |
sheets_delete_rows | 行全体を指定する A1 範囲を使用して、1 つ以上の行を削除します | spreadsheetId、range(例:Sheet1!2:4) |
sheets_insert_link | セルにハイパーリンクの数式を挿入します | spreadsheetId、range、url、label |
sheets_insert_date | 正しく書式設定された日付/日時の値をセルに挿入します | spreadsheetId、range、date、format |
シートの管理
| ツール | 説明 | 主なパラメーター |
|---|---|---|
sheets_create_spreadsheet | 新しい Google Sheets ファイルを作成します | title、sheets(任意の初期シート設定) |
sheets_insert_sheet | 既存のスプレッドシートに新しいシートタブを追加します | spreadsheetId、title、index |
sheets_delete_sheet | 数値のシート ID を指定してシートタブを削除します | spreadsheetId、sheetId |
sheets_duplicate_sheet | 同じスプレッドシート内でシートをコピーします | spreadsheetId、sheetId、newSheetName、insertSheetIndex |
sheets_copy_to | シートを別のスプレッドシートにコピーします | spreadsheetId、sheetId、destinationSpreadsheetId |
sheets_update_sheet_properties | シート名の変更、タブの色の変更、グリッド線の切り替えなどを行います | spreadsheetId、sheetId、properties |
sheets_batch_delete_sheets | 1 回のリクエストで複数のシートタブを削除します | spreadsheetId、sheetIds(配列) |
セルの書式設定
| ツール | 説明 | 主なパラメーター |
|---|---|---|
sheets_format_cells | 範囲に背景色、フォントスタイル、配置、数値形式を適用します | spreadsheetId、range、format |
sheets_batch_format_cells | 1 回のリクエストで複数の範囲に異なる書式を適用します | spreadsheetId、requests({range, format} の配列) |
sheets_update_borders | 範囲の罫線を設定または削除します(辺ごとにスタイル、幅、色を指定) | spreadsheetId、range、borders |
sheets_merge_cells | セルの範囲を結合します | spreadsheetId、range、mergeType(MERGE_ALL / MERGE_COLUMNS / MERGE_ROWS) |
sheets_unmerge_cells | 範囲内の結合済みセルを解除します | spreadsheetId、range |
sheets_add_conditional_formatting | 範囲に条件付き書式ルール(グラデーションまたはブール値)を追加します | spreadsheetId、range、rule |
ネイティブテーブル
| ツール | 説明 | 主なパラメーター |
|---|---|---|
sheets_add_table | 型付き列と任意のドロップダウン値を備えたネイティブの Google Sheets テーブルを作成します | spreadsheetId, sheetName, range, name, columns |
sheets_update_table | 明示的なフィールドマスクを使用して、テーブル ID で既存のネイティブ Google Sheets テーブルを更新します | spreadsheetId, tableId, fields, name, range, columns |
sheets_delete_table | テーブル ID でネイティブ Google Sheets テーブルを削除します | spreadsheetId, tableId |
sheets_get_tables | スプレッドシートまたは特定のシートのネイティブテーブルを読み取ります | spreadsheetId, sheetName |
グラフ
| ツール | 説明 | 主なパラメーター |
|---|---|---|
sheets_create_chart | シートに棒グラフ、折れ線グラフ、円グラフ、縦棒グラフなどを作成します | spreadsheetId, sheetId, chartSpec, position |
sheets_update_chart | 既存のグラフの仕様または位置を変更します | spreadsheetId, chartId, chartSpec, position |
sheets_delete_chart | スプレッドシートからグラフを削除します | spreadsheetId, chartId |
読み取り/スナップショットツール
| ツール | 説明 | 主なパラメーター |
|---|---|---|
sheets_get_merged_cells | A1 表記と生の GridRange 座標を含む、シート内のすべての結合セル範囲を返します | spreadsheetId, sheetName |
sheets_get_sheet_dimensions | すべての列と行について、列幅、行の高さ、固定された列/行の数、非表示フラグを返します | spreadsheetId, sheetName |
sheets_get_sheet_formatting | セルの値を返さずに、範囲内の生のセル書式(背景色、フォント、罫線、配置、数値形式)を読み取ります | spreadsheetId, range |
sheets_get_conditional_formatting | シートに定義されたすべての条件付き書式ルールと縞模様(交互の色)の範囲を読み取ります | spreadsheetId, sheetName |
sheets_get_sheet_structure | 構造メタデータのみを軽量に取得します(セルごとのデータは含みません)。寸法、固定された行/列、タブの色、列幅、行の高さ、非表示の列/行、A1 表記のすべての結合範囲を返します。単一の高速 API 呼び出しです | spreadsheetId, sheetName |
sheets_get_formatting_compact | 範囲のセル書式を読み取り、コンパクトな A1Range→format のペア(ランレングス符号化)として返します。隣接する同一セルは長方形の範囲にまとめられ、セルごとのデータと比べて出力を 90 %以上削減します | spreadsheetId, sheetName, range, useEffectiveFormat, fields |
sheets_get_full_sheet_snapshot | 一括取得用のツールです。すべての構造および書式メタデータ(結合範囲、寸法、条件付き書式、任意のセル書式)を単一の API 呼び出しで返します。fields フィルターと compactMode に対応し、レスポンスサイズを制限できます | spreadsheetId, sheetName, includeFormattingRange, fields, compactMode |
sheets_get_basic_filter | フィルター対象の範囲、並べ替え指定、列ごとのフィルター条件(非表示の値、条件、色フィルター)など、シートの基本フィルター(オートフィルター)設定を読み取ります | spreadsheetId, sheetName |
sheets_get_data_validation | シートまたは範囲のデータ検証ルール(チェックボックス、ドロップダウン、カスタム数式)を読み取ります。セル範囲ごとにグループ化された、一意のルールのコンパクトなランレングス符号化リストを返します | spreadsheetId, sheetName, range |
🔧 コード品質
リント
# Run ESLint
npm run lint
# Fix auto-fixable issues
npm run lint:fix
フォーマット
# Check formatting with Prettier
npm run format:check
# Format code
npm run format
型チェック
# Run TypeScript type checking
npm run typecheck
❗ トラブルシューティング
よくある問題
「Authentication failed」
- ファイルベースの認証を使用している場合:JSON キーのパスが絶対パスで正しいことを確認してください
- JSON 文字列による認証を使用している場合:JSON が適切にエスケープされ、有効であることを確認してください
- 秘密鍵認証を使用している場合:秘密鍵に BEGIN/END マーカーが含まれ、改行が
\\nとしてエスケープされていることを確認してください - GOOGLE_CLIENT_EMAIL が有効なサービスアカウントのメールアドレスであることを確認してください
- GOOGLE_PROJECT_ID がプロジェクトと一致していることを確認してください(または、完全な JSON 認証を使用する場合は JSON に含まれていることを確認してください)
- Sheets API が有効になっていることを確認してください
「Permission denied」
- スプレッドシートをサービスアカウントのメールアドレスと共有してください
- サービスアカウントには「Editor」ロールが必要です
- JSON ファイル内のメールアドレス(client_email フィールド)を確認してください
「Spreadsheet not found」
- URL からスプレッドシート ID を確認してください
- 形式:
https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/edit
MCP 接続の問題
- ビルド済みのバージョン(
dist/index.js)を使用していることを確認してください - Claude Desktop の設定で Node.js のパスが正しいことを確認してください
- Claude Desktop のログでエラーを確認してください
npm run inspectorを使用してデバッグしてください
🔍 ID の確認
スプレッドシート ID
URL から確認します:
https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit
↑ This is the spreadsheet ID
シート ID
sheets_get_metadata を使用して、すべてのシートとその ID を一覧表示します。
📝 ヒント
- 必ずデータのコピーでテストしてください
- パフォーマンスを向上させるには、バッチ操作を使用してください
- 適切な権限(読み取り専用または編集)を設定してください
- 大規模な操作ではレート制限を確認してください
- 操作前に
sheets_check_accessを使用して権限を確認してください
📘 ツールの詳細
sheets_get_sheet_structure
セルごとのデータを含めずに、シートの軽量な構造・寸法メタデータを返します。レイアウト情報だけが必要な場合は、sheets_get_full_sheet_snapshot よりもはるかに高速で、コストも低くなります。
パラメーター:
spreadsheetId(必須):スプレッドシートの IDsheetName(必須):シート(タブ)の名前
戻り値: sheetName、sheetId、sheetIndex、tabColor、tabColorStyle、dimensions(rowCount、columnCount)、frozen(rowCount、columnCount)、columnWidths(ピクセルサイズの配列)、rowHeights(ピクセルサイズの配列)、hiddenColumns(0 始まりのインデックス)、hiddenRows(0 始まりのインデックス)、mergeCount、merges(A1 表記の配列)
sheets_get_formatting_compact
範囲のセル書式を読み取り、コンパクトな A1Range → 書式のペアとして返します。書式が同一の隣接セルは矩形範囲にまとめられ、ランレングスエンコードされるため、セルごとのデータと比べて出力を 90%以上削減できます。
パラメーター:
spreadsheetId(必須):スプレッドシートの IDsheetName(必須):シート(タブ)の名前range(必須):シート接頭辞を含まない範囲。例:"A1:Z85"useEffectiveFormat(任意):false(デフォルト)= userEnteredFormat(明示的な上書きのみ。出力が小さくなります);true= effectiveFormat(継承されたデフォルトをすべて含みます)fields(任意):含める書式フィールド名の配列。例:["backgroundColor", "textFormat", "borders"]
戻り値: { range, formatType, rangeCount, data: { "A1:C3": { backgroundColor: {...} }, ... } }
対応フィールド: backgroundColor、backgroundColorStyle、textFormat、horizontalAlignment、verticalAlignment、wrapStrategy、textRotation、numberFormat、padding、borders
sheets_get_full_sheet_snapshot
1 回の API 呼び出しで、すべての構造および書式メタデータを返すマスター一括取得ツールです。
パラメーター:
spreadsheetId(必須):スプレッドシートの IDsheetName(必須):シート(タブ)の名前includeFormattingRange(任意):指定すると(例:"A1:Z100")、セルごとの書式がレスポンスに含まれますuseEffectiveFormat(任意):セルの書式を含める際に、userEnteredFormat の代わりに effectiveFormat を使用します(デフォルト:false)fields(任意):返す書式フィールド名の配列です。例:["backgroundColor", "textFormat"]。API の転送サイズとレスポンスサイズを削減しますcompactMode(任意):trueの場合、隣接する同一セルを矩形範囲にまとめます(RLE)。一般的な 85×28 のシートを約 60 000 行から約 500 行に削減します(デフォルト:false)
sheets_insert_rows
オプションでデータを指定して、スプレッドシートの特定の位置に新しい行を挿入します。
パラメーター:
spreadsheetId(必須):スプレッドシートの IDrange(必須):行を挿入する位置を示す A1 表記のアンカーポイント(例:"Sheet1!A5")rows(任意):挿入する行数(デフォルト:1)position(任意):アンカー行の「BEFORE」または「AFTER」(デフォルト:「BEFORE」)inheritFromBefore(任意):直前の行から書式を引き継ぐかどうか(デフォルト:false)values(任意):挿入した行に入力する値の 2 次元配列valueInputOption(任意):「RAW」または「USER_ENTERED」(デフォルト:「USER_ENTERED」)
例:
// Insert 1 empty row before row 5
{
"spreadsheetId": "your-spreadsheet-id",
"range": "Sheet1!A5"
}
// Insert 3 rows after row 10 with data
{
"spreadsheetId": "your-spreadsheet-id",
"range": "Sheet1!A10",
"rows": 3,
"position": "AFTER",
"values": [
["John", "Doe", "[email protected]"],
["Jane", "Smith", "[email protected]"],
["Bob", "Johnson", "[email protected]"]
]
}
sheets_delete_columns
列全体を指定する A1 範囲を使用して、シートから 1 列以上を削除します。
パラメーター:
spreadsheetId(必須):スプレッドシートの IDrange(必須):削除する列全体を指定する A1 範囲(例:"Sheet1!B:D" または "Sheet1!C:C")
例:
// Delete columns B through D from Sheet1
{
"spreadsheetId": "your-spreadsheet-id",
"range": "Sheet1!B:D"
}
// Delete a single column from the first sheet
{
"spreadsheetId": "your-spreadsheet-id",
"range": "C:C"
}
sheets_delete_rows
行全体を指定する A1 範囲を使用して、シートから 1 行以上を削除します。
パラメーター:
spreadsheetId(必須):スプレッドシートの IDrange(必須):削除する行全体を指定する A1 範囲(例:"Sheet1!2:4" または "Sheet1!3:3")
例:
// Delete rows 2 through 4 from Sheet1
{
"spreadsheetId": "your-spreadsheet-id",
"range": "Sheet1!2:4"
}
// Delete a single row from the first sheet
{
"spreadsheetId": "your-spreadsheet-id",
"range": "3:3"
}
📋 変更履歴
各バージョンの変更一覧は、CHANGELOG.md をご覧ください。
🤝 貢献
- リポジトリをフォークします
- フィーチャーブランチを作成します(
git checkout -b feature/amazing-feature) - テストとリンティングを実行します(
npm run check) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
👤 作者
Tomáš Grásl - tomasgrasl.cz
📄 ライセンス
このプロジェクトは MIT License のもとでライセンスされています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。