Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for Google Calendar integration with service account support and domain-wide delegation.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL, GCAL_SERVICE_ACCOUNT_PRIVATE_KEY, GCAL_IMPERSONATE_EMAIL, ENABLED_TOOLGROUPSค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"google-calendar": {
"command": "npx",
"args": [
"-y",
"google-calendar-workspace-mcp-server"
],
"env": {
"GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL": "ใส่ค่าของคุณ",
"GCAL_SERVICE_ACCOUNT_PRIVATE_KEY": "ใส่ค่าของคุณ",
"GCAL_IMPERSONATE_EMAIL": "ใส่ค่าของคุณ",
"ENABLED_TOOLGROUPS": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add google-calendar --env GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL='ใส่ค่าของคุณ' --env GCAL_SERVICE_ACCOUNT_PRIVATE_KEY='ใส่ค่าของคุณ' --env GCAL_IMPERSONATE_EMAIL='ใส่ค่าของคุณ' --env ENABLED_TOOLGROUPS='ใส่ค่าของคุณ' -- npx -y google-calendar-workspace-mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"google-calendar": {
"command": "npx",
"args": [
"-y",
"google-calendar-workspace-mcp-server"
],
"env": {
"GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL": "ใส่ค่าของคุณ",
"GCAL_SERVICE_ACCOUNT_PRIVATE_KEY": "ใส่ค่าของคุณ",
"GCAL_IMPERSONATE_EMAIL": "ใส่ค่าของคุณ",
"ENABLED_TOOLGROUPS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"google-calendar": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"google-calendar-workspace-mcp-server"
],
"env": {
"GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL": "ใส่ค่าของคุณ",
"GCAL_SERVICE_ACCOUNT_PRIVATE_KEY": "ใส่ค่าของคุณ",
"GCAL_IMPERSONATE_EMAIL": "ใส่ค่าของคุณ",
"ENABLED_TOOLGROUPS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ENABLED_TOOLGROUPS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน pulsemcp.com แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL, GCAL_SERVICE_ACCOUNT_PRIVATE_KEY, GCAL_IMPERSONATE_EMAIL
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.0.13) เข้า registry 5 เดือนที่ผ่านมา
โปรแกรมที่รองรับ 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An MCP (Model Context Protocol) server for Google Calendar integration using service account authentication with domain-wide delegation. This server enables AI assistants to interact with Google Calendar to list events, create events, manage calendars, and query availability.
https://www.googleapis.com/auth/calendar
Extract the following from your downloaded JSON key file:
client_email: The service account emailprivate_key: The private key (including [PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก])Set these environment variables:
export GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL="your-service-account@your-project.iam.gserviceaccount.com"
export GCAL_SERVICE_ACCOUNT_PRIVATE_KEY="[PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก]" export GCAL_IMPERSONATE_EMAIL="user@yourdomain.com"
Note: GCAL_IMPERSONATE_EMAIL should be the email address of the user whose calendar you want to access.
npx google-calendar-workspace-mcp-server
npm install -g google-calendar-workspace-mcp-server
google-calendar-workspace-mcp-server
Add this configuration to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": { "google-calendar": { "command": "npx", "args": ["google-calendar-workspace-mcp-server"], "env": { "GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL": "your-service-account@your-project.iam.gserviceaccount.com", "GCAL_SERVICE_ACCOUNT_PRIVATE_KEY": "[PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก]", "GCAL_IMPERSONATE_EMAIL": "user@yourdomain.com" } } } }
By default, all tools are enabled (read + write access). You can restrict the server to read-only operations by setting the ENABLED_TOOLGROUPS environment variable:
{
"mcpServers": { "google-calendar": { "command": "npx", "args": ["google-calendar-workspace-mcp-server"], "env": { "GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL": "...", "GCAL_SERVICE_ACCOUNT_PRIVATE_KEY": "...", "GCAL_IMPERSONATE_EMAIL": "...", "ENABLED_TOOLGROUPS": "readonly" } } } }
Available tool groups:
| Group | Tools Included |
|---|---|
readwrite | All 7 tools (read + write) - included by default |
readonly | Read-only tools: list_calendar_events, get_calendar_event, list_calendars, query_calendar_freebusy |
When using only readonly, the write tools (create_calendar_event, update_calendar_event, delete_calendar_event) are not available.
Lists events from a calendar within an optional time range.
Parameters:
calendar_id (optional): Calendar ID (default: "primary")time_min (optional): Start time in RFC3339 formattime_max (optional): End time in RFC3339 formatmax_results (optional): Maximum events to return (default: 10, max: 250)query (optional): Free text search querysingle_events (optional): Expand recurring events (default: true)order_by (optional): "startTime" or "updated"Example:
List my events for the next week
Retrieves detailed information about a specific event.
Parameters:
event_id (required): The event IDcalendar_id (optional): Calendar ID (default: "primary")Example:
Get details for event ID abc123
Creates a new calendar event.
Parameters:
summary (required): Event titlestart_datetime OR start_date (required): Event start timeend_datetime OR end_date (required): Event end timedescription (optional): Event descriptionlocation (optional): Event locationattendees (optional): Array of email addressescalendar_id (optional): Calendar ID (default: "primary")Example:
Create a meeting tomorrow at 2pm for 1 hour titled "Team Sync"
Updates an existing calendar event. Uses PATCH semantics - only the fields you provide will be updated; other fields remain unchanged.
Parameters:
event_id (required): The event ID to updatecalendar_id (optional): Calendar ID (default: "primary")summary (optional): New event titledescription (optional): New event descriptionlocation (optional): New event locationstart_datetime OR start_date (optional): New start timeend_datetime OR end_date (optional): New end timeattendees (optional): Updated array of attendee email addressessend_updates (optional): "all", "externalOnly", or "none" - whether to send update notificationsExample:
Update event abc123 to change the title to "Team Standup"
Deletes a calendar event.
Parameters:
event_id (required): The event ID to deletecalendar_id (optional): Calendar ID (default: "primary")send_updates (optional): "all", "externalOnly", or "none" - whether to send cancellation notificationsExample:
Delete event abc123
Lists all calendars available to the authenticated user.
Parameters:
max_results (optional): Maximum calendars to return (default: 50, max: 250)Example:
Show all my calendars
Queries availability information for calendars.
Parameters:
time_min (required): Start time in RFC3339 formattime_max (required): End time in RFC3339 formatcalendar_ids (required): Array of calendar IDs to checktimezone (optional): Time zone for the queryExample:
Check if I'm free tomorrow between 2pm and 4pm
# Install dependencies
npm run install-all
npm run build
npm run dev
npm test
npm run test:integration
npm run test:all
https://www.googleapis.com/auth/calendar) is granted in Google Workspace Admin Consolelist_calendars to discover available calendar IDsMIT
See CONTRIBUTING.md for guidelines.