ToolsForMCPServer

Provides a GAS-based MCP server with ToolsForMCPServer for Gemini CLI to automate Google Workspace tasks.
  • javascript

80

GitHub Stars

javascript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

You can run ToolsForMCPServer as an MCP server to enable Gemini CLI and other clients to interact with Google Workspace services through a GAS-based Web App or a fast Node.js wrapper. This MCP server exposes a large set of pre-built tools for Gmail, Drive, Calendar, Docs, Sheets, Slides, and more, enabling automated, multi-step workflows within the Google ecosystem.

How to use

Configure your MCP client to connect to the GAS-based MCP server endpoints. The primary HTTP endpoint is the Google Apps Script Web App URL, which you deploy as a Web App and expose on the internet. You can also run a local Node.js wrapper to speed up startup time. Once connected, you can invoke any of the available tools through your MCP client, triggering automated actions across Google Workspace services such as generating documents, managing Drive files, or scheduling events.

Two connection patterns are shown for Gemini CLI integration. Use the HTTP Web App URL for a remote MCP server, or use a Node.js wrapper for faster startup. In both cases, you will authenticate with the Gemini API key when required by the tools.

How to install

Prerequisites: Node.js and npm installed on your system. You will also need a Google account to deploy the GAS Web App and enable Google Workspace APIs as needed by your tools.

Follow these concrete steps to set up the GAS-based MCP server and connect it to Gemini CLI.

  1. Create a Google Apps Script standalone project at script.google.com.

  2. Install Libraries in the Apps Script project to simplify MCP handling and provide ToolsForMCPServer tools.

  3. Copy and paste the sample script into your Apps Script project and save. Replace placeholders with your API key and desired model or calendar settings as needed.

  4. Deploy the script as a Web App that executes as you and is accessible by anyone with the URL. Copy the Web App URL for use in your client configuration.

  5. Verify deployment and test connectivity from your MCP client. If you modify the script, publish a new version of the Web App deployment.

Additional sections

Configuration options and tool usage are shown in inline code blocks within your client setup. The following two MCP server connection methods are explicitly shown for this setup.

{
  "type": "http",
  "name": "gas_web_apps",
  "url": "https://script.google.com/macros/s/###/exec?accessKey=sample",
  "args": []
}
{
  "type": "stdio",
  "name": "wrapped_gas_web_apps",
  "command": "node",
  "args": ["{your path}/wrapped_gas_web_apps.js"]
}

Available tools

add_label_to_Gmail

Add a label to Gmail messages.

analytics_admin_accountSummaries_list

List Google Analytics accounts accessible by the current user.

analytics_admin_properties_get

Get details of a Google Analytics property.

analytics_data_properties_runRealtimeReport

Run a real-time analytics report.

analytics_data_properties_runReport

Run a custom analytics report.

auto_new_draft_creation_Gmail

Automatically create drafts in Gmail.

auto_reply_draft_creation_Gmail

Automatically create reply drafts in Gmail.

change_permission_of_file_on_google_drive

Change permissions for a file on Google Drive.

classroom_courses_aliases_create

Create course aliases in Google Classroom.

classroom_courses_aliases_delete

Delete course aliases in Google Classroom.

classroom_courses_aliases_list

List course aliases in Google Classroom.

classroom_courses_announcements_create

Create Classroom announcements.

classroom_courses_announcements_delete

Delete Classroom announcements.

classroom_courses_announcements_get

Get Classroom announcements.

classroom_courses_announcements_list

List Classroom announcements.

classroom_courses_courseWork_create

Create Course Work in Classroom.

classroom_courses_courseWork_delete

Delete Course Work in Classroom.

classroom_courses_courseWork_get

Get Course Work in Classroom.

classroom_courses_courseWork_list

List Course Work in Classroom.

classroom_courses_courseWork_modifyAssignees

Modify assignees for Course Work.

classroom_courses_courseWork_patch

Patch Course Work in Classroom.

classroom_courses_courseWork_rubrics_create

Create rubrics for Course Work.

classroom_courses_courseWork_rubrics_delete

Delete rubrics for Course Work.

classroom_courses_courseWork_rubrics_get

Get rubrics for Course Work.

classroom_courses_courseWork_rubrics_list

List rubrics for Course Work.

classroom_courses_courseWork_rubrics_patch

Patch rubrics for Course Work.

classroom_courses_courseWork_studentSubmissions_get

Get student submissions for Course Work.

classroom_courses_courseWork_studentSubmissions_list

List student submissions for Course Work.

classroom_courses_courseWork_studentSubmissions_patch

Patch student submissions.

classroom_courses_courseWork_studentSubmissions_reclaim

Reclaim student submissions.

classroom_courses_courseWork_studentSubmissions_return

Return student submissions.

classroom_courses_courseWork_studentSubmissions_turnIn

Turn in student submissions.

classroom_courses_courseWorkMaterials_create

Create Course Work materials.

classroom_courses_courseWorkMaterials_delete

Delete Course Work materials.

classroom_courses_courseWorkMaterials_get

Get Course Work materials.

classroom_courses_courseWorkMaterials_list

List Course Work materials.

classroom_courses_courseWorkMaterials_patch

Patch Course Work materials.

classroom_courses_create

Create Classroom courses.

classroom_courses_get

Get Classroom courses.

classroom_courses_getGradingPeriodSettings

Get grading period settings for a course.

classroom_courses_list

List Classroom courses.

classroom_courses_patch

Patch Classroom courses.

classroom_courses_remove

Remove Classroom courses.

classroom_courses_students_create

Create students in a Classroom course.

classroom_courses_students_delete

Delete students from a Classroom course.

classroom_courses_students_get

Get a Classroom course student.

classroom_courses_students_list

List students in a Classroom course.

classroom_courses_teachers_create

Create teachers for a Classroom course.

classroom_courses_teachers_delete

Delete teachers from a Classroom course.

classroom_courses_teachers_get

Get a Classroom course teacher.

classroom_courses_teachers_list

List teachers in a Classroom course.

classroom_courses_topics_create

Create topics for a Classroom course.

classroom_courses_topics_delete

Delete topics from a Classroom course.

classroom_courses_topics_get

Get topics for a Classroom course.

classroom_courses_topics_list

List topics in a Classroom course.

classroom_courses_topics_patch

Patch topics in a Classroom course.

classroom_courses_update

Update Classroom courses.

classroom_courses_updateGradingPeriodSettings

Update grading period settings for a course.

classroom_invitations_accept

Accept Classroom invitations.

classroom_invitations_create

Create Classroom invitations.

classroom_invitations_get

Get Classroom invitations.

classroom_invitations_list

List Classroom invitations.

classroom_invitations_remove

Remove Classroom invitations.

classroom_registrations_create

Create Classroom registrations.

classroom_registrations_delete

Delete Classroom registrations.

classroom_userProfiles_get

Get Classroom user profiles.

classroom_userProfiles_guardianInvitations_create

Create guardian invitations for Classroom users.

classroom_userProfiles_guardianInvitations_get

Get guardian invitations for Classroom users.

classroom_userProfiles_guardianInvitations_list

List guardian invitations for Classroom users.

classroom_userProfiles_guardianInvitations_patch

Patch guardian invitations for Classroom users.

classroom_userProfiles_guardians_get

Get guardians for Classroom users.

classroom_userProfiles_guardians_list

List guardians for Classroom users.

classroom_userProfiles_guardians_remove

Remove guardians for Classroom users.

comments_drive_api_list

List comments on a Google Drive file.

comments_drive_api_remove

Remove a comment from Google Drive.

convert_mimetype_of_file_on_google_drive

Convert a file's MIME type on Google Drive.

create_chart_on_google_sheets

Create charts on Google Sheets.

create_charts_as_image_on_google_sheets

Create charts as images on Google Sheets.

create_document_body_in_google_docs

Create a Google Docs document body.

create_file_to_google_drive

Create a file in Google Drive.

create_google_docs_from_markdown_on_google_drive

Create Google Docs from Markdown in Drive.

create_schedule_on_Google_Calendar

Create schedules on Google Calendar.

delete_schedules_on_Google_Calendar

Delete schedules on Google Calendar.

description_video_on_youtube

Describe a YouTube video by URL.

description_web_site

Describe a website given its URL.

drive_activity_api_query

Query Drive activity.

explanation_analytics_data_properties_runRealtimeReport

Explain real-time Analytics property run.

explanation_analytics_data_properties_runReport

Explain Analytics property run report.

explanation_create_chart_by_google_sheets_api

Explain creating charts via Sheets API.

explanation_create_maps_url

Explain how to create a maps URL.

explanation_generate_google_apps_script

Explain generating GAS snippets.

explanation_manage_google_docs_using_docs_api

Explain managing Google Docs via Docs API.

explanation_manage_google_sheets_using_sheets_api

Explain managing Google Sheets via Sheets API.

explanation_manage_google_slides_using_slides_api

Explain managing Google Slides via Slides API.

explanation_reference_export_google_sheets_as_pdf

Explain exporting Sheets as PDF.

explanation_reference_generate_google_apps_script

Explain generating Google Apps Script.

explanation_search_file_in_google_drive

Explain searching files in Drive.

explanation_generate_google_apps_script

Explain generating Google Apps Script.

generate_description_on_google_drive

Generate and set a description for a Drive file.

generate_image_on_google_drive

Generate and save an image to Google Drive.

generate_presentation_with_google_slides

Create a Google Slides presentation.

generate_quiz_with_google_forms

Generate a Google Forms quiz.

generate_roadmap_to_google_sheets

Create a roadmap in Google Sheets.

generate_survey_with_google_forms

Generate a Google Forms survey.

get_attachment_files_from_Gmail

Retrieve attachments from Gmail messages.

get_charts_on_google_sheets

Retrieve charts from Google Sheets.

get_current_date_time

Get current date and time.

get_current_weather

Get current weather information.

get_exchange_rate

Get current exchange rates.

get_file_from_google_drive

Get a file from Google Drive.

get_google_doc_object_using_docs_api

Get Google Docs object via Docs API.

get_google_sheet_object_using_sheets_api

Get Google Sheets object via Sheets API.

get_google_slides_object_using_slides_api

Get Google Slides object via Slides API.

get_massages_by_search_from_Gmail

Get Gmail messages by search.

get_massages_by_time_from_Gmail

Get Gmail messages by time.

get_value_from_google_docs

Get value from Google Docs.

get_values_from_google_docs

Get values from Google Docs.

get_values_from_google_sheets

Get values from Google Sheets.

manage_google_docs_using_docs_api

Manage Google Docs via Docs API.

manage_google_sheets_using_sheets_api

Manage Google Sheets via Sheets API.

manage_google_slides_using_slides_api

Manage Google Slides via Slides API.

maps_get_route

Get route on Google Maps.

maps_convert_lat_lon_to_location

Convert coordinates to a Maps location.

maps_convert_location_to_lat_lon

Convert a location to latitude/longitude.

maps_create_map

Create a map in Maps.

put_file_to_google_drive

Upload or replace a file in Google Drive.

put_values_into_google_docs

Put values into Google Docs.

put_values_to_google_sheets

Put values into Google Sheets.

rename_files_on_google_drive

Rename files in Google Drive.

revisions_drive_api_list

List revisions of a Drive file.

search_file_in_google_drive

Search files in Google Drive.

search_schedule_on_Google_Calendar

Search schedules on Google Calendar.

search_values_from_google_sheets

Search values in Google Sheets.

summarize_file_on_google_drive

Summarize a Drive file.

update_chart_on_google_sheets

Update charts in Google Sheets.

update_schedule_on_Google_Calendar

Update a Google Calendar schedule.

getFileFromDrive

Alias placeholder for file retrieval.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational