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
- Clone this repository:
Copy
- Install dependencies:
npm install
- Build:
npm run build
- Create OAuth credentials in Google Cloud Platform:
- Create a new project in Google Cloud Console
- Enable the Google Sheets API
- Configure the OAuth consent screen
- Create OAuth client ID credentials (Desktop application) with an appropriate redirect URI (ex: http://localhost:3000/oauth2callback)
- Download the credentials and save as
gcp-oauth.keys.json
in thedist
subdirectory
- Start the MCP server (you'll automatically be prompted to authenticate/re-authenticate your Google account when necessary):
npm run start
Usage
Sample config:
Copy
Then you should be able to simply specify your spreadsheetId or ask your agent to create a new one for you.
Available Actions
Action | Description |
---|---|
refresh_auth | Re-authenticate your Google Account when credentials expire |
list_sheets | List all sheets/tabs in a Google Spreadsheet |
create_sheet | Create a new sheet/tab in a Google Spreadsheet |
create_spreadsheet | Create a new Google Spreadsheet |
read_all_from_sheet | Read all data from a specified sheet |
read_headings | Read the column headings from a sheet |
read_rows | Read specific rows from a sheet |
read_columns | Read specific columns from a sheet |
edit_cell | Edit a single cell in a sheet |
edit_row | Edit an entire row in a sheet |
edit_column | Edit an entire column in a sheet |
insert_row | Insert a new row at specified position |
insert_column | Insert a new column at specified position |
rename_sheet | Rename a sheet/tab in a spreadsheet |
rename_doc | Rename a Google Spreadsheet |
License
MIT
This server cannot be installed
A Model Context Protocol (MCP) connector that allows AI agents to directly interact with Google Sheets, enabling creation, reading, and modification of spreadsheets through natural language.