0
/ 100
1 month ago
glama

workspace-mcp

Full natural language control over Google Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Tasks, Contacts, and Chat through MCP clients.

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find.

Install from

M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.

// key findings
🚨
Reads files from sensitive locations
Touches: .credentials, credentials, .credentials
🔐
You'll be asked for 3 credentials: GOOGLE_OAUTH_CLIENT_SECRET, FASTMCP_SERVER_AUTH_GOOGLE_JWT_SIGNING_KEY, GOOGLE_PSE_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// required environment variables
This server reads these from process.env. You'll be asked to provide them before it can run.
configWORKSPACE_MCP_CREDENTIALS_DIRDirectory for the local_directory backend
configGOOGLE_MCP_CREDENTIALS_DIRCredential directory — default ~/.google_workspace_mcp/credentials
configWORKSPACE_MCP_GCS_BUCKETRequired when backend is gcs — GCS bucket name
configWORKSPACE_MCP_GCS_PREFIXOptional object-name prefix for the gcs backend
configWORKSPACE_MCP_GCS_REQUIRE_CMEKtrue to require a bucket default KMS key at startup (fails fast if unset)
configWORKSPACE_MCP_CREDENTIAL_STORE_BACKENDlocal_directory (default) or gcs — see [credential store system](#credential-store-system)
configMCP_ENABLE_OAUTH21export =true
configSESSION_TIME
configGOOGLE_CLIENT_SECRET_PATHCustom path to client_secret.json
configGOOGLE_OAUTH_CLIENT_IDexport ="..."
🔐 secretGOOGLE_OAUTH_CLIENT_SECRETexport ="..."
configGOOGLE_OAUTH_REDIRECT_URIexport ="http://localhost:${WORKSPACE_MCP_PORT}/oauth2callback"
configOAUTHLIB_INSECURE_TRANSPORTrequired* Set to 1 for development — allows http:// redirect
configOAUTHLIB_RELAX_TOKEN_SCOPE
configMCP_SINGLE_USER_MODE
configWORKSPACE_MCP_BASE_URIBase server URI (no port) — default http://localhost
configWORKSPACE_MCP_RESOLVED_PORT
configWORKSPACE_MCP_PORTexport =8000
configPORTWORKSPACE_MCP_PORT Listening port — default 8000. Also controls the stdio-mode OAuth callback port. The env var takes precedence if set.
configWORKSPACE_EXTERNAL_URLExternal URL for reverse proxy setups
configEXTERNAL_OAUTH21_PROVIDERtrue for external OAuth flow with bearer tokens
configWORKSPACE_MCP_STATELESS_MODEtrue for stateless container-friendly operation
configGOOGLE_SERVICE_ACCOUNT_KEY_FILEPath to service account JSON key file (domain-wide delegation)
configGOOGLE_SERVICE_ACCOUNT_KEY_JSONInline service account JSON key (alternative to file)
configDWD_ALLOWED_DOMAINSComma-separated domain allowlist for per-request impersonation (optional)
configOAUTH_CUSTOM_REDIRECT_URISComma-separated additional redirect URIs
configOAUTH_ALLOWED_ORIGINSComma-separated additional CORS origins
configWORKSPACE_MCP_HOSTBind host — default 0.0.0.0 for OAuth 2.1 HTTP, 127.0.0.1 for legacy streamable HTTP.
configWORKSPACE_ATTACHMENT_DIRDownloaded attachments dir and default trusted local attachment directory — default ~/.workspace-mcp/attachments/
configWORKSPACE_MCP_URLRemote MCP endpoint URL for CLI
configWORKSPACE_MCP_LOG_DIRDirectory for mcp_server_debug.log — defaults to ~/.google_workspace_mcp/logs
🔐 secretFASTMCP_SERVER_AUTH_GOOGLE_JWT_SIGNING_KEYexport ="$(openssl rand -hex 32)"
configWORKSPACE_MCP_OAUTH_PROXY_STORAGE_BACKENDmemory, disk, or valkey — see [storage backends](#oauth-proxy-storage-backends)
configWORKSPACE_MCP_OAUTH_PROXY_VALKEY_HOSTexport =redis.example.com
configFASTMCP_HOME
configWORKSPACE_MCP_ALLOWED_CLIENT_REDIRECT_URISComma-separated allowlist of redirect URIs that dynamically-registered OAuth clients may use. Default is unset (any URI permitted, per DCR). Supports FastMCP's glob patterns (, .example.com)
🔐 secretGOOGLE_PSE_API_KEYAPI key for Programmable Search Engine
configGOOGLE_PSE_ENGINE_IDSearch Engine ID for PSE
configWORKSPACE_MCP_TOOLSComma-separated services, e.g. gmail,drive,calendar; empty means all services
configWORKSPACE_MCP_TOOL_TIERcore, extended, or complete; empty means all tools
configWORKSPACE_MCP_READ_ONLYtrue, 1, or yes to request read-only scopes and filter write tools
configWORKSPACE_MCP_PERMISSIONSSpace-separated service:level entries, e.g. gmail:send drive:readonly; mutually exclusive with tools and read-only
configWORKSPACE_MCP_TRANSPORTstdio or streamable-http; used when --transport is not passed
configWORKSPACE_MCP_HTTP_PORTAdvanced legacy-stdio sidecar /mcp port for local workspace-cli access. Disabled when empty. Binds to 127.0.0.1 only and is accessible to local processes.
// full audit trail
The full breakdown of what we checked, the deductions that landed, the network hosts, the dependency advisories, and concrete fix guidance is available to verified publishers.
// improvement guidance — verified publishers only
We have 3 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Score](https://m8ven.ai/badge/mcp/theolefort-cyber-mcpworkspace-iwfu0e)](https://m8ven.ai/mcp/theolefort-cyber-mcpworkspace-iwfu0e)
commit: f974a126d12f56af1b878b4cd3e039f0982af138
code hash: 89293597e78925f685fa8f5e523d88dbb5d9f44419830427638f134cdc0294be
verified: 6/19/2026, 10:58:53 AM
view raw JSON →