表格交互服务器

Google Sheets MCP服务器,使Claude Desktop能够直接与Google Sheets交互,提供创建、读取、写入和管理表格的功能。

  • by amaboh
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 amaboh/google-sheets-mcp-server

使用说明

Google表格MCP服务器

用于Google表格的模型上下文协议(MCP)服务器,使Claude Desktop能够直接与Google表格交互。此服务器提供通过Claude Desktop创建、读取、写入和管理Google表格的工具。

特性

  • 创建新的Google表格
  • 读取和写入现有工作表中的数据
  • 设置单元格和范围的格式
  • 添加和删除工作表
  • 编写公式
  • 搜索工作表
  • 列出可用工作表

先决条件

  • Python 3.10或更高版本
  • 启用Google Sheets API的Google云项目
  • 来自谷歌云控制台的OAuth 2.0凭据
  • Claude桌面应用程序
  • uv 包管理器(推荐)

安装

  1. 克隆存储库:
git clone https://github.com/yourusername/google-sheets-mcp-server.git
cd google-sheets-mcp-server
  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. 使用安装依赖项 uv:
uv pip install -e .
  1. 设置Google Cloud凭据:
    • 首选 谷歌云控制台
    • 创建新项目或选择现有项目
    • 启用Google Sheets API和Google Drive API
    • 创建OAuth 2.0凭据(桌面应用程序)
    • 下载凭据并另存为 ~/.config/google_sheets_mcp/google-sheets-mcp.json

配置

  1. 配置Claude桌面:
    • 打开克劳德桌面设置
    • 将以下内容添加到您的 claude_desktop_config.json:
{
  "mcpServers": {
    "google_sheets": {
      "command": "/path/to/your/.venv/bin/python",
      "args": [
        "/path/to/your/google_sheets.py",
        "--credentials-path",
        "/Users/yourusername/.config/google_sheets_mcp/google-sheets-mcp.json",
        "--log-level",
        "DEBUG"
      ]
    }
  }
}
  1. 首次设置:
    • 手动运行服务器以完成OAuth身份验证:
python google_sheets.py --credentials-path ~/.config/google_sheets_mcp/google-sheets-mcp.json
  • 按照浏览器提示授权应用程序
  • 令牌将自动保存以备将来使用

用法

设置后,您可以在Claude Desktop中使用以下命令:

  • 创建新工作表: create_sheet(title: str)
  • 设置单元格格式: format_range(file_id: str, range: str, format: dict)
  • 编写公式: write_formula(file_id: str, range: str, formula: str)
  • 添加图纸: add_sheet(file_id: str, title: str)
  • 删除工作表: delete_sheet(file_id: str, sheet_id: int)
  • 获取图纸属性: get_sheet_properties(file_id: str)

发展

项目结构

google-sheets-mcp-server/
├── .venv/                  # Virtual environment
├── google_sheets.py        # Main server implementation
├── pyproject.toml         # Project configuration and dependencies
├── tests/                 # Test files
└── README.md             # This file

添加新功能

  1. 向中添加新的工具方法 GoogleSheetsMCP 类
  2. 用 @mcp.tool()
  3. 使用新功能文档更新README

运行测试

pytest

故障排除

  1. 服务器连接问题

    • 检查服务器是否正在运行
    • 验证配置中的凭据路径
    • 在Claude Desktop中检查日志
  2. 身份验证问题

    • 确保OAuth凭据有效
    • 检查您的电子邮件是否已添加为测试用户
    • 尝试删除token.json并重新进行身份验证
  3. API错误

    • 验证Google Sheets API是否已启用
    • 检查API配额和限制
    • 查看错误日志以了解具体问题

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 提交您的更改
  4. 推到分支
  5. 创建拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。