Skip to main content
Glama
README.md
# sheetport

Google Sheets spreadsheets and cell values as MCP tools, talking to the
Google Sheets API v4. sheetport is a clean-room rebuild of the core
subset of the Google Sheets MCP surface, under a new name: spreadsheet
and value operations plus basic sheet management, fresh code, no copied
branding.

## Tools (core subset, 10)

`get_spreadsheet`, `create_spreadsheet`, `get_values`, `update_values`,
`append_values`, `clear_values`, `batch_update_values`, `add_sheet`,
`copy_sheet`, `rename_sheet`.

Formatting, charts, pivot tables, conditional formatting, developer
metadata, protected ranges, named ranges, general spreadsheet
batchUpdate passthrough and Drive file operations are not in this
subset.

## Setup

Set a Google OAuth access token:

```bash
export GOOGLE_ACCESS_TOKEN=ya29....
```

Optionally override the API base with `SHEETS_API_URL`
(default `https://sheets.googleapis.com/v4`). Without the token, every
tool call fails with an error naming the missing variable.

## CLI

```bash
npx @reneturcios/sheetport get_values '{"spreadsheet_id":"abc","range":"Sheet1!A1:B2"}'
npx @reneturcios/sheetport mcp        # stdio MCP server
```

Each tool name is a subcommand taking one JSON object argument.

## MCP client config

```json
{
  "mcpServers": {
    "sheetport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/sheetport", "mcp"],
      "env": { "GOOGLE_ACCESS_TOKEN": "ya29...." }
    }
  }
}
```

## Docker

```bash
docker run -i -e GOOGLE_ACCESS_TOKEN ghcr.io/cloudcorprecords/sheetport
```

## Development

```bash
npm install
npm run build
npm test
```

## License

MIT