谷歌表格集成
STDIO用于访问Google表格数据的MCP服务器
用于访问Google表格数据的MCP服务器
このプロジェクトは、Google SpreadsheetのデータにアクセスするためのModel Context Protocol (MCP) サーバーです。LLMがスプレッドシート情報を直接利用できるようにします。
# リポジトリのクローン 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のURLGAS_API_KEY
: Google Apps Script Web Appのアクセス用APIキーこれらの環境変数は .env
ファイルに設定できます:
GAS_WEB_APP_URL=https://script.google.com/macros/s/your-deployment-id/exec
GAS_API_KEY=your-api-key
環境変数が設定されていない場合、サーバーはモックモードで動作し、実際のGoogleスプレッドシートにはアクセスしません。
npm start
Claude for Desktopの設定ファイル (claude_desktop_config.json
) に以下を追加します:
{ "mcpServers": { "spreadsheet": { "command": "node", "args": ["<absolute-path-to-project>/build/index.js"] } } }
環境変数を設定するには、以下のようにenv
フィールドを追加します:
{ "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" } } } }
設定ファイルは以下の場所にあります:
~/Library/Application Support/Claude/claude_desktop_config.json
%AppData%\\Claude\\claude_desktop_config.json
npx @modelcontextprotocol/inspector node build/index.js
スプレッドシートの基本情報と含まれるシート一覧を取得します。
入力パラメータ:
url
: スプレッドシートのURL出力:
スプレッドシートの特定シートのデータを取得します。
入力パラメータ:
url
: スプレッドシートのURLsheetName
: 取得するシート名出力:
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と連携して動作します:
api/README.md
参照)GAS_WEB_APP_URL
とGAS_API_KEY
で連携するこのアプローチにより、Google認証フローを回避し、スプレッドシートのセキュリティを維持できます。
環境変数が設定されていない場合は、モックモードで動作し、テスト用のデータが返されます。
MIT