https://github.com/securityfortech/google-admin-mcp
https://github.com/securityfortech/google-admin-mcp
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/securityfortech/google-admin-mcp
- Owner: securityfortech
- License: mit
- Created: 2025-04-13T10:09:22.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-04-13T19:49:15.000Z (2 months ago)
- Last Synced: 2025-04-13T20:35:51.247Z (2 months ago)
- Language: JavaScript
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp-servers - Google Admin MCP
- mcp-index - Google Admin Server - Manage Google Workspace users by creating, listing, and modifying user accounts while ensuring secure password management through the Admin Directory API. Perform administrative tasks such as suspending and unsuspending accounts with ease. (Cloud Services)
README
# Google Admin MCP Server
A FastMCP server for managing Google Workspace users through the Admin Directory API.
## Features
- List users in a domain
- Create new users with secure random passwords
- Get detailed user information
- Suspend and unsuspend users## Prerequisites
- Docker
- Google Workspace Admin account
- Google Admin Directory API enabled
- Base64 encoded OAuth2 token in `GOOGLE_TOKEN_JSON` environment variable## Installation
1. Clone the repository
2. Build the Docker image:
```bash
docker build -t google-admin-mcp .
```## Running the Server
Run the container:
```bash
docker run -e GOOGLE_TOKEN_JSON="your_base64_encoded_token" google-admin-mcp
```## Available Tools
### listUsers
Lists users in a domain.
```json
{
"domain": "yourdomain.com"
}
```### addUser
Creates a new user with a secure random password.
```json
{
"primaryEmail": "[email protected]",
"firstName": "First",
"lastName": "Last"
}
```### getUser
Gets detailed information about a specific user.
```json
{
"userKey": "[email protected]"
}
```### suspendUser
Suspends a user account.
```json
{
"userKey": "[email protected]"
}
```### unsuspendUser
Unsuspends a user account.
```json
{
"userKey": "[email protected]"
}
```## Security Notes
- All users created will be required to change their password on first login
- Passwords are generated securely with:
- Minimum 12 characters
- Uppercase and lowercase letters
- Numbers
- Special characters
- The server requires a valid OAuth2 token with appropriate Admin Directory API scopes## Error Handling
The server provides clear error messages for:
- Authentication failures
- Invalid parameters
- API errors
- Missing environment variables## License
MIT License