Google表格MCP服务器🔗📊
最新版本。2.
此版本适用于护肤品、衣柜、食品商务单。
现在一次只需要一个项目订单
现在执行订单更新或删除。
一次订单缺少多个项目/产品
  
高级MCP服务器,将OpenAI代理连接到Google表格,以实现智能列检测和简化订单处理的自动化业务操作。
🏗️ 系统架构
核心组件
| 组件 | 用途 | 代码行 | 主要功能 |
|---|---|---|---|
server.py | MCP服务器核心 | 780 | 2个工具,OAuth,智能列检测 |
client.py | OpenAI代理 | 112 | 客户服务接口 |
connection.json | 配置 | - | 工作表ID、OAuth令牌 |
google_client_secret.json | OAuth凭据 | - | Google API身份验证 |
数据流架构
Customer Query → Agent (client.py) → MCP Server (server.py) → Google Sheets API → Response🛠️ MCP工具概述
服务器实现 2个专用工具 对于全面的业务运营:
1. google_sheets_query_tool(query: str)
- 目的:主要面向客户的产品查询工具
- 用法:产品搜索、可用性检查、定价问题
- 示例:
"wall clock"→ 返回包含详细信息的匹配产品 - 特性:智能产品匹配、库存状态报告
2. process_customer_order_tool(customer_name, product_name, quantity, ...)
- 目的:完成端到端订单处理(主工具)
- 特性:
- ✅ 自动产品验证 - ✅ 库存更新(库存减少) - ✅ 包含所有详细信息的订单记录 - ✅ 返回格式化的订单摘要 - ✅ 防止重复订单(30秒窗口)
- 参数:
customer_name,product_name,quantity,customer_email,notes,customer_address,payment_mode
🧠 高级功能
智能立柱检测系统
该服务器包括一个智能列映射系统,可以自动检测和映射电子表格列:
# Automatic column type detection
"product_name": ["item_name", "product_name", "product_title", "name", "product"]
"quantity": ["quantity", "qty", "stock", "available", "inventory"]
"price": ["unit_price", "price", "cost", "amount", "rate", "pkr"]
"id": ["item_id", "product_id", "id", "sku", "code"]优点:
- 适用于任何电子表格列命名约定
- 将精确匹配优先于部分匹配
- 支持多种业务类型(零售、服务、制造)
订单处理架构
简化的单工具流程:
- 客户查询→
google_sheets_query_tool() - 下单→
process_customer_order_tool()(处理一切) - 自动更新库存和记录订单
- 已格式化的订单摘要已返回给客户
OAuth 2.0集成
- 安全认证:带有刷新令牌的Google OAuth 2.0
- 许可证管理:自动令牌刷新和保存
- 范围:Google Sheets API v4访问
日志记录和调试
- 综合录井:已启用JSON RPC消息日志记录
- 调试信息:列映射、产品搜索、订单处理
- 错误处理:带上下文的详细错误报告
🚀 快速设置
1.安装依赖项
pip install -e .2.谷歌OAuth设置
- 首选 谷歌云控制台
- 创建项目→ 启用Google Sheets API并驱动API
- 创建OAuth 2.0凭据→ 下载为
google_client_secret.json
3.配置工作表
python setup.py按照提示操作:
- 授权谷歌访问
- 选择您的电子表格
- 选择库存和订单
4.运行您的系统
# Terminal 1 - Start MCP Server (Port 8010)
python server.py
# Terminal 2 - Start OpenAI Agent
python client.py📋 电子表格要求
库存表列 (自动检测)
- 产品ID/SKU
- 产品名称
- 类别(可选)
- 库存数量
- 单价
- 库存状态
订单表列 (自动检测)
- 订单编号
- 产品
- 数量
- 单价
- 总价
- 支付类型
- 订单状态
- 客户名称
- 客户电子邮件
- 送货地址
🔧 配置文件
connection.json 结构
{
"inventory": {
"workbook_id": "your-sheet-id",
"worksheet_name": "inventory-sheet-name"
},
"orders": {
"workbook_id": "your-sheet-id",
"worksheet_name": "orders-sheet-name"
},
"refresh_token": "your-oauth-refresh-token",
"spreadsheet_name": "Your Business Name"
}🤖 代理能力
您的OpenAI代理现在可以:
- ✅ 回答产品问题 智能地
- ✅ 检查实时库存 以及可用性
- ✅ 处理客户订单 端对端
- ✅ 自动更新库存 下单后
- ✅ 记录详细订单 在谷歌表格中
- ✅ 处理付款方式 (货到付款/在线)
- ✅ 防止重复订单 自动地
- ✅ 生成订单摘要 给客户
🛡️ 错误处理和功能
- 防止重复:30秒级重复数据删除窗口
- 库存验证:自动可用性检查
- 缺少信息:所需客户数据的智能提示
- 灵活的架构:适用于任何电子表格列结构
- 强健的身份验证:自动刷新OAuth令牌
🔍 技术实现
主要技术特点:
- FastMCP框架:现代MCP服务器实现
- 智能列检测:自动电子表格模式分析
- OAuth 2.0集成:安全的Google API身份验证
- 防止重复:使用基于时间的缓存进行重复数据删除
- 综合录井:JSON RPC和调试消息日志记录
- 错误恢复:优雅地处理API错误和超时
依赖关系:
fastmcp>=2.12.5-MCP服务器框架google-api-python-client>=2.185.0-谷歌网页APIgoogle-auth>=2.41.1-OAuth身份验证openai-agents>=0.4.0-OpenAI代理SDKuvicorn[standard]>=0.38.0-ASGI服务器
📊 当前状态
✅ 全面运转的 -代理成功:
- 自动处理订单和更新库存
- 适用于多种电子表格格式(装饰清单、衣柜清单等)
- 通过Google表格集成提供实时客户服务
- 维护订单历史和客户数据
______________________________________________________________________
内置❤️ 用于自动化业务操作
就是这样!不需要复杂的仪表板或配置管理。
