关于 Spreadsheet MCP Server
Spreadsheet MCP Server 将 Google Spreadsheet 数据提供给大模型和 MCP 客户端。它可获取电子表格及工作表信息,或将指定工作表数据整理为 Markdown 表格;实时访问通过 Google Apps Script Web App 完成。
主要功能
- 01获取电子表格信息和工作表列表
- 02读取指定工作表数据
- 03将数据整理为 Markdown 表格
- 04未配置时使用模拟数据
适用场景
- 01查看电子表格名称和工作表尺寸
- 02在大模型工作流中读取工作表内容
- 03在无实时表格访问时测试集成
MCP 相关
该 MCP 服务提供 `getSpreadsheet` 和 `getSheetData` 工具,用于获取电子表格元数据和工作表内容。实时访问需配置带 API 密钥的 Google Apps Script Web App;缺少配置时返回模拟数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Spreadsheet MCP Server
本项目是一个用于访问 Google Spreadsheet 数据的 Model Context Protocol(MCP)服务,可让大模型直接使用电子表格信息。
功能
- 获取电子表格的基本信息(例如工作表列表)
- 获取特定工作表的数据,并将其整理为 Markdown 格式
- 与 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 的 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 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"
}
}
}
}
配置文件位于以下位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%AppData%\\Claude\\claude_desktop_config.json
使用 MCP Inspector 测试
npx @modelcontextprotocol/inspector node build/index.js
提供的工具
getSpreadsheet
获取电子表格的基本信息和其中包含的工作表列表。
输入参数:
url:电子表格的 URL
输出:
- 电子表格名称、ID、工作表列表(包括行数和列数)
getSheetData
获取电子表格中特定工作表的数据。
输入参数:
url:电子表格的 URLsheetName:要获取的工作表名称
输出:
- 工作表数据(Markdown 表格格式)
开发
项目结构
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 集成
实际使用时,此服务会与 Google Apps Script Web App 配合运行:
- 在 Google Apps Script 中创建一个Web App
- 在 Web App 端实现访问电子表格的 API(参见
api/README.md) - 设置 API 密钥,并通过环境变量
GAS_WEB_APP_URL和GAS_API_KEY进行连接
通过这种方式,可以绕过 Google 身份验证流程,同时保障电子表格的安全性。
如果未设置环境变量,服务器将以模拟模式运行,并返回测试数据。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。