trackmcp
Back to directory
shionhonda

mcp-gsheet

View on GitHub

Model Context Protocol (MCP) server that allows interaction with Google Sheets

2 stars PythonAI & Machine Learning Updated Oct 18, 2025

Documentation

MCP Google Sheets Server

This project provides a Model Context Protocol (MCP) server that allows interaction with Google Sheets.

It exposes tools to:

  • List sheets (tabs) within a spreadsheet.
  • Read data from specific cell ranges.
  • Write data to specific cell ranges.

It explicitly does not provide tools for managing Google Drive files (listing, creating, deleting folders/files). Access is restricted to spreadsheet content only.

Prerequisites

1. Python 3.11+

2. Google Cloud Project with the Google Sheets API enabled

3. Service Account Key:

    How to use

    1. Clone the repository.

    bash
    git clone https://github.com/shionhonda/mcp-gsheet.git

    2. Set up Google Credentials:

      bash
      export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-key.json"

        3. Install Dependencies:

        bash
        uv venv
            source .venv/bin/activate

        4. Run the Server

        To develop the server with MCP Inspector:

        bash
        mcp dev server.py

        To run the server:

        bash
        mcp run server.py

        The server will start and listen for MCP requests over standard input/output (stdio).

        Claude Desktop

        Add the following to your Claude Desktop configuration:

        json
        {
          "mcpServers": {
            "gsheet": {
              "command": "/path/to/uv",
              "env": {
                "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json"
              },
              "args": ["--directory", "/path/to/mcp-gsheet", "run", "server.py"]
            }
          }
        }

        MCP Tools Provided

        • `list_sheets(spreadsheet_id: str) -> list[str]`: Lists the names of all sheets in the specified spreadsheet.
        • `read_cells(spreadsheet_id: str, range_name: str) -> list[list[str]]`: Reads data from the given range (e.g., `'Sheet1!A1:B5'`).
        • `write_cells(spreadsheet_id: str, range_name: str, values: list[list[str]]) -> str`: Writes the provided 2D list of values to the specified starting cell/range (e.g., `'Sheet1!C1'`).

        Frequently asked questions

        What is mcp-gsheet?

        mcp-gsheet is Model Context Protocol (MCP) server that allows interaction with Google Sheets

        How do I install mcp-gsheet?

        Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

        Is mcp-gsheet open source?

        Yes — it is hosted on GitHub at https://github.com/shionhonda/mcp-gsheet and has 2 stars.

        Related MCP tools

        Run your own MCP server? See who uses it and what to fix.

        Measure it with TrackMCP