Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
作者による説明(英語の原文)
MCP server for Google Sheets API — read, write, format, batch operations.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
GOOGLE_PROJECT_ID, GOOGLE_APPLICATION_CREDENTIALS, GOOGLE_SERVICE_ACCOUNT_KEY, GOOGLE_PRIVATE_KEY, GOOGLE_CLIENT_EMAIL「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"gsheets": {
"command": "npx",
"args": [
"-y",
"mcp-gsheets"
],
"env": {
"GOOGLE_PROJECT_ID": "your-value",
"GOOGLE_APPLICATION_CREDENTIALS": "your-value",
"GOOGLE_SERVICE_ACCOUNT_KEY": "your-value",
"GOOGLE_PRIVATE_KEY": "your-value",
"GOOGLE_CLIENT_EMAIL": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add gsheets --env GOOGLE_PROJECT_ID=your-value --env GOOGLE_APPLICATION_CREDENTIALS=your-value --env GOOGLE_SERVICE_ACCOUNT_KEY=your-value --env GOOGLE_PRIVATE_KEY=your-value --env GOOGLE_CLIENT_EMAIL=your-value -- npx -y mcp-gsheets動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"gsheets": {
"command": "npx",
"args": [
"-y",
"mcp-gsheets"
],
"env": {
"GOOGLE_PROJECT_ID": "your-value",
"GOOGLE_APPLICATION_CREDENTIALS": "your-value",
"GOOGLE_SERVICE_ACCOUNT_KEY": "your-value",
"GOOGLE_PRIVATE_KEY": "your-value",
"GOOGLE_CLIENT_EMAIL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"gsheets": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-gsheets"
],
"env": {
"GOOGLE_PROJECT_ID": "your-value",
"GOOGLE_APPLICATION_CREDENTIALS": "your-value",
"GOOGLE_SERVICE_ACCOUNT_KEY": "your-value",
"GOOGLE_PRIVATE_KEY": "your-value",
"GOOGLE_CLIENT_EMAIL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
GOOGLE_APPLICATION_CREDENTIALS envGOOGLE_CLIENT_EMAIL envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント freema で確認済みです
コードの最終更新:6 日前
MITを使用
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:GOOGLE_PROJECT_ID, GOOGLE_SERVICE_ACCOUNT_KEY, GOOGLE_PRIVATE_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は6 日前、最新バージョン(1.11.1)がレジストリに届いたのは今日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A Model Context Protocol (MCP) server for Google Sheets API integration. Enables reading, writing, and managing Google Sheets documents directly from your MCP client (e.g., Claude Code, Claude Desktop, Cursor, etc.).
Add the following config to your MCP client:
{
"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" } } } }
[!NOTE]
Using
mcp-gsheets@latestensures that your MCP client will always use the latest version of the MCP Google Sheets server.
Claude Code Use the Claude Code CLI to add the MCP Google Sheets server ( guide ):
claude mcp add mcp-gsheets npx mcp-gsheets@latest
After adding, edit your Claude Code config to add the required environment variables:
{
"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
Add to your Claude Desktop config:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.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
Go to Cursor Settings → MCP → New MCP Server. Use the config provided above.
Cline
Follow https://docs.cline.bot/mcp/configuring-mcp-servers and use the config provided above.
Other MCP Clients
For other MCP clients, use the standard configuration format shown above. Ensure the command is set to npx and include the environment variables for Google Cloud authentication.
Actions column → Manage keys → Add key → Create new key → select JSON formatInstead of using a file path for credentials, you can provide the service account credentials directly as a JSON string. This is useful for containerized environments, CI/CD pipelines, or when you want to avoid managing credential files.
{
"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\":\"[PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก]\\n\",\"client_email\":\"...@....iam.gserviceaccount.com\",\"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\":\"...\"}" } } } }
Note: When using GOOGLE_SERVICE_ACCOUNT_KEY:
\\nproject_id, you can omit GOOGLE_PROJECT_IDFor the most user-friendly approach, you can provide just the private key and email directly. This is the simplest method and requires only two fields from your service account JSON:
{
"mcpServers": { "mcp-gsheets": { "command": "npx", "args": ["-y", "mcp-gsheets@latest"], "env": { "GOOGLE_PRIVATE_KEY": "[PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก]\\n", "GOOGLE_CLIENT_EMAIL": "spreadsheet@your-project.iam.gserviceaccount.com" } } } }
Note: When using GOOGLE_PRIVATE_KEY:
\\n[PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก] markersGOOGLE_PROJECT_ID is optional when using this methodIf you want to develop or contribute to this project, you can clone and build it locally:
# Clone the repository
git clone https://github.com/freema/mcp-gsheets.git cd mcp-gsheets
npm install
npm run build
Run the interactive setup script to configure your local MCP client:
npm run setup
This will:
If you prefer manual configuration with a local build, add to your MCP client config:
{
"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
npm run build
npm run typecheck
npm run clean
npm run inspector
npm run inspector:dev
If you have Task installed:
# Install dependencies
task install
task build
task dev
task lint
task fmt
task check
.env file for testing:cp .env.example .env
npm run dev # Watch mode with auto-reload
All 44 tools together cost about 9,900 tokens of context in every session, before the model does anything. Most workflows need a fraction of that. GSHEETS_TOOLSETS limits which tools the server exposes:
{
"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" } } } }
| Toolset | Tools | What it covers |
|---|---|---|
core | 11 | Read/write values, metadata, sheet structure, create spreadsheet |
sheets | 9 | Sheet lifecycle, rows and columns |
formatting | 15 | Colours, borders, merges, conditional rules, links, dates |
charts | 3 | Create, update, delete charts |
tables | 4 | Native tables |
analysis | 2 | Full-sheet snapshot, range comparison |
Measured tools/list cost:
| Configuration | Tools | ≈ Tokens |
|---|---|---|
| _unset_ (default, all toolsets) | 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 + read-only | 6 | 912 |
Notes:
GSHEETS_TOOLSETS unset and you get every tool, exactly as before.GSHEETS_TOOLSETS=charts means "charts as well as core", not "charts only" — without core the server cannot read a cell.GSHEETS_READ_ONLY=true drops every writing tool and can be combined with GSHEETS_TOOLSETS. It is enforced when a tool is called, not just when the list is built, so a client cannot write by naming a hidden tool.All tools also carry MCP annotations (readOnlyHint, destructiveHint, idempotentHint), so clients can skip confirmation prompts on reads and warn before destructive operations.
| Tool | Description | Key Parameters |
|---|---|---|
sheets_get_values | Read cell values from a single range | spreadsheetId, range (A1 notation), valueRenderOption |
sheets_batch_get_values | Read cell values from multiple ranges in one request | spreadsheetId, ranges (array of A1 ranges) |
sheets_get_metadata | Get spreadsheet metadata: title, locale, sheets list with IDs, row/column counts | spreadsheetId |
sheets_check_access | Verify that the service account can access a spreadsheet | spreadsheetId |
| Tool | Description | Key Parameters |
|---|---|---|
sheets_update_values | Write values to a single range (overwrites existing content) | spreadsheetId, range, values (2D array), valueInputOption |
|