MCP server for the Google Apps Script API — create script projects, read and update code files, manage versions and deployments, run functions and inspect executions. For Claude, Cursor, Codex and oth
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add google-apps-script --env GOOGLE_APPS_SCRIPT_CLIENT_SECRET='<GOOGLE_APPS_SCRIPT_CLIENT_SECRET>' --env GOOGLE_APPS_SCRIPT_REFRESH_TOKEN='<GOOGLE_APPS_SCRIPT_REFRESH_TOKEN>' --env GOOGLE_APPS_SCRIPT_ACCESS_TOKEN='<GOOGLE_APPS_SCRIPT_ACCESS_TOKEN>' -- npx -y mcp-google-apps-script~/.codex/config.toml
[mcp_servers.google-apps-script]
command = "npx"
args = ["-y", "mcp-google-apps-script"]
env = { GOOGLE_APPS_SCRIPT_CLIENT_SECRET = "<GOOGLE_APPS_SCRIPT_CLIENT_SECRET>", GOOGLE_APPS_SCRIPT_REFRESH_TOKEN = "<GOOGLE_APPS_SCRIPT_REFRESH_TOKEN>", GOOGLE_APPS_SCRIPT_ACCESS_TOKEN = "<GOOGLE_APPS_SCRIPT_ACCESS_TOKEN>" }
# codex mcp add google-apps-script --env GOOGLE_APPS_SCRIPT_CLIENT_SECRET='<GOOGLE_APPS_SCRIPT_CLIENT_SECRET>' --env GOOGLE_APPS_SCRIPT_REFRESH_TOKEN='<GOOGLE_APPS_SCRIPT_REFRESH_TOKEN>' --env GOOGLE_APPS_SCRIPT_ACCESS_TOKEN='<GOOGLE_APPS_SCRIPT_ACCESS_TOKEN>' -- npx -y mcp-google-apps-script~/.cursor/mcp.json
{
"mcpServers": {
"google-apps-script": {
"command": "npx",
"args": [
"-y",
"mcp-google-apps-script"
],
"env": {
"GOOGLE_APPS_SCRIPT_CLIENT_SECRET": "<GOOGLE_APPS_SCRIPT_CLIENT_SECRET>",
"GOOGLE_APPS_SCRIPT_REFRESH_TOKEN": "<GOOGLE_APPS_SCRIPT_REFRESH_TOKEN>",
"GOOGLE_APPS_SCRIPT_ACCESS_TOKEN": "<GOOGLE_APPS_SCRIPT_ACCESS_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"google-apps-script": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-google-apps-script"
],
"env": {
"GOOGLE_APPS_SCRIPT_CLIENT_SECRET": "<GOOGLE_APPS_SCRIPT_CLIENT_SECRET>",
"GOOGLE_APPS_SCRIPT_REFRESH_TOKEN": "<GOOGLE_APPS_SCRIPT_REFRESH_TOKEN>",
"GOOGLE_APPS_SCRIPT_ACCESS_TOKEN": "<GOOGLE_APPS_SCRIPT_ACCESS_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"google-apps-script": {
"command": "npx",
"args": [
"-y",
"mcp-google-apps-script"
],
"env": {
"GOOGLE_APPS_SCRIPT_CLIENT_SECRET": "<GOOGLE_APPS_SCRIPT_CLIENT_SECRET>",
"GOOGLE_APPS_SCRIPT_REFRESH_TOKEN": "<GOOGLE_APPS_SCRIPT_REFRESH_TOKEN>",
"GOOGLE_APPS_SCRIPT_ACCESS_TOKEN": "<GOOGLE_APPS_SCRIPT_ACCESS_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"google-apps-script": {
"command": "npx",
"args": [
"-y",
"mcp-google-apps-script"
],
"env": {
"GOOGLE_APPS_SCRIPT_CLIENT_SECRET": "<GOOGLE_APPS_SCRIPT_CLIENT_SECRET>",
"GOOGLE_APPS_SCRIPT_REFRESH_TOKEN": "<GOOGLE_APPS_SCRIPT_REFRESH_TOKEN>",
"GOOGLE_APPS_SCRIPT_ACCESS_TOKEN": "<GOOGLE_APPS_SCRIPT_ACCESS_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"google-apps-script": {
"command": "npx",
"args": [
"-y",
"mcp-google-apps-script"
],
"env": {
"GOOGLE_APPS_SCRIPT_CLIENT_SECRET": "<GOOGLE_APPS_SCRIPT_CLIENT_SECRET>",
"GOOGLE_APPS_SCRIPT_REFRESH_TOKEN": "<GOOGLE_APPS_SCRIPT_REFRESH_TOKEN>",
"GOOGLE_APPS_SCRIPT_ACCESS_TOKEN": "<GOOGLE_APPS_SCRIPT_ACCESS_TOKEN>"
}
}
}
}Environment variables
GOOGLE_APPS_SCRIPT_CLIENT_SECRETGOOGLE_APPS_SCRIPT_REFRESH_TOKENGOOGLE_APPS_SCRIPT_ACCESS_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.