by tanaikech
A high-performance concurrent Google Drive CLI and native Model Context Protocol (MCP) Server for LLM/AI agents. Natively execute Google Apps Script (GAS) dynamically, recursive upload/download, and manage Drive infrastructure.
# Add to your Claude Code skills
git clone https://github.com/tanaikech/ggsrunGuides for using ai agents skills like ggsrun.
Last scanned: 6/1/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-06-01T09:27:21.276Z",
"npmAuditRan": true,
"pipAuditRan": true
}
ggsrun is an enterprise-grade CLI tool and MCP (Model Context Protocol) Server designed to relentlessly orchestrate Google Drive I/O operations and execute Google Apps Script (GAS) natively from a local terminal.
With the release of v5.1.1, ggsrun transcends its origins as a mere CLI tool. Built on Go 1.26.3+, the execution engine has been entirely rewritten from legacy serial processing into a channel-based, streaming concurrent architecture. It now serves as a high-performance, fault-tolerant I/O backend fully integrated with Omni-Drive (Shared Drives) support, advanced MIME resolution, secure redirect-following Auth logic, and a native MCP Server Mode allowing LLM agents to autonomously manage your cloud infrastructure.
Legacy pseudo-asynchronous processing has been eradicated. ggsrun now utilizes a channel-based worker pool built on golang.org/x/sync/errgroup to maximize network throughput on massive folder trees.
The v5 engine forces supportsAllDrives=true and includeItemsFromAllDrives=true across all Google Drive API permutations. Enterprise users can now execute bulk batch operations targeting deeply nested structures within organizational Shared Drives.
The extraction logic dynamically categorizes Google workspace entities. Requests targeting GAS code bypass the standard Drive API and are automatically routed to the Apps Script API, securely landing as structured .json locally.
The v5 execution phase is strictly non-blocking. HTTP 429 (Rate Limits) and 5xx (Server Errors) trigger a mathematical exponential backoff sequence per-worker, ensuring aggressive self-healing.
Running ggsrun mcp transforms the application into an autonomous JSON-RPC server via stdio. Large Language Model (LLM) agents can natively invoke internal capabilities without requiring any API keys locally.
Requires Go 1.26.3 or higher. Pull and compile the latest binary natively:
$ go install github.com/tanaikech/ggsrun@latest
Alternatively, you can download pre-built binaries directly from the Releases page.
The following compiled binaries are available:
ggsrun_darwin_amd64ggsrun_darwin_arm64ggsrun_linux_386ggsrun_linux_amd64ggsrun_linux_arm64ggsrun_linux_arm7ggsrun_linux_mipsggsrun_linux_mipsleggsrun_freebsd_amd64ggsrun_freebsd_arm64ggsrun_windows_386.exeggsrun_windows_amd64.exeggsrun_windows_arm64.execlient_secret.json.With your client_secret.json in the current directory, execute:
$ ggsrun auth
ggsrun spins up a secure local loopback listener. Your default browser will launch, request authorization, and securely hand the token back to the CLI. A persistent ggsrun.cfg file is generated.
To execute arbitrary GAS functions locally without permanent deployments (exe2 and webapps modes), you must establish a gateway endpoint on Google Apps Script using the ggsrunif library.
+ icon next to Libraries.115-19njNHlbT-NI0hMPDnVO1sdrw2tJKCAJgOTIAPbi_jq3tOo4lVRov.ggsrunif and select the latest version.Replace the default code in Code.gs with the following ultra-lightweight wrappers.
const doPost = (e) => ggsrunif.WebApps(e, "pass1");
const ExecutionApi = (e) => ggsrunif.ExecutionApi(e);
(Note: Change "pass1" to a secure custom password if you plan to execute webapps anonymously).
exe1 & exe2)-i flag.webapps)ggsrun CLI to be authenticated via ggsrun auth with Drive scopes enabled. If you need to trigger the webapp anonymously from a CI/CD pipeline without a token, set access to Anyone and rely on the -p password flag).No comments yet. Be the first to share your thoughts!