google-appscript-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for OAuth callback | 3001 |
| NODE_ENV | No | Node environment (development, production) | development |
| LOG_LEVEL | No | Logging level (debug, info, warn, error) | info |
| GOOGLE_APP_SCRIPT_API_CLIENT_ID | Yes | OAuth 2.0 Client ID from Google Cloud Console | |
| GOOGLE_APP_SCRIPT_API_CLIENT_SECRET | Yes | OAuth 2.0 Client Secret from Google Cloud Console |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| script_projects_deployments_deleteB | Delete a deployment of an Apps Script project. |
| script_projects_createB | Create a new Google Apps Script project. |
| script_projects_versions_createB | Creates a new version of a Google Apps Script project. |
| script_projects_deployments_createC | Creates a deployment of an Apps Script project. |
| script_projects_deployments_updateB | Updates a deployment of an Apps Script project. |
| script_projects_deployments_listB | Lists the deployments of an Apps Script project. |
| update_script_contentC | Updates the content of a specified Google Apps Script project. |
| script_projects_deployments_getB | Get a deployment of an Apps Script project. |
| script_runA | Run a function in a Google Apps Script project. The script must be deployed as an API executable and share the calling OAuth client's Cloud project. |
| script_projects_getA | Get metadata of a Google Apps Script project. OAuth authentication is handled automatically. |
| list_script_processesC | List information about a script's executed processes. |
| get_script_metricsC | Get metrics data for Google Apps Script projects. |
| script_projects_get_contentB | Get the content of a Google Apps Script project. |
| script_projects_versions_listB | List the versions of a Google Apps Script project. |
| script_projects_versions_getB | Get a version of a Google Apps Script project. |
| script_processes_listC | List processes for a Google Apps Script project. |
| publish_web_appA | Publish a Google Apps Script web app in one step: optionally update content, create a new version, and repoint an existing deployment to it (deployment URL stays stable). |
| get_web_app_urlA | Get the web app /exec URL(s) and access config for a script project's deployments. |
| list_script_projectsA | List or search the user's Google Apps Script projects (via Drive). Returns each project's scriptId and name. Use this to discover a scriptId when you don't already have one. Requires a Drive scope; re-run OAuth setup if it reports insufficient scopes. |
| recent_executionsA | List recent executions of an Apps Script project (function, status, start time, duration). Optionally filter to failures. Uses execution metadata — no extra scope, and does not include console.log output. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 20 tools
Several tools have overlapping purposes, especially 'list_script_processes' and 'script_processes_list', which appear to be duplicates with nearly identical descriptions. Additionally, 'recent_executions' overlaps with these process-listing tools, making it ambiguous which tool to use for execution history. The remaining tools are more distinct, but the confusion between these execution-related tools lowers the disambiguation score.
The tool names follow a mix of conventions: some use 'script_projects_{resource}_{action}' (e.g., script_projects_deployments_list), while others use verb-first names like 'list_script_projects' and 'update_script_content'. There are also inconsistent member names for similar operations, such as 'list_script_processes' vs. 'script_processes_list', and non-patterned names like 'publish_web_app' and 'recent_executions'. This lack of a consistent naming scheme makes it harder for an agent to predict tool names.
With 20 tools, the server covers a broad domain including project management, deployments, versions, execution monitoring, and publishing. While the count is on the heavier side, most tools serve distinct purposes, and the scope justifies the number. However, the presence of duplicate or near-duplicate process-listing tools suggests a few could be consolidated to trim the count.
The tool surface provides comprehensive CRUD coverage for projects, deployments, and versions, along with running and monitoring scripts. Essential operations are present, such as create/get/list/update/delete for deployments, create/list/get for versions, and script_run for execution. Minor gaps exist, such as no tool for updating project metadata or managing triggers, but core workflows are well covered.