calendar_create_event
Create a new calendar event.
Twelve Google products — Gmail, Calendar, Drive, Docs, Sheets, Slides, Forms, Chat, Meet, Contacts, Tasks, YouTube — behind one desktop OAuth login.
LABSCO SUMMARY
Most Google servers pick a lane — mail, or calendar, or drive. This one covers twelve products with the same desktop OAuth client, so an agent can read a thread, find the file it mentions, book the follow-up and write the notes without a second login. The breadth costs you a Google Cloud project of your own: you enable the APIs and create the OAuth client before anything works.
One MCP server for a personal Google account, spanning twelve products: Calendar, Docs, Sheets, Slides, Drive, Gmail, Contacts, YouTube, Tasks, Forms, Chat and Meet. You authorise once as a desktop OAuth client and every service is reachable from the same session.
gmail_search, gmail_get_thread, gmail_send, gmail_reply, gmail_trash, plus label and read-state changescalendar_list_events, calendar_create_event, calendar_update_event, natural-language entry via calendar_quick_add, and availability from calendar_get_freebusydrive_search, drive_upload_file, drive_download_file, drive_move_file, drive_copy_file, drive_create_folderdocs_insert_text, docs_replace_text, sheets_read, sheets_update, sheets_append, slides_add_slide, slides_replace_textmeet_list_conference_records, meet_list_participants, meet_list_recordings, meet_get_transcript, meet_list_transcript_entriesforms_add_question and forms_list_responses; post and manage rooms with chat_send_message, chat_list_spaces, chat_add_membernotes_create, notes_list, notes_update sit on the Tasks API, because Google Keep has no official public APIA Google account plus your own Google Cloud project with the twelve APIs switched on, and a Desktop-app OAuth client whose downloaded JSON you save as credentials.json in the per-platform config directory (~/Library/Application Support/google-mcp on macOS, ~/.config/google-mcp on Linux, the roaming app-data folder on Windows). It is published on npm as @pegasusheavy/google-mcp (version 1.0.2, binary google-mcp) and runs with npx; the client configurations the project documents instead point node at a clone built with pnpm install and pnpm build. On first use call the google_auth tool once; the refreshable token is cached beside the credentials as tokens.json.
One command, then sign in — npx -y @pegasusheavy/google-mcp, then approve the OAuth sign-in
USE CASES
Read the thread, check when everyone is free, book the meeting and drop the agenda into a new document.
List the past conference records, pull the transcript text, and file the summary as a document in Drive.
Build the form with its questions, then read the responses back as they arrive.
Locate the sheet in Drive, read the range you care about, and append new rows to the end.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
calendar_create_eventCreate a new calendar event.
calendar_delete_eventDelete a calendar event.
calendar_getGet details of a specific calendar.
calendar_get_eventGet details of a specific calendar event.
calendar_get_freebusyGet free/busy information for calendars.
calendar_listList all calendars accessible by the user.
calendar_list_eventsList events from a calendar.
calendar_quick_addQuickly add an event using natural language (e.g., 'Meeting with John tomorrow at 3pm').
calendar_todayGet today's events from a calendar.
calendar_upcomingGet upcoming events for the next N days.
calendar_update_eventUpdate an existing calendar event.
chat_add_memberAdd a member to a Google Chat space.
chat_add_reactionAdd an emoji reaction to a message.
chat_create_spaceCreate a new Google Chat space.
chat_delete_messageDelete a message from Google Chat.
chat_delete_spaceDelete a Google Chat space.
chat_get_messageGet a specific message from Google Chat.
chat_get_spaceGet a Google Chat space by name.
chat_list_membersList members of a Google Chat space.
chat_list_messagesList messages in a Google Chat space.
chat_list_spacesList Google Chat spaces.
chat_remove_memberRemove a member from a Google Chat space.
chat_send_messageSend a message to a Google Chat space.
chat_update_messageUpdate a message in Google Chat.
contacts_createCreate a new contact.
contacts_deleteDelete a contact.
contacts_getGet a specific contact by resource name.
contacts_listList contacts from Google Contacts.
contacts_list_groupsList contact groups/labels.
contacts_searchSearch contacts by name or email.
docs_append_textAppend text to the end of a Google Doc.
docs_createCreate a new Google Doc.
docs_insert_textInsert text at a specific position in a Google Doc.
docs_listList all Google Docs in Drive.
docs_readRead the content of a Google Doc.
docs_replace_textFind and replace text in a Google Doc.
drive_copy_fileCopy a file in Google Drive.
drive_create_folderCreate a new folder in Google Drive.
drive_delete_fileDelete a file from Google Drive.
drive_download_fileDownload the contents of a file from Google Drive. For Google Workspace files (Docs, Sheets), exports as plain text/CSV.
drive_get_fileGet metadata for a specific file in Google Drive.
drive_list_filesList files in Google Drive. Can filter by folder or query.
drive_move_fileMove a file to a different folder.
drive_rename_fileRename a file in Google Drive.
drive_searchSearch for files in Google Drive by content or name.
drive_upload_fileUpload a new file to Google Drive.
forms_add_imageAdd an image to a form.
forms_add_page_breakAdd a page break to a form.
forms_add_questionAdd a question to a form.
forms_add_textAdd a text/description item to a form.
forms_add_videoAdd a YouTube video to a form.
forms_createCreate a new Google Form.
forms_delete_itemDelete an item from a form.
forms_getGet a Google Form by ID.
forms_get_responseGet a specific form response.
forms_list_responsesList responses to a form.
forms_update_infoUpdate form title and description.
gmail_get_messageGet a specific Gmail message by ID.
gmail_get_profileGet the user's Gmail profile information.
gmail_get_threadGet a full email thread/conversation.
gmail_get_unreadGet unread emails.
gmail_list_labelsList all Gmail labels.
gmail_list_messagesList Gmail messages with optional filtering.
gmail_mark_readMark a message as read.
gmail_mark_unreadMark a message as unread.
gmail_replyReply to an email message.
gmail_searchSearch emails using Gmail search syntax.
gmail_sendSend an email.
gmail_trashMove a message to trash.
google_authAuthenticate with Google. Call this first if other tools return authentication errors. This will provide a URL to authenticate with Google OAuth.
google_auth_codeSet the authorization code received from Google OAuth callback.
google_auth_statusCheck the current authentication status with Google.
google_logoutLog out from Google and remove stored tokens.
meet_create_instantCreate an instant Google Meet meeting.
meet_create_spaceCreate a new Google Meet meeting space.
meet_end_conferenceEnd an active conference in a Meet space.
meet_get_by_eventGet meeting details from a calendar event.
meet_get_conference_recordGet a specific conference record.
meet_get_recordingGet a specific recording.
meet_get_spaceGet a Google Meet space by name.
meet_get_transcriptGet a specific transcript.
meet_list_conference_recordsList past conference records.
meet_list_participantsList participants of a conference.
meet_list_recordingsList recordings of a conference.
meet_list_transcript_entriesList entries in a transcript.
meet_list_transcriptsList transcripts of a conference.
meet_list_upcomingList upcoming meetings from calendar.
meet_scheduleSchedule a Google Meet meeting via Calendar.
notes_createCreate a quick note (uses Tasks API with a 'Notes' list as Keep alternative).
notes_deleteDelete a note.
notes_listList all notes from the Notes task list.
notes_updateUpdate a note.
sheets_add_sheetAdd a new sheet to a spreadsheet.
sheets_appendAppend rows to a spreadsheet.
sheets_clearClear values from a spreadsheet range.
sheets_createCreate a new Google Spreadsheet.
sheets_delete_sheetDelete a sheet from a spreadsheet.
sheets_getGet spreadsheet metadata and sheet info.
sheets_listList all Google Spreadsheets in Drive.
sheets_readRead values from a spreadsheet range.
sheets_updateUpdate values in a spreadsheet range.
slides_add_imageAdd an image to a slide.
slides_add_slideAdd a new slide to a presentation.
slides_add_textAdd a text box to a slide.
slides_createCreate a new Google Slides presentation.
slides_delete_slideDelete a slide from a presentation.
slides_duplicate_slideDuplicate a slide.
slides_getGet a Google Slides presentation.
slides_listList all Google Slides presentations.
slides_replace_textFind and replace text in a presentation.
tasks_complete_taskMark a task as completed.
tasks_create_taskCreate a new task. Tasks can have notes, which makes them useful as simple notes (like Keep notes).
tasks_create_tasklistCreate a new task list.
tasks_delete_taskDelete a task.
tasks_delete_tasklistDelete a task list.
tasks_list_tasklistsList all task lists (similar to Keep labels/categories).
tasks_list_tasksList tasks in a task list.
tasks_update_taskUpdate an existing task.
youtube_get_channelGet details of a YouTube channel.
youtube_get_my_channelGet the authenticated user's YouTube channel.
youtube_get_playlist_itemsGet videos in a YouTube playlist.
youtube_get_videoGet details of a YouTube video.
youtube_get_video_commentsGet comments on a YouTube video.
youtube_list_liked_videosList videos liked by the user.
youtube_list_playlistsList the user's YouTube playlists.
youtube_list_subscriptionsList the user's YouTube subscriptions.
youtube_rate_videoLike, dislike, or remove rating from a video.
youtube_searchSearch YouTube for videos, channels, or playlists.
BEFORE YOU INSTALL
128 tools when we connected.
CONTEXT COST
Rated by the size of the 128 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx -y @pegasusheavy/google-mcpClone and build the server
git clone https://github.com/quinnjr/google-mcp.git
cd google-mcp
pnpm install
pnpm buildAdd this to your MCP settings configuration
<YOUR_PATH_TO_GOOGLE_MCP> is the folder you cloned into.
{
"mcpServers": {
"google": {
"command": "node",
"args": [
"<YOUR_PATH_TO_GOOGLE_MCP>/dist/index.js"
]
}
}
}