Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for Google Sheets API — read, write, format, batch operations.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"gsheets": {
"command": "npx",
"args": [
"-y",
"mcp-gsheets"
],
"env": {
"GOOGLE_PROJECT_ID": "ใส่ค่าของคุณ",
"GOOGLE_APPLICATION_CREDENTIALS": "ใส่ค่าของคุณ",
"GOOGLE_SERVICE_ACCOUNT_KEY": "ใส่ค่าของคุณ",
"GOOGLE_PRIVATE_KEY": "ใส่ค่าของคุณ",
"GOOGLE_CLIENT_EMAIL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add gsheets --env GOOGLE_PROJECT_ID='ใส่ค่าของคุณ' --env GOOGLE_APPLICATION_CREDENTIALS='ใส่ค่าของคุณ' --env GOOGLE_SERVICE_ACCOUNT_KEY='ใส่ค่าของคุณ' --env GOOGLE_PRIVATE_KEY='ใส่ค่าของคุณ' --env GOOGLE_CLIENT_EMAIL='ใส่ค่าของคุณ' -- npx -y mcp-gsheetsวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"gsheets": {
"command": "npx",
"args": [
"-y",
"mcp-gsheets"
],
"env": {
"GOOGLE_PROJECT_ID": "ใส่ค่าของคุณ",
"GOOGLE_APPLICATION_CREDENTIALS": "ใส่ค่าของคุณ",
"GOOGLE_SERVICE_ACCOUNT_KEY": "ใส่ค่าของคุณ",
"GOOGLE_PRIVATE_KEY": "ใส่ค่าของคุณ",
"GOOGLE_CLIENT_EMAIL": "ใส่ค่าของคุณ"
}
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"gsheets": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-gsheets"
],
"env": {
"GOOGLE_PROJECT_ID": "ใส่ค่าของคุณ",
"GOOGLE_APPLICATION_CREDENTIALS": "ใส่ค่าของคุณ",
"GOOGLE_SERVICE_ACCOUNT_KEY": "ใส่ค่าของคุณ",
"GOOGLE_PRIVATE_KEY": "ใส่ค่าของคุณ",
"GOOGLE_CLIENT_EMAIL": "ใส่ค่าของคุณ"
}
}
}
}GOOGLE_APPLICATION_CREDENTIALS envGOOGLE_CLIENT_EMAIL envค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 5 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub freema ซึ่งเป็นเจ้าของ repo
มีการแก้โค้ดล่าสุด 4 วันที่ผ่านมา
ใช้ MIT
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
ต้องอ่านรายการเครื่องมือของ server ก่อน จะเริ่มตรวจในขั้นถัดไป
เทียบเฉพาะ server ที่อยู่ในต้นแบบนี้ ไม่ใช่ทั้ง registry
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: GOOGLE_PROJECT_ID, GOOGLE_SERVICE_ACCOUNT_KEY, GOOGLE_PRIVATE_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด 4 วันที่ผ่านมา และส่งรุ่นล่าสุด (1.11.0) เข้า registry 11 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Agent-Native Google Calendar - manage events, sync, and public booking
ให้ AI สร้างและแก้ไฟล์ Excel ได้เอง ทั้งสูตร กราฟ และ PivotTable โดยไม่ต้องมีโปรแกรม Excel ในเครื่อง
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ 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 |
|