Google Spreadsheets
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
Jump to
- 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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Google SpreadsheetsCommand (node, npx, python, etc.)nodeArguments-
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.
-
Argument 1
- 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_URLとGAS_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
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




