MCP谷歌表格服务器
该项目提供了一个模型上下文协议(MCP)服务器,允许与Google表格进行交互。
它使工具暴露于:
- 在电子表格中列出工作表(选项卡)。
- 从特定单元格范围读取数据。
- 将数据写入特定单元格范围。
它明确 不 提供管理Google Drive文件的工具(列出、创建、删除文件夹/文件)。访问仅限于电子表格内容。
先决条件
- Python 3.11+
- 启用Google Sheets API的Google云项目
- 服务帐户密钥:
- 转到Google Cloud控制台并创建新的服务帐户。 - 下载服务帐户密钥文件(JSON格式)。 - 授予此服务帐户您要访问的Google表格的“编辑”角色。
如何使用
- 克隆存储库。
git clone https://github.com/shionhonda/mcp-gsheet.git- 设置Google凭据:
- 设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量 _绝对路径_ 您下载的服务帐户JSON密钥文件。
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-key.json"- 或者,您可以将密钥文件放置在Google Cloud客户端库识别的标准位置(不建议用于共享环境)。
- 安装依赖关系:
uv venv
source .venv/bin/activate- 运行服务器
使用MCP Inspector开发服务器:
mcp dev server.py要运行服务器,请执行以下操作:
mcp run server.py服务器将启动并通过标准输入/输出(stdio)监听MCP请求。
克劳德桌面
将以下内容添加到您的Claude Desktop配置中:
{
"mcpServers": {
"gsheet": {
"command": "/path/to/uv",
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json"
},
"args": ["--directory", "/path/to/mcp-gsheet", "run", "server.py"]
}
}
}提供的MCP工具
list_sheets(spreadsheet_id: str) -> list[str]:列出指定电子表格中所有工作表的名称。read_cells(spreadsheet_id: str, range_name: str) -> list[list[str]]:从给定范围读取数据(例如。,'Sheet1!A1:B5').write_cells(spreadsheet_id: str, range_name: str, values: list[list[str]]) -> str:将提供的2D值列表写入指定的起始单元格/范围(例如。,'Sheet1!C1').

