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
Autumn MCP Server
An unofficial MCP server for the Autumn pricing API to manage customers, entitlements, invoices, and billing portal links.
Chronicle SecOps
Interact with Google's Chronicle Security Operations suite.
Remote MCP Server (Authless)
A remote, authentication-free MCP server deployable on Cloudflare Workers or locally via npm.
CData PingOne
A read-only MCP server that allows LLMs to query live PingOne data. Requires a separate CData JDBC Driver for PingOne.
Remote MCP Server on Cloudflare
A remote MCP server deployable on Cloudflare Workers with OAuth login support, using Cloudflare KV for data storage.
Coolify MCP Server
An MCP server for interacting with the Coolify API to manage servers and applications.
App Store Connect MCP Server
Interact with the App Store Connect API to manage apps, sales, and reports.
Flutterwave
Interact with the Flutterwave API to manage transactions, generate payment links, and handle customer support.
Okta MCP Server
Allows AI models to interact with your Okta environment to manage and analyze resources, designed for IAM engineers, security teams, and administrators.
Strava MCP Server
Access the Strava API to query athlete activities data.