mcpField
S
Spreadsheet MCP Server

Spreadsheet MCP Server

本地服务
github.com/HosakaKeigo数据与分析182 周前更新

关于 Spreadsheet MCP Server

Spreadsheet MCP Server 将 Google Spreadsheet 数据提供给大模型和 MCP 客户端。它可获取电子表格及工作表信息,或将指定工作表数据整理为 Markdown 表格;实时访问通过 Google Apps Script Web App 完成。

主要功能

  1. 01获取电子表格信息和工作表列表
  2. 02读取指定工作表数据
  3. 03将数据整理为 Markdown 表格
  4. 04未配置时使用模拟数据

适用场景

  1. 01查看电子表格名称和工作表尺寸
  2. 02在大模型工作流中读取工作表内容
  3. 03在无实时表格访问时测试集成

MCP 相关

该 MCP 服务提供 `getSpreadsheet` 和 `getSheetData` 工具,用于获取电子表格元数据和工作表内容。实时访问需配置带 API 密钥的 Google Apps Script Web App;缺少配置时返回模拟数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"spreadsheet": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
启动命令npx -y @modelcontextprotocol/inspector

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@modelcontextprotocol/inspector

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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 的 URL
  • GAS_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:电子表格的 URL
  • sheetName:要获取的工作表名称

输出:

  • 工作表数据(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 配合运行:

  1. 在 Google Apps Script 中创建一个Web App
  2. 在 Web App 端实现访问电子表格的 API(参见 api/README.md)
  3. 设置 API 密钥,并通过环境变量 GAS_WEB_APP_URL 和 GAS_API_KEY 进行连接

通过这种方式,可以绕过 Google 身份验证流程,同时保障电子表格的安全性。

如果未设置环境变量,服务器将以模拟模式运行,并返回测试数据。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。