auth/auth_info_middleware.py

Authentication

Supports OAuth 2.1 for multi-user browser flows (with a built-in CORS proxy) and OAuth 2.0 for single-user setups. Configure credentials via environment variables, .env, or client_secret.json.

OAuth 2.1 (multi-user)

Enable bearer-token auth for browser clients by setting MCP_ENABLE_OAUTH21=true; includes a CORS proxy to support web-based flows.

OAuth 2.0 (single-user)

Default mode; works with environment variables or a client_secret.json file.

gcalendar/calendar_tools.py

Google Calendar

List calendars, read events, and create or update meetings.

list_calendars

Return calendars available to the authenticated user.

get_events

Retrieve upcoming events in a time window.

Parameter Required Description
calendar_id No Defaults to primary
time_min No RFC3339 or YYYY-MM-DD
time_max No RFC3339 or YYYY-MM-DD
max_results No Default 25

create_event

Create a timed or all-day event.

Parameter Required Description
summary Yes Event title
start_time Yes RFC3339 or YYYY-MM-DD
end_time Yes RFC3339 or YYYY-MM-DD
calendar_id No Defaults to primary
description No Event body
location No Address or room
attendees No List of attendee emails
timezone No IANA name

modify_event

Update an existing event by ID.

Parameter Required Description
event_id Yes Target event ID
calendar_id No Defaults to primary
summary No New title
start_time No RFC3339 or YYYY-MM-DD
end_time No RFC3339 or YYYY-MM-DD
description No Update event body
location No Update location
attendees No List of attendee emails
timezone No IANA name

delete_event

Remove an event by ID.

Parameter Required Description
event_id Yes Target event ID
calendar_id No Defaults to primary

gdrive/drive_tools.py

Google Drive

Search, read, and create Drive files.

search_drive_files

Search files and folders.

Parameter Required Description
query Yes Drive query, e.g., name contains 'report'
max_results No Max items to return

get_drive_file_content

Fetch file contents; supports export formats.

Parameter Required Description
file_id Yes Drive file ID
mime_type No Export MIME type

list_drive_items

List folder contents or root.

Parameter Required Description
folder_id No Defaults to root
max_results No Max items to return

create_drive_file

Create a new file with text content.

Parameter Required Description
name Yes File name
content Yes Text content
folder_id No Parent folder ID
mime_type No Defaults to text/plain

gmail/gmail_tools.py

Gmail

Search, read, send, and label Gmail messages.

search_gmail_messages

Search messages; returns IDs and thread info.

Parameter Required Description
query Yes Gmail search string
page_size No Default 10

get_gmail_message_content

Retrieve a single message, including body.

Parameter Required Description
message_id Yes Message ID

get_gmail_messages_content_batch

Retrieve multiple messages in one request.

Parameter Required Description
message_ids Yes List of message IDs
format No full or metadata

get_gmail_thread_content

Retrieve a full conversation thread.

Parameter Required Description
thread_id Yes Thread ID

get_gmail_threads_content_batch

Retrieve content for multiple threads in one request.

Parameter Required Description
thread_ids Yes List of thread IDs

send_gmail_message

Send a new email or reply within a thread.

Parameter Required Description
to Yes Recipient
subject Yes Subject
body Yes Plain-text body
cc No CC recipient(s)
bcc No BCC recipient(s)
thread_id No Thread ID for replies
in_reply_to No Message-ID being replied to

draft_gmail_message

Create a draft message.

Parameter Required Description
to No Recipient
subject Yes Subject
body Yes Plain-text body
thread_id No Thread ID for replies

list_gmail_labels

List all labels in the account.

manage_gmail_label

Create, update, or delete a label.

Parameter Required Description
action Yes create | update | delete
name No Label name (for create)
label_id No Label ID (update/delete)

modify_gmail_message_labels

Add or remove labels on one message (remove INBOX to archive; add TRASH to delete).

Parameter Required Description
message_id Yes Message ID
add_label_ids No Labels to add
remove_label_ids No Labels to remove

batch_modify_gmail_message_labels

Add or remove labels across multiple messages.

Parameter Required Description
message_ids Yes Message IDs
add_label_ids No Labels to add
remove_label_ids No Labels to remove

gdocs/docs_tools.py

Google Docs

Search, read, create, and collaborate in Docs.

search_docs

Search Docs by name.

Parameter Required Description
query Yes Text to search in titles
page_size No Default 10

get_doc_content

Return plain text content of a Doc.

Parameter Required Description
document_id Yes Doc ID

list_docs_in_folder

List Docs within a Drive folder.

Parameter Required Description
folder_id No Defaults to root
page_size No Default 100

create_doc

Create a new Doc with optional starting content.

Parameter Required Description
title Yes Document title
content No Initial content

read_doc_comments

List comments on a Doc.

Parameter Required Description
document_id Yes Doc ID

create_doc_comment

Add a new comment.

Parameter Required Description
document_id Yes Doc ID
comment_content Yes Comment body

reply_to_comment

Reply to an existing comment thread.

Parameter Required Description
document_id Yes Doc ID
comment_id Yes Comment ID
reply_content Yes Reply text

resolve_comment

Resolve a comment thread.

Parameter Required Description
document_id Yes Doc ID
comment_id Yes Comment ID

gsheets/sheets_tools.py

Google Sheets

Read and write Sheets ranges, manage sheets, and create spreadsheets.

get_spreadsheet_info

Return spreadsheet metadata.

Parameter Required Description
spreadsheet_id Yes Spreadsheet ID

read_sheet_values

Read values from a range.

Parameter Required Description
spreadsheet_id Yes Spreadsheet ID
range Yes A1 notation, e.g., Sheet1!A1:C10

modify_sheet_values

Write values to a range.

Parameter Required Description
spreadsheet_id Yes Spreadsheet ID
range Yes A1 notation, e.g., Sheet1!A1:C10
values Yes 2D array of values
value_input_option No RAW or USER_ENTERED

create_spreadsheet

Create a new spreadsheet.

Parameter Required Description
title Yes Spreadsheet title
sheet_names No Optional sheet names to create

create_sheet

Add a sheet to an existing spreadsheet.

Parameter Required Description
spreadsheet_id Yes Spreadsheet ID
sheet_title Yes New sheet name

gslides/slides_tools.py

Google Slides

Create decks, add slides, and update slide content.

create_presentation

Create a presentation.

Parameter Required Description
title Yes Presentation title

get_presentation

Fetch presentation details and slides.

Parameter Required Description
presentation_id Yes Presentation ID

add_slide

Insert a slide with an optional layout.

Parameter Required Description
presentation_id Yes Presentation ID
layout No Layout type
insertion_index No Position for new slide

update_slide_content

Update text or elements on a slide.

Parameter Required Description
presentation_id Yes Presentation ID
slide_id Yes Slide ID
element_id Yes Element ID
new_content Yes Replacement content

gchat/chat_tools.py

Google Chat

List spaces, read history, and post messages.

list_spaces

List chat spaces or DMs.

Parameter Required Description
page_size No Default 100
space_type No all | room | dm

get_messages

Retrieve messages from a space.

Parameter Required Description
space_id Yes Space ID
page_size No Default 50
order_by No Default createTime desc

send_message

Send a message (optionally threaded).

Parameter Required Description
space_id Yes Space ID
message_text Yes Message body
thread_key No Thread key for replies

search_messages

Search across spaces or within one space.

Parameter Required Description
query Yes Search text
space_id No Limit to a space
page_size No Default 25

gforms/forms_tools.py

Google Forms

Create forms, adjust publish settings, and read responses.

create_form

Create a form with optional description and document title.

Parameter Required Description
title Yes Form title
description No Form description
document_title No Browser tab title

get_form

Retrieve form definition.

Parameter Required Description
form_id Yes Form ID

set_publish_settings

Control template publishing and authentication requirements.

Parameter Required Description
form_id Yes Form ID
publish_as_template No Whether to publish as template
require_authentication No Require sign-in

list_form_responses

List responses with pagination.

Parameter Required Description
form_id Yes Form ID
page_size No Max responses to return
page_token No Pagination token

get_form_response

Retrieve a single response.

Parameter Required Description
form_id Yes Form ID
response_id Yes Response ID

gtasks/tasks_tools.py

Google Tasks

Manage task lists, items, and hierarchy.

list_task_lists

List task lists.

Parameter Required Description
max_results No Max lists to return
page_token No Pagination token

get_task_list

Get a task list by ID.

Parameter Required Description
task_list_id Yes Task list ID

create_task_list

Create a new task list.

Parameter Required Description
title Yes List title

update_task_list

Rename a task list.

Parameter Required Description
task_list_id Yes Task list ID
title Yes New title

delete_task_list

Delete a task list.

Parameter Required Description
task_list_id Yes Task list ID

list_tasks

List tasks within a list.

Parameter Required Description
task_list_id Yes Task list ID
max_results No Max tasks to return
page_token No Pagination token
show_completed No Include completed tasks

get_task

Retrieve a single task.

Parameter Required Description
task_list_id Yes Task list ID
task_id Yes Task ID

create_task

Create a task with optional due date and notes.

Parameter Required Description
task_list_id Yes Task list ID
title Yes Task title
notes No Task notes
due No RFC3339 due date

update_task

Update title, status, or metadata.

Parameter Required Description
task_list_id Yes Task list ID
task_id Yes Task ID
title No New title
status No needsAction | completed

delete_task

Delete a task.

Parameter Required Description
task_list_id Yes Task list ID
task_id Yes Task ID

move_task

Move a task or change its parent.

Parameter Required Description
task_list_id Yes Source list ID
task_id Yes Task ID
parent No New parent task ID
destination_task_list No Destination list ID

clear_completed_tasks

Remove completed tasks from a list.

Parameter Required Description
task_list_id Yes Task list ID