Google Sheets数据集成服务

一个基于MCP协议的Google Sheets集成服务器,专为Klaudia数据录入代理系统设计,提供自动化数据录入功能,适用于收据处理和报销工作流。

  • by Yudhyy
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Laoode/mcp-gsheets

使用说明

MCP谷歌表格服务器

用于Google表格集成的模型上下文协议(MCP)服务器,专为 克劳迪娅 数据输入代理系统。

概述

此服务器将Google表格操作作为MCP工具公开,实现收据处理和报销工作流的自动数据输入。

特性

读取操作

  • tool_get_sheet_data -从特定范围获取数据
  • tool_get_sheet_formulas -从单元格中检索公式
  • tool_list_sheets -列出电子表格中的所有工作表选项卡
  • tool_get_spreadsheet_info -获取电子表格元数据
  • tool_get_multiple_sheet_data -从多个范围批量提取

写入操作

  • tool_update_cells -更新特定单元格范围
  • tool_batch_update_cells -高效地更新多个范围
  • tool_append_rows -添加新行(非常适合收据条目)
  • tool_add_rows / tool_add_columns -插入空行/空列
  • tool_clear_range -在保持格式的同时清除值

表单管理

  • tool_create_sheet -创建新的图纸选项卡
  • tool_rename_sheet -重命名现有图纸
  • tool_copy_sheet -在电子表格之间复制表格
  • tool_delete_sheet -删除工作表选项卡
  • tool_batch_update -高级批处理操作

设置

1.先决条件

  • Python 3.11+
  • 紫外线 包管理器
  • 启用Sheets API的Google Cloud项目
  • 具有表格访问权限的服务帐户

2.安装

cd mcp-gsheets
uv sync

3.配置

创建一个 .env 模板中的文件:

cp .env.template .env

配置您的环境:

SERVICE_ACCOUNT_PATH=service_account.json
SHEET_ID=your-spreadsheet-id
FASTMCP_PORT=8002
FASTMCP_HOST=0.0.0.0
LOG_LEVEL=INFO

4.服务帐户设置

  1. 在Google Cloud Console中创建服务帐户
  2. 下载JSON凭据文件
  3. 将其放置为 service_account.json 在项目根中
  4. 将您的目标电子表格与服务帐户电子邮件共享

运行服务器

stdio传输(默认)

uv run python main.py

SSE/HTTP传输

uv run python main.py --transport sse

项目结构

mcp-gsheets/
├── app/
│   ├── __init__.py          # Package entry point
│   ├── server.py            # FastMCP server with tool definitions
│   ├── infra/
│   │   ├── __init__.py
│   │   └── gsheet_client.py # Google Sheets API client
│   ├── tools/
│   │   ├── __init__.py
│   │   ├── read_ops.py      # Read operations
│   │   ├── write_ops.py     # Write operations
│   │   └── sheet_ops.py     # Sheet management
│   └── utils/
│       ├── __init__.py
│       └── logger.py        # Logging configuration
├── main.py                   # Entry point script
├── pyproject.toml
├── .env.template
└── README.md

使用示例

当与Klaudia编排器一起使用时,代理可以:

  1. 提取收据数据 (通过mcp ocr)
  2. 附加到电子表格 使用 tool_append_rows:
# Example: Adding receipt entry
data = [
    ["2025-01-13", "Starbucks", "Coffee", "45000", "Food & Beverage"]
]
tool_append_rows(
    spreadsheet_id="your-sheet-id",
    sheet="Receipts",
    data=data
)

与Klaudia整合

此服务器在端口上运行 8002 并且被设计为与以下设备一起工作:

  • mcp ocr (端口8001)-收据图像/PDF处理
  • Klaudia编曲 (端口8000)-主FastAPI后端

许可证

Klaudia AI数据输入代理项目的一部分。