Google Apps Script MCP Server

The escape hatch: write, deploy, and execute custom code across Workspace.

Apps Script is the escape hatch for everything the other eleven services don’t cover. An assistant can create a script project, write or update its source with update_script_content, and execute deployed functions with arguments via run_script_function — custom automation authored and invoked in the same conversation.

The operational tools matter just as much: create_version, list_versions, and manage_deployment handle the versioning lifecycle, generate_trigger_code scaffolds time-driven and event triggers, and list_script_processes and get_script_metrics show what ran, what failed, and how often.

What you can ask

  • “Write a script that snapshots the on-call sheet every Friday and deploy it”
  • “Run the syncInventory function against the staging spreadsheet”
  • “Which script executions failed this week, and why?”

All 15 Google Apps Script MCP tools

Expand any tool for its full parameter list. Tiers control how many tools the server registers: start lean with --tool-tier core and step up to extended or complete when a workflow needs more.

list_script_projects Core List available script projects. 2
ParameterDescription
page_size Number of results per page (default: 50).
page_token Token for pagination (optional).
get_script_project Core Retrieve full project structure and files. 1
ParameterDescription
script_id requiredThe script project ID.
get_script_content Core Read a script file from a project. 2
ParameterDescription
script_id requiredThe script project ID.
file_name requiredName of the file to retrieve.
create_script_project Core Create standalone or bound script projects. 2
ParameterDescription
title requiredProject title.
parent_id Optional Drive folder ID or bound container ID.
update_script_content Core Create or update script files. 2
ParameterDescription
script_id requiredThe script project ID.
files requiredList of file objects with name, type, and source.
run_script_function Core Execute deployed script functions with args. 4
ParameterDescription
script_id requiredThe script project ID.
function_name requiredName of function to execute.
parameters Optional list of parameters to pass.
dev_mode Whether to run latest code vs deployed version.
generate_trigger_code Core Generate Apps Script code for time-driven and event triggers. 3
ParameterDescription
trigger_type requiredThe kind of trigger to generate code for.
function_name requiredFunction the trigger should invoke.
schedule Schedule expression for time-driven triggers.
list_deployments Extended List deployments for a project. 1
ParameterDescription
script_id requiredThe script project ID.
manage_deployment Extended Create, update, or delete deployments. 5
ParameterDescription
action requiredAction to perform - "create", "update", or "delete".
script_id requiredThe script project ID.
deployment_id The deployment ID (required for update and delete).
description Deployment description (required for create and update).
version_description Optional version description (for create only).
list_versions Extended List saved versions of a script project. 1
ParameterDescription
script_id requiredThe script project ID.
create_version Extended Create an immutable version from the current project state. 2
ParameterDescription
script_id requiredThe script project ID.
description Optional version description.
get_version Extended Retrieve details for a specific version. 2
ParameterDescription
script_id requiredThe script project ID.
version_number requiredThe version number to retrieve.
delete_script_project Extended Permanently delete a script project (cannot be undone). 1
ParameterDescription
script_id requiredThe script project ID.
list_script_processes Extended Inspect recent executions and status. 2
ParameterDescription
page_size Number of results (default: 50).
script_id Optional filter by script ID.
get_script_metrics Extended Retrieve execution metrics for a script project. 2
ParameterDescription
script_id requiredThe script project ID.
metrics_granularity Granularity of metrics data (default: "DAILY").

Every service in one reference: full API documentation →

OAuth scopes

The server requests only the scopes for the services you enable. In read-only mode it requests just the readonly variants and skips registering write tools entirely.

  • script.projects create and edit script projects
  • script.deployments manage deployments and versions
  • script.processes inspect executions and status

Google Apps Script MCP questions

Can an assistant write a script and run it in the same session?
Yes, with one Apps Script platform caveat: run_script_function executes functions from a deployed script, so the flow is create or update the source, create a deployment with manage_deployment, then invoke. All three steps are tool calls the assistant can chain.
What are bound scripts, and are they supported?
create_script_project creates both standalone projects and scripts bound to a specific Doc, Sheet, or Form — bound scripts are how you add custom behavior to one particular document.
When should I reach for Apps Script instead of a native service?
When the other services don’t expose what you need: custom triggers, Workspace APIs the server doesn’t wrap, or multi-step server-side logic that should run on Google’s infrastructure rather than through a dozen round trips.