Skip to main content
Glama
Lindsayellis22

Google Workspace Automation Builder MCP Server

README.md
# Google Workspace Automation Builder MCP Server

A Model Context Protocol (MCP) server that helps you automate Google Workspace tasks, generate Apps Script code, and build workflows with AI assistance.

## Features

### Current Tools

1. **read_sheet** - Read data from Google Sheets
2. **write_sheet** - Write data to Google Sheets
3. **generate_apps_script** - Generate Apps Script code from natural language descriptions
4. **create_webhook_sender** - Generate code to send sheet data to webhooks (Zapier, Make, etc.)

### Planned Features

- Deploy Apps Script projects directly to Google
- Create and manage time-based triggers
- AI-powered workflow generation with Claude
- Template library for common patterns
- Multi-sheet operations
- Advanced error handling and logging

## Installation

1. Clone or navigate to this directory
2. Install dependencies:
```bash
npm install
```

3. Copy the environment file and add your credentials:
```bash
cp .env.example .env
```

4. Build the project:
```bash
npm run build
```

## Configuration

### Setting up Google Workspace API

1. Go to [Google Cloud Console](https://console.cloud.google.com/)
2. Create a new project or select existing one
3. Enable Google Sheets API and Google Apps Script API
4. Create OAuth 2.0 credentials
5. Add credentials to `.env` file

### Setting up Anthropic API (Optional)

1. Go to [Anthropic Console](https://console.anthropic.com/)
2. Generate an API key
3. Add to `.env` file as `ANTHROPIC_API_KEY`

## Using with Claude Desktop

Add this server to your Claude Desktop configuration:

**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "google-workspace": {
      "command": "node",
      "args": [
        "/Users/lindsayellis/Desktop/google-workspace-mcp/dist/index.js"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "your_client_id",
        "GOOGLE_CLIENT_SECRET": "your_client_secret",
        "GOOGLE_REFRESH_TOKEN": "your_refresh_token",
        "ANTHROPIC_API_KEY": "your_anthropic_key"
      }
    }
  }
}
```

After adding the configuration, restart Claude Desktop.

## Usage Examples

### Generate a webhook sender script

Ask Claude:
```
Use the create_webhook_sender tool to generate a script that sends all data from my sheet to this Zapier webhook: https://hooks.zapier.com/hooks/catch/xxxxx/xxxxx/
```

### Generate custom Apps Script

Ask Claude:
```
Use generate_apps_script to create a script that:
- Runs every Monday at 9am
- Processes column A with AI
- Writes results to column B
- Sends a summary email
```

### Read sheet data

Ask Claude:
```
Use read_sheet to get data from spreadsheet ID "1ABC...XYZ" range "Sheet1!A1:D10"
```

## Development

Run in development mode with auto-reload:
```bash
npm run dev
```

Build for production:
```bash
npm run build
```

## Project Structure

```
google-workspace-mcp/
├── src/
│   └── index.ts          # Main MCP server
├── dist/                 # Compiled JavaScript
├── .env                  # Your credentials (not committed)
├── .env.example          # Template for credentials
├── package.json
├── tsconfig.json
└── README.md
```

## Troubleshooting

**Server not appearing in Claude Desktop:**
1. Check that the path in `claude_desktop_config.json` is correct
2. Make sure you've run `npm run build`
3. Restart Claude Desktop completely
4. Check logs: `tail -f ~/Library/Logs/Claude/mcp*.log`

**Authentication errors:**
1. Verify your Google Cloud credentials
2. Make sure APIs are enabled
3. Check that OAuth consent screen is configured

## Next Steps

1. Set up Google OAuth authentication
2. Implement Claude API integration for script generation
3. Add Apps Script deployment functionality
4. Create template library
5. Add more advanced tools

## Contributing

Feel free to add new tools and features! The MCP SDK makes it easy to extend.

## License

ISC