使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在使大型语言模型 (LLM) 能够访问和分析 Google Sheets 中的数据。通过提供预定义的工具,该服务器允许 LLM 从电子表格中提取见解、预测未来趋势并根据数据提出建议。它包含一个 MCP 服务器和一个客户端示例,演示了如何与服务器交互以进行数据分析和问答。

主要功能点

  • 连接 Google Sheets: 从指定的 Google Drive 文件夹加载 Google Sheets 数据。
  • 数据处理: 将 Google Sheets 数据转换为 pandas DataFrames,便于分析。
  • 内置工具:
    • 'get_insights': 分析电子表格数据,总结关键趋势和见解。
    • 'get_future_recommendations': 基于数据分析结果,为未来操作提供建议。
  • Claude AI 集成: 使用 Anthropic 的 Claude AI 模型作为 LLM 引擎,处理用户查询和生成自然语言回复。
  • MCP 服务器/客户端架构: 实现了完整 MCP 协议的服务器和客户端,支持通过标准化的方式与 LLM 应用交互。

安装步骤

  1. 配置 Google Cloud API:

    • 访问 Google Cloud Console 并创建一个项目。
    • 启用 Google Drive APIGoogle Sheets API
    • 创建一个服务帐户 (Service Account),并授予如 'Viewer' 或 'Drive Reader' 等角色。
    • 下载服务帐户的 JSON 密钥文件,并将其保存到 'credentials/gcp_credentials.json'(或根据您的配置修改 'lib/configs/configuration.py' 中的 'CREDENTIALS_FILE' 路径)。
    • 将包含要分析的 Google Sheets 文件的文件夹,共享给您的服务帐户的客户端邮箱地址 (client_email,可在 JSON 密钥文件中找到)。
  2. 获取 Anthropic API 密钥:

    • 访问 Anthropic Console 并获取 API 密钥。
    • 将 API 密钥设置为环境变量 'ANTHROPIC_API_KEY',例如在终端中运行 'export ANTHROPIC_API_KEY="your-api-key"'。
  3. 创建并激活 Conda 环境:

    • 确保已安装 Conda。
    • 在仓库根目录下,运行 'conda env create -f environment.yml' 创建名为 'gsheet-mcp' 的 Conda 环境。
    • 运行 'conda activate gsheet-mcp' 激活环境。

服务器配置 (MCP 客户端)

MCP 客户端需要以下配置信息来连接到 MCP 服务器。请注意,以下配置为 JSON 格式的示例,您需要根据实际客户端的要求进行适配。

{
  "serverName": "spreadsheet-analyzer",  // MCP 服务器名称,与服务器端配置一致
  "command": "python",                   // 启动 MCP 服务器的命令
  "args": ["lib/server/server.py"]      // 启动命令的参数,指向服务器脚本
}

基本使用方法

  1. 启动 MCP 服务器:

    • 打开终端,激活 Conda 环境 'gsheet-mcp'。
    • 切换到仓库根目录。
    • 运行命令 'python lib/server/server.py' 启动 MCP 服务器。服务器将加载指定 Google Drive 文件夹中的电子表格,并准备好接受客户端请求。
  2. 运行 MCP 客户端:

    • 打开 另一个 终端,同样激活 Conda 环境 'gsheet-mcp'。
    • 切换到仓库根目录。
    • 运行命令 'python lib/client/client.py lib/server/server.py' 启动 MCP 客户端,并将服务器脚本的路径作为参数传递给客户端。
    • 客户端成功连接服务器后,您可以在终端中输入问题,例如:
      • 'What are the top insights from the inventory sheet?' (库存表的主要见解是什么?)
      • 'What future recommendations can you give for budgeting?' (你能为预算提供哪些未来建议?)
      • 'Summarize fund trends across all files.' (总结所有文件的资金趋势。)
    • Claude AI 将根据您的问题和可用的工具生成回复。输入 'quit' 退出客户端。

注意: 请确保已正确配置 Google Cloud API、Anthropic API 密钥,并将包含 Google Sheets 文件的文件夹共享给服务帐户。首次运行可能需要一些时间来加载数据和建立连接。

信息

分类

生产力应用