# Google Workspace Mcp Inhouse

> Read-only MCP server to browse, search, and read Google Docs, Google Sheets

- **Type:** MCP server
- **Install:** `agentstack add mcp-flowernotfound-google-workspace-mcp-inhouse`
- **Verified:** Pending review
- **Seller:** [flowernotfound](https://agentstack.voostack.com/s/flowernotfound)
- **Installs:** 0
- **Category:** [Search](https://agentstack.voostack.com/c/search)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [flowernotfound](https://github.com/flowernotfound)
- **Source:** https://github.com/flowernotfound/google-workspace-mcp-inhouse

## Install

```sh
agentstack add mcp-flowernotfound-google-workspace-mcp-inhouse
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# google-workspace-mcp-inhouse

> **日本語版:** [README_ja.md](README_ja.md)

A read-only MCP server for Google Docs and Google Sheets.
Provides 11 tools for AI agents to read, list, and search Google Docs and Sheets — no write access.

---

## Available Tools

### Google Docs

| Tool | Description |
|------|-------------|
| `read_document` | Fetch document body as Markdown or plain text |
| `list_documents` | List Google Docs in your Drive |
| `search_documents` | Search documents by keyword |
| `get_document_info` | Get document metadata (title, owner, timestamps) |
| `list_comments` | List comments on a document |
| `get_comment` | Get a specific comment and its reply thread |

### Google Sheets

| Tool | Description |
|------|-------------|
| `read_spreadsheet` | Fetch sheet content as CSV or JSON |
| `get_spreadsheet_info` | Get spreadsheet metadata (title, sheets, locale, timezone) |
| `list_spreadsheets` | List Google Sheets in your Drive |
| `search_spreadsheets` | Search spreadsheets by keyword |
| `get_sheet_range` | Get cell values for a specific range (A1 notation) |

Tool parameters

#### `read_document`
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `document_id` | string | Yes | — | Google Docs document ID |
| `format` | string | No | `"markdown"` | Output format: `"markdown"` or `"text"` |

#### `list_documents`
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `folder_id` | string | No | — | Restrict to a specific folder |
| `max_results` | number | No | `20` | Max items to return (limit: 100) |
| `order_by` | string | No | `"modifiedTime desc"` | Sort order |

#### `search_documents`
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `query` | string | Yes | — | Search keyword |
| `max_results` | number | No | `10` | Max items to return (limit: 50) |

#### `get_document_info`
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `document_id` | string | Yes | — | Google Docs document ID |

#### `list_comments`
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `document_id` | string | Yes | — | Google Docs document ID |
| `include_resolved` | boolean | No | `false` | Whether to include resolved comments |

#### `get_comment`
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `document_id` | string | Yes | — | Google Docs document ID |
| `comment_id` | string | Yes | — | Comment ID |

#### `read_spreadsheet`
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `spreadsheet_id` | string | Yes | — | Google Sheets spreadsheet ID |
| `sheet_name` | string | No | — | Sheet name to read (defaults to first sheet) |
| `format` | string | No | `"csv"` | Output format: `"csv"` or `"json"` |

#### `get_spreadsheet_info`
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `spreadsheet_id` | string | Yes | — | Google Sheets spreadsheet ID |

#### `list_spreadsheets`
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `folder_id` | string | No | — | Restrict to a specific folder |
| `max_results` | number | No | `20` | Max items to return (limit: 100) |
| `order_by` | string | No | `"modifiedTime desc"` | Sort order |

#### `search_spreadsheets`
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `query` | string | Yes | — | Search keyword |
| `max_results` | number | No | `10` | Max items to return (limit: 50) |

#### `get_sheet_range`
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `spreadsheet_id` | string | Yes | — | Google Sheets spreadsheet ID |
| `range` | string | Yes | — | Range in A1 notation (e.g. `Sheet1!A1:D10`) |

---

## Installation

### macOS / Linux

```bash
curl -fsSL https://raw.githubusercontent.com/flowernotfound/google-workspace-mcp-inhouse/master/install.sh | bash
```

The binary is installed to `~/bin/google-workspace-mcp-inhouse`.

### Windows (PowerShell)

```powershell
irm https://raw.githubusercontent.com/flowernotfound/google-workspace-mcp-inhouse/master/install.ps1 | iex
```

The binary is installed to `%LOCALAPPDATA%\Programs\google-workspace-mcp-inhouse\`.
The installer automatically adds the directory to your user `PATH`.

---

## Setup

### 1. Place `credentials.json`

Obtain `credentials.json` from the GCP Console and place it in the config directory.

```bash
# macOS / Linux
mv ~/Downloads/credentials.json ~/.config/google-workspace-mcp-inhouse/credentials.json

# Windows (PowerShell)
Move-Item ~\Downloads\credentials.json ~\.config\google-workspace-mcp-inhouse\credentials.json
```

### 2. Authenticate

```bash
# macOS / Linux
google-workspace-mcp-inhouse auth

# Windows
google-workspace-mcp-inhouse.exe auth
```

A browser window opens. Sign in with your Google account to grant read-only access.

### 3. Register with Claude Code

Add the following to `.mcp.json`:

```json
{
    "mcpServers": {
        "google-workspace-mcp-inhouse": {
            "type": "stdio",
            "command": "${HOME}/bin/google-workspace-mcp-inhouse"
        }
    }
}
```

> **Windows:** Replace `${HOME}/bin/google-workspace-mcp-inhouse` with the full path, e.g.
> `C:\Users\yourname\AppData\Local\Programs\google-workspace-mcp-inhouse\google-workspace-mcp-inhouse.exe`

---

## Updating

```bash
# macOS / Linux
google-workspace-mcp-inhouse update

# Windows — re-run the installer
irm https://raw.githubusercontent.com/flowernotfound/google-workspace-mcp-inhouse/master/install.ps1 | iex
```

---

## Prerequisites (admin setup)

Before individual engineers can install this tool, an admin needs to set up the GCP project once.
See [README_ja.md — GCP 初期設定](README_ja.md#gcp-初期設定管理者-1-回のみ) for the full setup guide.

---

## Development

```bash
mise run build     # build binary
mise run test      # run tests
mise run lint      # run linter
mise run fmt       # format code
```

Requires [mise](https://mise.jdx.dev/) and Go 1.23+.

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [flowernotfound](https://github.com/flowernotfound)
- **Source:** [flowernotfound/google-workspace-mcp-inhouse](https://github.com/flowernotfound/google-workspace-mcp-inhouse)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: flagged — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-flowernotfound-google-workspace-mcp-inhouse
- Seller: https://agentstack.voostack.com/s/flowernotfound
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
