Skip to main content
Glama
coderclub-team

Google Sheets Todos MCP Server

Google Sheets Todos MCP Server

An MCP server that stores todos in a Google Sheet and exposes CRUD tools.

Features

  • todo_list

  • todo_get

  • todo_create

  • todo_update

  • todo_delete

Related MCP server: Firestore Todo List MCP Server

1) Google setup

  1. Create a Google Cloud project.

  2. Enable the Google Sheets API.

  3. Create a service account and download its JSON key.

  4. Create a Google Sheet and copy its Spreadsheet ID from the URL.

  5. Share the sheet with the service account email as Editor.

2) Local setup

npm install
cp .env.example .env

Then edit .env with your values.

3) Run

Development:

npm run dev

The server listens on http://localhost:8080/mcp by default.

Build and run:

npm run build
npm start

4) Cloud Run deployment

One command deployment:

npm run deploy:cloudrun -- --project PROJECT_ID --region REGION

The deploy script uses .env by default and will:

  • Build the image with cloudbuild.yaml

  • Deploy to Cloud Run

  • Print the final MCP endpoint URL

You can also override the env file:

npm run deploy:cloudrun -- --project PROJECT_ID --env-file .env.production

Build and submit the container image:

gcloud builds submit --tag gcr.io/PROJECT_ID/firstmcp

Deploy to Cloud Run:

gcloud run deploy firstmcp \
  --image gcr.io/PROJECT_ID/firstmcp \
  --platform managed \
  --region REGION \
  --allow-unauthenticated \
  --set-env-vars GOOGLE_SHEETS_SPREADSHEET_ID=your_spreadsheet_id,GOOGLE_SHEETS_TODO_SHEET_NAME=todos,GOOGLE_SERVICE_ACCOUNT_EMAIL=your-service-account@project.iam.gserviceaccount.com,GOOGLE_SERVICE_ACCOUNT_PRIVATE_KEY='-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\\n'

Cloud Run will inject the PORT environment variable automatically. The MCP HTTP endpoint will be available at /mcp on the service URL.

Files added for deployment:

  • cloudbuild.yaml

  • scripts/deploy-cloud-run.sh

  • .gcloudignore

5) MCP client config example

For an HTTP-capable MCP client, point it at the deployed endpoint:

{
  "mcpServers": {
    "google-sheets-todos": {
      "url": "https://YOUR_CLOUD_RUN_URL/mcp"
    }
  }
}

For local testing, use:

{
  "mcpServers": {
    "google-sheets-todos": {
      "url": "http://localhost:8080/mcp"
    }
  }
}

6) Sheet format

The server uses 5 columns in the target sheet:

  • id

  • title

  • completed

  • createdAt

  • updatedAt

The header row is created automatically if missing.

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Query your Google Sheets as structured JSON: list sheets and tabs, read schemas, filter rows.

  • Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.

  • Google Docs MCP Pack — read, create, and edit Google Docs via OAuth.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/coderclub-team/firstMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server