GAM MCP Server
Administer Google Workspace using the GAM command-line tool.
GAM MCP Server
Google Workspace administration via GAM CLI, ready for Claude Desktop and Model Context Protocol (MCP).
Prerequisites
- GAM: Install and authenticate GAM on your system.
- Run
gam versionto verify installation. - Run
gam oauth createto authenticate with Google Workspace.
- Run
- Node.js: v18 or newer
Installation
# Clone or copy this repo
cd gam-mcp-server
npm install
npm run build
Running the Server
GAM_PATH=/path/to/gam node dist/index.js
- Or use the default
gamin your PATH.
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"gam-workspace": {
"command": "node",
"args": ["/absolute/path/to/gam-mcp-server/dist/index.js"],
"env": {
"GAM_PATH": "/path/to/gam"
}
}
}
}
Available Tools
User Management
gam_list_users: List users (domain, query, maxResults)gam_get_user: Get user details (email)gam_create_user: Create user (email, firstName, lastName, password, orgUnit)gam_update_user: Update user (email, updates)gam_suspend_user/gam_unsuspend_user: (email)gam_move_user_orgunit: (email, orgUnitPath)
Group Management
gam_list_groups: List groups (domain, maxResults)gam_get_group: Get group details (groupEmail)gam_create_group: Create group (groupEmail, groupName, description)gam_add_group_member/gam_remove_group_member: (groupEmail, memberEmail, role)
Organizational Units
gam_list_orgunits: List OUsgam_move_user_orgunit: Move user between OUs
Domain Management
gam_get_domain_info: Get domain info
Example MCP Tool Calls
List users:
{
"method": "tools/call",
"params": {
"name": "gam_list_users",
"arguments": { "maxResults": 10 }
}
}
Get user:
{
"method": "tools/call",
"params": {
"name": "gam_get_user",
"arguments": { "email": "user@example.com" }
}
}
Create group:
{
"method": "tools/call",
"params": {
"name": "gam_create_group",
"arguments": { "groupEmail": "team@example.com", "groupName": "Team" }
}
}
Troubleshooting
- GAM not found: Set
GAM_PATHor addgamto your PATH. - Authentication errors: Run
gam oauth create. - Quota/rate limit: Wait and retry; see Google Admin API quotas.
- Parameter validation: All inputs are validated; see error messages for details.
Security Considerations
- Only whitelisted GAM commands are allowed.
- All parameters are validated and sanitized.
- No arbitrary command execution.
- Logs redact sensitive data.
- Rate limiting and error handling are built-in.
Extending
Add new tools in src/tools/ and export them in src/tools/index.ts.
© 2024 GAM MCP Server Authors
Related Servers
Remote MCP Server on Cloudflare
An MCP server designed to run on Cloudflare Workers, featuring OAuth login support for secure access.
Hostinger Ecommerce MCP
Interact with the Hostinger Ecommerce API using a JWT token and store ID.
Binance MCP Server
Access the Binance Futures API for trading, account management, and market data.
Remote MCP Server (Authless)
An authentication-free remote MCP server deployable on Cloudflare Workers or locally via npm.
k8s Pilot
A lightweight, centralized control plane for managing multiple Kubernetes clusters using kubeconfig or in-cluster configuration.
Axiom
Query and analyze your Axiom logs, traces, and all other event data in natural language
Speckle
Interact with Speckle, the collaborative data hub that connects with your AEC tools.
Daraja MCP
Integrate AI applications with Safaricom's Daraja API for seamless interaction with M-Pesa services.
Spring AI Weather Server
An MCP server providing weather tools from the National Weather Service (weather.gov) API, built with Spring Boot.
APISIX-MCP
APISIX Model Context Protocol (MCP) server is used to bridge large language models (LLMs) with the APISIX Admin API, supporting querying and managing all resources in Apache APISIX.