guMCP server implementation for interacting with Google Sheets.
- Python 3.11+
- A Google Cloud project with the Google Sheets API enabled
- OAuth 2.0 credentials configured for desktop application access
Local authentication uses a Google OAuth Configuration JSON file located at:
local_auth/oauth_configs/gsheets/oauth.json
This file can be obtained when you are creating an oauth client from google cloud applciation in the GCP console.
To authenticate and save credentials for local testing, run:
python src/servers/gsheets/main.py authAfter successful authentication, your credentials will be stored securely for reuse.
This server exposes the following tools for interacting with Google Sheets:
create-sheetβ Create a new spreadsheetget-spreadsheet-infoβ Retrieve spreadsheet metadataget-sheet-namesβ List sheet/tab namesbatch-getβ Read values from multiple rangesbatch-updateβ Write values to multiple rangesappend-valuesβ Append new rows to a sheetlookup-rowβ Search for a row by valueclear-valuesβ Clear a given sheet rangecopy-sheetβ Copy a sheet from one spreadsheet to another
You can launch the server for local development using:
./start_sse_dev_server.shThis will start the MCP server and make it available for integration and testing.
You can also start the local client using the following -
python RemoteMCPTestClient.py --endpoint http://localhost:8000/gsheets/local- Ensure your OAuth app has Sheets API access enabled in the Google Cloud console.
- If you're testing with multiple users or environments, use different
user_idvalues. - This server is designed to integrate with guMCP agents for tool-based LLM workflows.
- Make sure you have mentioned the anthropic API key in the .env file.