MCP Hub
Back to servers

Google Sheets MCP

A Google Sheets connector for AI agents that provides comprehensive spreadsheet management including CRUD operations for sheets, rows, columns, and individual cells.

Tools
15
Updated
Dec 4, 2025

Google Sheets MCP

A Model Context Protocol (MCP) connector for Google Sheets that allows AI agents to interact with spreadsheets directly.

Demo

https://github.com/user-attachments/assets/cc4729d9-4e6e-437b-848b-6da9a09418c3

Setup

  1. Clone this repository:
git clone https://github.com/mkummer225/google-sheets-mcp
cd google-sheets-mcp
  1. Install dependencies: npm install

  2. Build: npm run build

  3. Create OAuth credentials in Google Cloud Platform:

  4. Start the MCP server (you'll automatically be prompted to authenticate/re-authenticate your Google account when necessary): npm run start

Hosted / Railway (SSE transport)

If you need a URL-based MCP endpoint (e.g., for the Agent Toolkit’s “Connect to MCP Server” flow), run with the SSE transport and deploy to a host like Railway:

  1. Build: npm run build
  2. Set env vars (do not commit secrets):
    • MCP_TRANSPORT=sse
    • PORT=3000 (or your platform’s port)
    • GSHEETS_OAUTH_JSON — your OAuth client JSON (plain or base64-encoded). Required if the file dist/gcp-oauth.keys.json is not present.
    • GSHEETS_CREDENTIALS_JSON — a pre-authorized credentials JSON (plain or base64-encoded). Use this to avoid interactive auth on hosted environments.
  3. Deploy dist/ to Railway and run node dist/index.js.
  4. In your client/UI, point the MCP URL to https://<your-railway-app>.up.railway.app/sse (the server will direct POSTs to /messages via the SSE endpoint event).

Note: Keep *.keys.json and credential files out of git. Use env vars or your host’s secrets manager instead.

Usage

Sample config:

{
    "mcpServers": {
    "google-sheets-mcp": {
      "command": "node",
      "args": [
        "/{path_to_dir}/google-sheets-mcp/dist/index.js"
      ]
    }
  }
}

Then you should be able to simply specify your spreadsheetId or ask your agent to create a new one for you.

Available Actions

ActionDescription
refresh_authRe-authenticate your Google Account when credentials expire
list_sheetsList all sheets/tabs in a Google Spreadsheet
create_sheetCreate a new sheet/tab in a Google Spreadsheet
create_spreadsheetCreate a new Google Spreadsheet
read_all_from_sheetRead all data from a specified sheet
read_headingsRead the column headings from a sheet
read_rowsRead specific rows from a sheet
read_columnsRead specific columns from a sheet
edit_cellEdit a single cell in a sheet
edit_rowEdit an entire row in a sheet
edit_columnEdit an entire column in a sheet
insert_rowInsert a new row at specified position
insert_columnInsert a new column at specified position
rename_sheetRename a sheet/tab in a spreadsheet
rename_docRename a Google Spreadsheet

License

MIT

Reviews

No reviews yet

Sign in to write a review