mcp-google-sheets
Your AI Assistant's Gateway to Google Sheets! 📊
](https://pypi.org/project/mcp-google-sheets/) ](https://pepy.tech/projects/mcp-google-sheets)
______________________________________________________________________
🤔 这是什么?
mcp-google-sheets 是一个基于Python的MCP服务器,充当任何兼容MCP的客户端(如Claude Desktop)和Google Sheets API之间的桥梁。它允许您使用一组定义好的工具与Google电子表格进行交互,从而实现由AI驱动的强大自动化和数据操作工作流程。
______________________________________________________________________
🚀 快速入门(使用 uvx)
从本质上讲,服务器运行在一行中: uvx mcp-google-sheets@latest.
此命令将自动下载最新代码并运行它。 我们建议始终使用 @latest 以确保您拥有具有最新功能和错误修复的最新版本。
_请参阅 ID参考指南 有关下面使用的ID的更多信息。_
- ☁️ 先决条件:谷歌云设置
- 你 必须 首先配置Google Cloud Platform凭据并启用必要的API。我们强烈建议使用 服务账号. - ➡️ 跳到 详细的Google云平台设置 下面的指南。
- 🐍 安装
uv
- uvx 是...的一部分 uv,一个快速的Python包安装程序和解析器。如果您还没有安装它:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Or using pip:
# pip install uv*按照安装程序输出中的说明添加 uv 如有需要,请前往您的路径。*
- 🔑 设置基本环境变量(建议使用服务帐户)
- 您需要告诉服务器如何进行身份验证。在终端中设置这些变量: - (Linux/macOS)
# Replace with YOUR actual path and folder ID from the Google Setup step
export SERVICE_ACCOUNT_PATH="/path/to/your/service-account-key.json"
export DRIVE_FOLDER_ID="YOUR_DRIVE_FOLDER_ID"- (Windows CMD)
set SERVICE_ACCOUNT_PATH="C:\path\to\your\service-account-key.json"
set DRIVE_FOLDER_ID="YOUR_DRIVE_FOLDER_ID"- (Windows PowerShell)
$env:SERVICE_ACCOUNT_PATH = "C:\path\to\your\service-account-key.json"
$env:DRIVE_FOLDER_ID = "YOUR_DRIVE_FOLDER_ID"- ➡️ 看 详细的身份验证和环境变量 对于其他选项(OAuth, CREDENTIALS_CONFIG).
- 🏃 运行服务器!
- uvx 将自动下载并运行最新版本的 mcp-google-sheets:
uvx mcp-google-sheets@latest- 服务器将启动并打印日志,表明它已准备就绪。 - - > 💡 专业提示: 始终使用 @latest 以确保您获得具有错误修复和功能的最新版本。没有 @latest, uvx 可能会使用缓存的旧版本。
- 🔌 连接您的MCP客户端
- 配置您的客户端(例如Claude Desktop)以连接到正在运行的服务器。 - 根据您使用的客户端,您可能不需要步骤4,因为客户端可以为您启动服务器。但无论如何,测试运行步骤4以确保设置正确是一种很好的做法。 - ➡️ 看 使用Claude Desktop 例如。
- ⚡ 可选:启用工具筛选(减少上下文使用)
- 默认情况下,所有19个工具都已启用(约13K个令牌)。要减少上下文使用,请仅启用所需的工具。 - ➡️ 看 工具筛选 了解详情。
你准备好了!开始通过MCP客户端发出命令。
______________________________________________________________________
✨ 主要特点
- 无缝集成: 直接连接到Google云端硬盘和Google表格API。
- 综合工具: 提供广泛的操作(CRUD、列表、批处理、共享、格式化等)。
- 灵活的身份验证: 支持 服务帐户(推荐)OAuth 2.0,以及通过环境变量直接注入凭据。
- 易于部署: 立即跑步
uvx(零安装感觉)或使用克隆进行开发uv. - AI就绪: 专为与MCP兼容的客户端一起使用而设计,支持自然语言电子表格交互。
- 工具筛选: 通过仅启用所需的工具来减少上下文窗口的使用
--include-tools或ENABLED_TOOLS环境变量。
______________________________________________________________________
🎯 工具筛选(减少上下文使用)
问题: 默认情况下,此MCP服务器公开所有19个工具,在任何对话开始之前消耗约13000个令牌。如果你只需要几个工具,这会浪费宝贵的上下文窗口空间。
解决方案: 使用工具筛选仅启用您实际使用的工具。
如何启用工具筛选
您可以使用以下任一方式过滤工具:
- 命令行参数
--include-tools:
{
"mcpServers": {
"google-sheets": {
"command": "uvx",
"args": [
"mcp-google-sheets@latest",
"--include-tools",
"get_sheet_data,update_cells,list_spreadsheets,list_sheets"
],
"env": {
"SERVICE_ACCOUNT_PATH": "/path/to/credentials.json"
}
}
}
}- 环境变量
ENABLED_TOOLS:
{
"mcpServers": {
"google-sheets": {
"command": "uvx",
"args": ["mcp-google-sheets@latest"],
"env": {
"SERVICE_ACCOUNT_PATH": "/path/to/credentials.json",
"ENABLED_TOOLS": "get_sheet_data,update_cells,list_spreadsheets,list_sheets"
}
}
}
}可用工具名称
筛选时,使用这些精确的工具名称(逗号分隔,无空格):
最常用工具(推荐子集):
get_sheet_data-从电子表格中读取update_cells-写入电子表格list_spreadsheets-查找电子表格list_sheets-导航选项卡
所有可用工具:
add_columnsadd_rowsbatch_updatebatch_update_cellscopy_sheetcreate_sheetcreate_spreadsheetfind_in_spreadsheetget_multiple_sheet_dataget_multiple_spreadsheet_summaryget_sheet_dataget_sheet_formulaslist_folderslist_sheetslist_spreadsheetsrename_sheetsearch_spreadsheetsshare_spreadsheetupdate_cells
注: 如果两者都没有 --include-tools 也不 ENABLED_TOOLS 如果指定,则启用所有工具(默认行为)。
______________________________________________________________________
🛠️ 可用工具和资源
此服务器公开了以下与Google表格交互的工具:
_请参阅 ID参考指南 有关下面使用的ID的更多信息。_
*(除非另有说明,否则输入参数通常为字符串)*
list_spreadsheets:列出配置的驱动器文件夹(服务帐户)中或用户可访问的电子表格(OAuth)。
- folder_id (可选字符串):要搜索的Google Drive文件夹ID。从其URL获取。如果省略,则使用配置的默认文件夹或搜索“我的驱动器”。 - _退货:_ 对象列表 [{id: string, title: string}]
create_spreadsheet:创建新的电子表格。
- title (string):电子表格所需的标题。示例:“第四季度季度报告”。 - folder_id (可选字符串):创建电子表格的Google Drive文件夹ID。从其URL获取。如果省略,则使用配置的默认值或根。 - _退货:_ 包含电子表格信息的对象,包括 spreadsheetId, title,以及 folder.
get_sheet_data:从工作表/选项卡中的某个范围读取数据。
- spreadsheet_id (string):电子表格ID(来自其URL)。 - sheet (string):工作表/选项卡的名称(例如,“Sheet1”)。 - range (可选字符串):A1表示法(例如。, 'A1:C10', 'Sheet1!B2:D').如果省略,则读取由指定的整个工作表/选项卡 sheet. - include_grid_data (可选布尔值,默认值 False):如果 True,返回完整的网格数据,包括格式和元数据(大得多)。如果 False,仅返回值(更高效)。 - _退货:_ 如果 include_grid_data=True,带元数据的全网格数据(get 响应).如果 False,来自values API的值结果对象(values.get 响应).
get_sheet_formulas:从工作表/选项卡中的某个范围读取公式。
- spreadsheet_id (string):电子表格ID(来自其URL)。 - sheet (string):工作表/选项卡的名称(例如,“Sheet1”)。 - range (可选字符串):A1表示法(例如。, 'A1:C10', 'Sheet1!B2:D').如果省略,则读取由指定的工作表/选项卡中的所有公式 sheet. - _退货:_ 二维单元格公式数组(数组数组)(values.get 响应).
update_cells:将数据写入特定范围。覆盖现有数据。
- spreadsheet_id (string):电子表格ID(来自其URL)。 - sheet (string):工作表/选项卡的名称(例如,“Sheet1”)。 - range (字符串):要写入的A1表示法范围(例如,“A1:C3”)。 - data (数组):要写入的二维值数组。例子: [[1, 2, 3], ["a", "b", "c"]]. - _退货:_ 更新结果对象(values.update 响应).
batch_update_cells:在一个API调用中更新多个范围。
- spreadsheet_id (string):电子表格ID(来自其URL)。 - sheet (string):工作表/选项卡的名称(例如,“Sheet1”)。 - ranges (object):将范围字符串(A1表示法)映射到2D值数组的字典。例子: { "A1:B2": [[1, 2], [3, 4]], "D5": [["Hello"]] }. - _退货:_ 操作结果(values.batchUpdate 响应).
add_rows:在指定索引处向工作表/选项卡添加(插入)空行。
- spreadsheet_id (string):电子表格ID(来自其URL)。 - sheet (string):工作表/选项卡的名称(例如,“Sheet1”)。 - count (整数):要插入的空行数。 - start_row (可选整数,默认值 0):从0开始插入行的行索引。如果省略,则默认为 0 (插入开头)。 - _退货:_ 操作结果(batchUpdate 响应).
list_sheets:列出电子表格中的所有工作表/选项卡名称。
- spreadsheet_id (string):电子表格ID(来自其URL)。 - _退货:_ 工作表/选项卡名称字符串列表。例子: ["Sheet1", "Sheet2"].
create_sheet:在电子表格中添加新的工作表/选项卡。
- spreadsheet_id (string):电子表格ID(来自其URL)。 - title (string):新工作表/选项卡的名称。 - _退货:_ 新建图纸属性对象。
get_multiple_sheet_data:在一次调用中从可能不同的电子表格的多个范围获取数据。
- queries (对象数组):每个对象都需要 spreadsheet_id, sheet,以及 range示例: [{"spreadsheet_id": "abc", "sheet": "Sheet1", "range": "A1:B2"}, ...]. - _退货:_ 对象列表,每个对象都包含查询参数并已获取 data 或a error.每个 data 是一个 values.get 响应.
get_multiple_spreadsheet_summary:获取多个电子表格的标题、工作表/选项卡名称、标题和前几行。
- spreadsheet_ids (字符串数组):电子表格的ID(来自其URL)。 - rows_to_fetch (可选整数,默认值 5):要预览的行数(包括页眉)。例子: 5. - _退货:_ 每个电子表格的摘要对象列表。
share_spreadsheet:与指定的用户/电子邮件和角色共享电子表格。
- spreadsheet_id (string):电子表格ID(来自其URL)。 - recipients (对象数组): [{"email_address": "user@example.com", "role": "writer"}, ...].角色: reader, commenter, writer. - send_notification (可选布尔值,默认值 True):向收件人发送电子邮件通知。 - _退货:_ 词典与 successes 和 failures 列表。
add_columns:在指定索引处向工作表/选项卡添加(插入)空列。
- spreadsheet_id (string):电子表格ID(来自其URL)。 - sheet (string):工作表/选项卡的名称(例如,“Sheet1”)。 - count (整数):要插入的空列数。 - start_column (可选整数,默认值 0):从0开始插入列索引。如果省略,则默认为 0 (插入开头)。 - _退货:_ 操作结果(batchUpdate 响应).
copy_sheet:将工作表/选项卡从一个电子表格复制到另一个,并可选择重命名。
- src_spreadsheet (string):源电子表格ID(来自其URL)。 - src_sheet (string):源工作表/选项卡名称(例如“Sheet1”)。 - dst_spreadsheet (string):目标电子表格ID(来自其URL)。 - dst_sheet (string):目标电子表格中所需的工作表/选项卡名称。 - _退货:_ 复制和可选重命名操作的结果。
rename_sheet:重命名现有工作表/选项卡。
- spreadsheet (string):电子表格ID(来自其URL)。 - sheet (string):当前工作表/选项卡名称(例如,“Sheet1”)。 - new_name (字符串):新工作表/选项卡名称(例如“事务”)。 - _退货:_ 操作结果(batchUpdate 响应).
add_chart:根据指定数据在Google电子表格中创建图表。
- spreadsheet_id (string):电子表格ID(来自其URL)。 - sheet (string):包含数据的工作表/选项卡的名称(例如,“Sheet1”)。 - chart_type (string):要创建的图表类型。选项: COLUMN (垂直条), BAR (水平条), LINE, AREA, PIE, SCATTER, COMBO, HISTOGRAM. - data_range (字符串):图表数据的A1表示范围(例如,“A1:C10”)。第一行被视为标题。 - title (可选字符串):图表标题。 - x_axis_label (可选字符串):X轴(底部轴)的标签。不适用于饼图。 - y_axis_label (可选字符串):Y轴(左轴)的标签。不适用于饼图。 - position_x (可选整数,默认值 0):从左上角开始的水平位置偏移(像素)。 - position_y (可选整数,默认值 0):从左上角开始的垂直位置偏移(像素)。 - width (可选整数,默认值 600):图表的宽度(像素)。 - height (可选整数,默认值 400):图表的高度(像素)。 - _退货:_ 带有成功状态、图表ID和操作详细信息的结果对象。
MCP资源:
spreadsheet://{spreadsheet_id}/info:获取有关Google电子表格的基本元数据。
- _退货:_ 包含电子表格信息的JSON字符串。
______________________________________________________________________
☁️ 谷歌云平台设置(详细)
此设置是 必需的 在运行服务器之前。
- 创建/选择GCP项目: 去 谷歌云控制台.
- 启用API: 导航到“API和服务”->“库”。搜索并启用:
- Google Sheets API - Google Drive API
- 配置凭据: 你需要做出选择 *一* 下面的身份验证方法(建议使用服务帐户)。
______________________________________________________________________
🔑 身份验证和环境变量(详细)
服务器需要凭据才能访问Google API。选择一种方法:
_请参阅 ID参考指南 有关下面使用的ID的更多信息。_
方法A:服务帐户(建议用于服务器/自动化)✅
- 为什么? 无头(无需浏览器),安全,非常适合服务器环境。不容易过期。
- 步骤:
1. 创建服务帐户: 在GCP控制台->“IAM和管理”->“服务帐户”中。 - 点击“+创建服务帐户”。命名它(例如。, mcp-sheets-service). - 授予角色:添加 Editor 用于广泛访问的角色,或更细粒度的角色(如 roles/drive.file 以及特定的表格角色)以获得更严格的权限。 - 单击“完成”。找到帐户,单击操作(⋮)->“管理密钥”。 - 点击“添加密钥”->“创建新密钥”-> JSON ->“创造”。 - 下载并安全存储 JSON密钥文件。 1. 创建和共享Google Drive文件夹: - 在 Google 云端硬盘,创建一个文件夹(例如“AI管理表”)。 - 注意 文件夹ID 从URL: https://drive.google.com/drive/folders/THIS_IS_THE_FOLDER_ID. - 右键单击文件夹->“共享”->“分享”。 - 输入服务帐户的电子邮件(来自JSON文件 client_email). - 授予 编辑 访问。取消选中“通知人员”。点击“分享”。 1. 设置环境变量: - SERVICE_ACCOUNT_PATH:下载的JSON密钥文件的完整路径。 - DRIVE_FOLDER_ID:共享Google Drive文件夹的ID。 *(参见 超快速启动 对于特定于操作系统的示例)*
方法B:Auth2.0(交互式/个人使用)🧑💻
- 为什么? 用于个人使用或本地开发,其中交互式浏览器登录是可以的。
- 步骤:
1. 配置OAuth同意屏幕: 在GCP控制台->“API和服务”->“OAuth同意屏幕”中。选择“外部”,填写所需信息,添加范围(.../auth/spreadsheets, .../auth/drive),如果需要,添加测试用户。 1. 创建OAuth客户端ID: 在GCP控制台->“API和服务”->“凭据”中。“+创建信任”->“OAuth客户端ID”->键入: 桌面应用程序。命名它。“CREATE”。 下载JSON. 1. 设置环境变量: - CREDENTIALS_PATH:下载的OAuth凭据JSON文件的路径(默认值: credentials.json). - TOKEN_PATH:首次登录后存储用户刷新令牌的路径(默认值: token.json).必须可写。
方法C:直接凭证注入(高级)🔒
- 为什么? 在Docker、Kubernetes或CI/CD等环境中很有用,在这些环境中管理文件很困难,但环境变量很容易/安全。避免文件系统访问。
- 怎么用? 而不是提供 *路径* 在凭据文件中,您需要提供 *内容* 以Base64编码的文件,直接存储在环境变量中。
- 步骤:
1. 获取您的凭据JSON文件 (服务帐户密钥或OAuth客户端ID文件)。我们就这样说吧 your_credentials.json. 1. 生成Base64字符串: - (Linux/macOS): base64 -w 0 your_credentials.json - (Windows PowerShell):
$filePath = "C:\path\to\your_credentials.json"; # Use actual path
$bytes = [System.IO.File]::ReadAllBytes($filePath);
$base64 = [System.Convert]::ToBase64String($bytes);
$base64 # Copy this output- (注意): 避免将敏感凭据粘贴到不受信任的在线编码器中。 1. 设置环境变量: - CREDENTIALS_CONFIG:将此变量设置为 完整的Base64字符串 你刚刚生成。
# Example (Linux/macOS) - Use the actual string generated
export CREDENTIALS_CONFIG="ewogICJ0eXBlIjogInNlcnZpY2VfYWNjb..."方法D:应用程序默认凭据(ADC)🌐
- 为什么? 非常适合谷歌云环境(GKE、计算引擎、云运行)和本地开发
gcloud auth application-default login。不需要显式凭据文件。 - 怎么用? 使用Google的应用程序默认凭据链自动发现来自多个来源的凭据。
- ADC搜索顺序:
1. GOOGLE_APPLICATION_CREDENTIALS 环境变量(服务帐户密钥的路径)- Google的标准变量 1. gcloud auth application-default login 证书(当地发展) 1. 从元数据服务器(GKE、Compute Engine等)附加服务帐户
- 设置:
- 地方发展: 1. 跑 gcloud auth application-default login --scopes=https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spreadsheets,https://www.googleapis.com/auth/drive 一次 1. 设置配额项目: gcloud auth application-default set-quota-project (替换 使用您的Google Cloud项目ID) - 谷歌云: 将服务帐户附加到您的计算资源 - 环境变量: 集 GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json (谷歌标准)
- 不需要额外的环境变量 -当其他方法失败时,ADC会自动用作回退。
注: GOOGLE_APPLICATION_CREDENTIALS 是谷歌的官方标准环境变量,而 SERVICE_ACCOUNT_PATH 特定于此MCP服务器。如果你设置 GOOGLE_APPLICATION_CREDENTIALS,ADC会自动找到它。
身份验证优先级和摘要
服务器按以下顺序检查凭据:
CREDENTIALS_CONFIG(Base64内容)SERVICE_ACCOUNT_PATH(服务帐户JSON路径)CREDENTIALS_PATH(OAuth JSON路径)-如果令牌丢失/过期,则触发交互流- 应用程序默认凭据(ADC) -自动回退
环境变量摘要:
| 变量 | 方法 | 描述 | 默认值 |
|---|---|---|---|
SERVICE_ACCOUNT_PATH | 服务帐户 | 服务帐户JSON密钥文件的路径(特定于MCP服务器)。 | - |
GOOGLE_APPLICATION_CREDENTIALS | ADC | 服务帐户密钥的路径(谷歌的标准变量)。 | - |
DRIVE_FOLDER_ID | 服务帐户 | 与服务帐户共享的Google Drive文件夹的ID。 | - |
CREDENTIALS_PATH | OAuth 2.0 | OAuth 2.0客户端ID JSON文件的路径。 | credentials.json |
TOKEN_PATH | OAuth 2.0 | 存储生成的OAuth令牌的路径。 | token.json |
CREDENTIALS_CONFIG | 服务帐户/Outh2.0 | Base64编码的JSON凭据字符串内容。 | - |
______________________________________________________________________
⚙️ 运行服务器(详细)
_请参阅 ID参考指南 有关下面使用的ID的更多信息。_
方法1:使用 uvx (推荐给用户)
如图所示 超快速启动,这是最简单的方法。设置环境变量,然后运行:
uvx mcp-google-sheets@latestuvx 处理临时获取和运行包。
方法2:用于开发(克隆Repo)
如果你想修改代码:
- 克隆:
git clone https://github.com/yourusername/mcp-google-sheets.git && cd mcp-google-sheets(使用实际URL) - 设置环境变量: 如上所述。
- 使用运行
uv: (使用当地代码)
uv run mcp-google-sheets
# Or via the script name if defined in pyproject.toml, e.g.:
# uv run start方法3:Docker(SSE传输)
使用附带的在容器中运行服务器 Dockerfile:
# Build the image
docker build -t mcp-google-sheets .
# Run (SSE on port 8000)
# NOTE: Prefer CREDENTIALS_CONFIG (Base64 credentials content) in containers.
docker run --rm -p 8000:8000 ^
-e HOST=0.0.0.0 ^
-e PORT=8000 ^
-e CREDENTIALS_CONFIG=YOUR_BASE64_CREDENTIALS ^
-e DRIVE_FOLDER_ID=YOUR_DRIVE_FOLDER_ID ^
mcp-google-sheets- 使用
CREDENTIALS_CONFIG而不是SERVICE_ACCOUNT_PATH在Docker内部,避免将机密作为文件挂载。 - 容器开始于
--transport sse并继续收听HOST/PORT.将您的MCP客户端指向http://localhost:8000使用SSE传输。
______________________________________________________________________
🔌 使用Claude Desktop
将服务器配置添加到 claude_desktop_config.json 在...之下 mcpServers。选择与您的设置匹配的块:
_请参阅 ID参考指南 有关下面使用的ID的更多信息。_
⚠️ 重要提示:
- 🍎 macOS用户: 使用完整路径:
"/Users/yourusername/.local/bin/uvx"而不是仅仅"uvx"
🔵 Config: uvx + Service Account (Recommended)
{
"mcpServers": {
"google-sheets": {
"command": "uvx",
"args": ["mcp-google-sheets@latest"],
"env": {
"SERVICE_ACCOUNT_PATH": "/full/path/to/your/service-account-key.json",
"DRIVE_FOLDER_ID": "your_shared_folder_id_here"
}
}
}
}🍎 macOS注意事项: 如果你得到一个 spawn uvx ENOENT 错误,请使用完整路径 uvx:
{
"mcpServers": {
"google-sheets": {
"command": "/Users/yourusername/.local/bin/uvx",
"args": ["mcp-google-sheets@latest"],
"env": {
"SERVICE_ACCOUNT_PATH": "/full/path/to/your/service-account-key.json",
"DRIVE_FOLDER_ID": "your_shared_folder_id_here"
}
}
}
}*替换 yourusername 使用您的实际用户名。*
🔵 Config: uvx + OAuth 2.0
{
"mcpServers": {
"google-sheets": {
"command": "uvx",
"args": ["mcp-google-sheets@latest"],
"env": {
"CREDENTIALS_PATH": "/full/path/to/your/credentials.json",
"TOKEN_PATH": "/full/path/to/your/token.json"
}
}
}
}*注意:首次使用时,浏览器可能会打开进行谷歌登录。确保TOKEN_PATH可写。*
🍎 macOS注意事项: 如果你得到一个 spawn uvx ENOENT 错误,替换 "command": "uvx" 随着 "command": "/Users/yourusername/.local/bin/uvx" (替换 yourusername 使用您的实际用户名)。
🔵 Config: uvx + CREDENTIALS_CONFIG (Service Account Example)
{
"mcpServers": {
"google-sheets": {
"command": "uvx",
"args": ["mcp-google-sheets@latest"],
"env": {
"CREDENTIALS_CONFIG": "ewogICJ0eXBlIjogInNlcnZpY2VfYWNjb3VudCIsCiAgInByb2plY3RfaWQiOiAi...",
"DRIVE_FOLDER_ID": "your_shared_folder_id_here"
}
}
}
}*注意:粘贴CREDENTIALS_CONFIG的完整Base64字符串。服务帐户文件夹上下文仍然需要DRIVE_FOLDER_ID。*
🍎 macOS注意事项: 如果你得到一个 spawn uvx ENOENT 错误,替换 "command": "uvx" 随着 "command": "/Users/yourusername/.local/bin/uvx" (替换 yourusername 使用您的实际用户名)。
🔵 Config: uvx + Application Default Credentials (ADC)
选项1:使用GOOGLE_APPLICATION_CREDENTIALS
{
"mcpServers": {
"google-sheets": {
"command": "uvx",
"args": ["mcp-google-sheets@latest"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/service-account.json"
}
}
}
}选项2:使用gcloud身份验证(不需要env变量)
{
"mcpServers": {
"google-sheets": {
"command": "uvx",
"args": ["mcp-google-sheets@latest"],
"env": {}
}
}
}*先决条件:*
- *跑
gcloud auth application-default login --scopes=https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spreadsheets,https://www.googleapis.com/auth/drive第一。* - *设置配额项目: `gcloud auth application-default set-quota-project
`*
🍎 macOS注意事项: 如果你得到一个 spawn uvx ENOENT 错误,替换 "command": "uvx" 随着 "command": "/Users/yourusername/.local/bin/uvx" (替换 yourusername 使用您的实际用户名)。
🟡 Config: Development (Running from cloned repo)
{
"mcpServers": {
"mcp-google-sheets-local": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/your/mcp-google-sheets",
"mcp-google-sheets"
],
"env": {
"SERVICE_ACCOUNT_PATH": "/path/to/your/mcp-google-sheets/service_account.json",
"DRIVE_FOLDER_ID": "your_drive_folder_id_here"
}
}
}
}*注:使用 --directory 标记以指定项目路径,并调整路径以匹配您的实际工作区位置。*
______________________________________________________________________
💬 克劳德提示示例
连接后,尝试以下提示:
- “列出我有权访问的所有电子表格。”(或“在我的AI管理表格文件夹中”)
- “创建一个名为‘2024年第三季度季度销售报告’的新电子表格。”
- 在“季度销售报告”电子表格中,获取Sheet1范围A1到E10的数据
- 将名为“摘要”的新工作表添加到具有ID的电子表格中
1aBcDeFgHiJkLmNoPqRsTuVwXyZ." - 在我的“项目任务”电子表格的“任务”表中,将单元格B2更新为“进行中”
- 将这些行附加到电子表格中的“日志”表中
XYZ:[['2024-07-31', 'Task A Completed'], ['2024-08-01', 'Task B Started']]" - “获取电子表格“销售数据”和“库存盘点”的摘要。”
- “与共享“团队度假时间表”电子表格
team@example.com作为读者和manager@example.com作为一名作家。不要发送通知。" - “在我的‘销售报告’电子表格中创建一个柱状图,显示A1:B13范围内数据的月度收入。”
- “在‘市场分析’表中添加一个饼图,数据来自A1:B5,标题为‘按产品划分的市场份额’。”
- “在电子表格中
abc123,在Sheet1上从A1:C10范围创建一个折线图,标题为“增长趋势”,标签为“月份”和“收入”。"
______________________________________________________________________
🆔 ID参考指南
使用以下参考指南查找文档中引用的各种ID:
Google Cloud Project ID:
https://console.cloud.google.com/apis/dashboard?project=sheets-mcp-server-123456
└───── Project ID ─────┘
Google Drive Folder ID:
https://drive.google.com/drive/u/0/folders/1xcRQCU9xrNVBPTeNzHqx4hrG7yR91WIa
└────────── Folder ID ──────────┘
Google Sheets Spreadsheet ID:
https://docs.google.com/spreadsheets/d/25_-_raTaKjaVxu9nJzA7-FCrNhnkd3cXC54BPAOXemI/edit
└───────────── Spreadsheet ID ─────────────┘______________________________________________________________________
🤝 贡献
欢迎投稿!请打开一个问题来讨论bug或功能请求。拉取请求受到赞赏。
______________________________________________________________________
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
🙏 学分
- 建于 FastMCP.
- 受启发于 kazz187/mcp谷歌电子表格.
- 使用Google API Python客户端库。
