protogrid

Search / io.github.joshuawhite389/google-sheets-mcp

Google Sheets MCP Server

R2· OAuth, once

Read and write Google Sheets with your own service account: list tabs, read, append, update, export.

v0.2.0 · active · repository · website · descriptor JSON · versions

An agent can connect after a one-time OAuth consent by a human.Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.
Quality67needs work
Trust97of 100
Uptime, 30 days100%
Latency p50159 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "google-sheets-mcp": {
      "type": "http",
      "url": "https://oldjard--google-sheets-mcp.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer ${GOOGLE_SHEETS_MCP_TOKEN}",
        "X-Google-Service-Account-Key": "${X_GOOGLE_SERVICE_ACCOUNT_KEY}"
      }
    }
  }
}
claude mcp add --transport http google-sheets-mcp https://oldjard--google-sheets-mcp.apify.actor/mcp --header "Authorization: Bearer ${GOOGLE_SHEETS_MCP_TOKEN}" --header "X-Google-Service-Account-Key: ${X_GOOGLE_SERVICE_ACCOUNT_KEY}"
[mcp_servers.google-sheets-mcp]
url = "https://oldjard--google-sheets-mcp.apify.actor/mcp"
bearer_token_env_var = "GOOGLE_SHEETS_MCP_TOKEN"
env_http_headers = { "X-Google-Service-Account-Key" = "X_GOOGLE_SERVICE_ACCOUNT_KEY" }
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "google-sheets-mcp": {
      "type": "remote",
      "url": "https://oldjard--google-sheets-mcp.apify.actor/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:GOOGLE_SHEETS_MCP_TOKEN}",
        "X-Google-Service-Account-Key": "{env:X_GOOGLE_SERVICE_ACCOUNT_KEY}"
      }
    }
  }
}
{
  "mcpServers": {
    "google-sheets-mcp": {
      "type": "http",
      "url": "https://oldjard--google-sheets-mcp.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer ${GOOGLE_SHEETS_MCP_TOKEN}",
        "X-Google-Service-Account-Key": "${X_GOOGLE_SERVICE_ACCOUNT_KEY}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=google-sheets-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vb2xkamFyZC0tZ29vZ2xlLXNoZWV0cy1tY3AuYXBpZnkuYWN0b3IvbWNwIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7R09PR0xFX1NIRUVUU19NQ1BfVE9LRU59IiwiWC1Hb29nbGUtU2VydmljZS1BY2NvdW50LUtleSI6IiR7WF9HT09HTEVfU0VSVklDRV9BQ0NPVU5UX0tFWX0ifX0%3D"
}
{
  "servers": {
    "google-sheets-mcp": {
      "type": "http",
      "url": "https://oldjard--google-sheets-mcp.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer ${GOOGLE_SHEETS_MCP_TOKEN}",
        "X-Google-Service-Account-Key": "${X_GOOGLE_SERVICE_ACCOUNT_KEY}"
      }
    }
  }
}
{
  "mcpServers": {
    "google-sheets-mcp": {
      "httpUrl": "https://oldjard--google-sheets-mcp.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer ${GOOGLE_SHEETS_MCP_TOKEN}",
        "X-Google-Service-Account-Key": "${X_GOOGLE_SERVICE_ACCOUNT_KEY}"
      }
    }
  }
}
extensions:
  "google-sheets-mcp":
    enabled: true
    name: "google-sheets-mcp"
    type: streamable_http
    uri: "https://oldjard--google-sheets-mcp.apify.actor/mcp"
    headers:
      "Authorization": "Bearer ${GOOGLE_SHEETS_MCP_TOKEN}"
      "X-Google-Service-Account-Key": "${X_GOOGLE_SERVICE_ACCOUNT_KEY}"
    timeout: 300

Placeholders to fill from your own secret store: ${GOOGLE_SHEETS_MCP_TOKEN}, ${X_GOOGLE_SERVICE_ACCOUNT_KEY}. The registry never accepts secret values.

Quality 67 / 100needs work

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorization67 · weight 15
  • fail
    auth.prmno Protected Resource Metadata (RFC 9728); clients cannot discover the authorization server
  • pass
    auth.as_metadataauthorization server metadata reachable
  • pass
    auth.cimdClient ID Metadata Documents supported
  • n/a
    auth.secret_in_urlno templated URL
tool hygienen/a · weight 30
  • n/a
    tools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool list unknown
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

Tool list unknown · checked 2026-11-07 18:01 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 97 / 100

provenance90
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% +updated-17d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://oldjard--google-sheets-mcp.apify.actor/mcp streamable-httpoauth2 AS: https://console-backend.apify.comyes100%159 ms–2026-11-07

Tools (0)

No tools observed. Tools appear once a credential-free probe can list them.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.joshuawhite389/google-sheets-mcp",
  "title": "Google Sheets MCP Server",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://oldjard--google-sheets-mcp.apify.actor/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "isRequired": true,
          "description": "Bearer <your Apify API token>. The hosted server is billed per successful tool call to your Apify account."
        },
        {
          "name": "X-Google-Service-Account-Key",
          "isSecret": true,
          "isRequired": true,
          "description": "Your Google service account JSON key, base64-encoded on one line (base64 -w0 key.json)."
        }
      ]
    }
  ],
  "version": "0.2.0",
  "repository": {
    "url": "https://github.com/joshuawhite389/google-sheets-mcp",
    "source": "github"
  },
  "websiteUrl": "https://apify.com/oldjard/google-sheets-mcp",
  "description": "Read and write Google Sheets with your own service account: list tabs, read, append, update, export."
}