Google Spreadsheets

by hosakakeigo

1 stars
337 downloads
Not rated
GitHub

About

Integrates with Google Spreadsheets to enable retrieval and manipulation of spreadsheet data for analysis, reporting, and automated information management workflows.

Details

Author
hosakakeigo
Repository
HosakaKeigo/spreadsheet-mcp-server
GitHub stars
1
Downloads
337
Categories
Productivity, Other, Design, Developer Tools, AI, Frontend, Automation, API

- Retrieve spreadsheet basic info (list of sheets)
- Fetch specific sheet data formatted as markdown tables
- Integrate with MCP clients such as Claude for Desktop
- Mock mode when Google Apps Script credentials are missing
- Avoids Google OAuth flow by using a Google Apps Script Web App

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Google Spreadsheets
    Command (node, npx, python, etc.) node
    Arguments
    • Argument 1 <absolute-path-to-project>/build/index.js
    Environment
    • GAS_API_KEY your-api-key
    • GAS_WEB_APP_URL https://script.google.com/macros/s/your-deployment-id/exec

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repository, install dependencies with npm install, configure environment variables (GAS_WEB_APP_URL and GAS_API_KEY) in a .env file, then build with npm run build. Start the server standalone with npm start or integrate it with Claude for Desktop by editing claude_desktop_config.json. If environment variables are not set, the server runs in mock mode.

getSpreadsheet

Retrieve basic information and a list of sheets from a spreadsheet. Parameters: url (string)

getSheetData

Obtain data from a specific sheet in the spreadsheet. Parameters: url (string), sheetName (string)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "google spreadsheets": {
            "env": {
                "GAS_API_KEY": "your-api-key",
                "GAS_WEB_APP_URL": "https://script.google.com/macros/s/your-deployment-id/exec"
            },
            "args": [
                "<absolute-path-to-project>/build/index.js"
            ],
            "command": "node"
        }
    }
}

Linux

{
    "env": {
        "GAS_API_KEY": "your-api-key",
        "GAS_WEB_APP_URL": "https://script.google.com/macros/s/your-deployment-id/exec"
    },
    "args": [
        "<absolute-path-to-project>/build/index.js"
    ],
    "command": "node"
}

Macos

{
    "env": {
        "GAS_API_KEY": "your-api-key",
        "GAS_WEB_APP_URL": "https://script.google.com/macros/s/your-deployment-id/exec"
    },
    "args": [
        "<absolute-path-to-project>/build/index.js"
    ],
    "command": "node"
}

Windows

{
    "env": {
        "GAS_API_KEY": "your-api-key",
        "GAS_WEB_APP_URL": "https://script.google.com/macros/s/your-deployment-id/exec"
    },
    "args": [
        "<absolute-path-to-project>/build/index.js"
    ],
    "command": "node"
}

An MCP server for Google Spreadsheet integration, connecting via a Google Apps Script Web App.

このプロジェクトは、Google SpreadsheetのデータにアクセスするためのModel Context Protocol (MCP) サーバーです。LLMがスプレッドシート情報を直接利用できるようにします。

- スプレッドシートの基本情報(シート一覧など)の取得
- 特定シートのデータの取得とマークダウン形式での整形
- MCPクライアント(Claude for Desktopなど)と統合

# リポジトリのクローン git clone https://github.com/your-username/spreadsheet-mcp-server.git cd spreadsheet-mcp-server # 依存関係のインストール npm install # 環境変数の設定 cp .env.example .env # .envファイルを編集してGAS_WEB_APP_URLとGAS_API_KEYを設定 # ビルド npm run build

- GAS_WEB_APP_URL: Google Apps Script Web AppのURL
- GAS_API_KEY: Google Apps Script Web Appのアクセス用APIキー

GAS_WEB_APP_URL=https://script.google.com/macros/s/your-deployment-id/exec GAS_API_KEY=your-api-key

環境変数が設定されていない場合、サーバーはモックモードで動作し、実際のGoogleスプレッドシートにはアクセスしません。

Claude for Desktopの設定ファイル (claude_desktop_config.json) に以下を追加します:

{ "mcpServers": { "spreadsheet": { "command": "node", "args": ["<absolute-path-to-project>/build/index.js"] } } }
{ "mcpServers": { "spreadsheet": { "command": "node", "args": ["<absolute-path-to-project>/build/index.js"], "env": { "GAS_WEB_APP_URL": "https://script.google.com/macros/s/your-deployment-id/exec", "GAS_API_KEY": "your-api-key" } } } }

- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%AppData%\\Claude\\claude_desktop_config.json

npx @modelcontextprotocol/inspector node build/index.js
src/ ├── index.ts # エントリポイント ├── server.ts # MCPサーバー設定 ├── config.ts # 環境変数と設定管理 ├── tools/ # ツール実装 │ ├── getSpreadsheet.ts │ ├── getSheetData.ts │ └── index.ts ├── api/ # API処理 │ ├── README.md # API仕様 │ ├── spreadsheet.ts │ └── types.ts └── utils/ # ユーティリティ └── format.ts
# 単体テスト実行 npm test # ウォッチモードでテスト npm run test:watch

このサーバーは、実際の使用時にはGoogle Apps ScriptのWeb Appと連携して動作します:
- Google Apps ScriptでWeb Appを作成する
- Webアプリ側でスプレッドシートにアクセスするAPIを実装する(api/README.md参照)
- APIキーを設定し、環境変数GAS_WEB_APP_URLGAS_API_KEYで連携する

このアプローチにより、Google認証フローを回避し、スプレッドシートのセキュリティを維持できます。

環境変数が設定されていない場合は、モックモードで動作し、テスト用のデータが返されます。

Integrate with Google Sheets to read, write, and manage spreadsheet data.

A server that connects to the Google Sheets API, enabling AI-driven spreadsheet automation and data manipulation.

Interact with Google Sheets using a Python-based MCP server and Google Apps Script.

A server for comprehensive Google Sheets integration, requiring Google OAuth credentials.

A server for interacting with Google Sheets, allowing you to read, write, and manage spreadsheet data.

Full Google Sheets integration - read, write, format cells, create charts, use formulas, and manage spreadsheets.

Parses invoice data, uploads it to Google Sheets, and answers queries by fetching information from the sheet.

A data firewall between AI and your Google Sheets - Integrate with Google Sheets to read, write, and manage spreadsheet data.

A specialized Google Sheets integration server that allows the LLM to read, write, and manage spreadsheet data in real-time. This server supports cell-level manipulation, bulk range updates, and full worksheet retrieval, enabling the model to perform data analysis, logging, and automated reporting directly within Google Worksheets.If you have functions which take range value then first read the sheet and decide where user is asking to add data and define range by your own.Provides 46 tools for Gsheet

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.