使用说明

项目简介

Excel Master MCP服务器是一个基于Model Context Protocol (MCP) 构建的后端应用,旨在为LLM客户端提供操作Excel和解决财务问题的能力。它通过标准化的MCP协议,暴露了一系列工具,允许LLM客户端读取、写入Excel文件,以及处理复杂的财务问题,并生成在Excel中执行的详细操作指南。

主要功能点

  • Excel 文件操作:
    • 创建新的 Excel 工作簿,并可指定工作表名称。
    • 读取 Excel 工作表中的数据,支持指定读取范围。
    • 写入数据到 Excel 工作表,支持指定写入范围。
  • 财务问题处理:
    • 接收用户提供的财务问题文本描述。
    • 使用AI模型(Google Gemini)分析财务问题,提取关键参数。
    • 求解财务问题,得到数值结果。
    • 生成详细的 Excel 操作步骤指南,指导用户在 Excel 中手动完成计算和分析。
  • MCP 协议支持:
    • 完全兼容 MCP 协议,可以通过 JSON-RPC 与 MCP 客户端进行通信。
    • 支持通过 Stdio 进行数据传输。
    • 提供工具列表和工具调用接口,方便 LLM 客户端集成和使用。

安装步骤

  1. 环境准备: 确保已安装 Node.js 和 npm (Node.js 包管理器)。同时,需要安装 Python 3 和 pip (Python 包管理器)。
  2. 安装 Python 依赖: 打开终端,导航到仓库根目录的 'src' 文件夹,运行以下命令安装 Python 依赖库:
    pip install xlwings numpy-financial google-generativeai decimal
    注意: 'google-generativeai' 库需要配置 Google Gemini API 密钥。请参考 Google Cloud 文档配置 Gemini API 访问权限。
  3. 安装 Node.js 依赖: 在 'src' 文件夹下,运行以下命令安装 Node.js 依赖包:
    npm install

服务器配置

为了让 MCP 客户端能够连接到 Excel Master MCP 服务器,需要提供服务器的启动配置信息。以下是一个 JSON 格式的配置示例,可以直接用于 MCP 客户端的服务器配置中:

{
  "serverName": "excel-master",
  "command": "node",
  "args": ["src/index.js"]
  // command: 启动服务器的命令,这里使用 node.js 运行 index.js 文件。
  // args: 命令参数,指定要运行的 JavaScript 文件路径。
  // 服务器将通过标准输入/输出 (stdio) 与 MCP 客户端通信。
}

基本使用方法

  1. 启动服务器: 在终端中,导航到仓库根目录的 'src' 文件夹,并执行配置信息中 'command' 和 'args' 指定的命令 'node src/index.js',启动 Excel Master MCP 服务器。服务器启动后,会通过 stdio 等待接收来自 MCP 客户端的请求。

  2. MCP 客户端连接: 在 MCP 客户端中,根据上述服务器配置信息配置并连接到 Excel Master MCP 服务器。

  3. 列出可用工具: 客户端连接成功后,可以发送 'ListTools' 请求到服务器,查询可用的工具列表。服务器将返回包含 'read_worksheet', 'write_worksheet', 'create_workbook', 'process_financial_problem' 等工具的列表。

  4. 调用工具: 使用 'CallTool' 请求调用具体的工具。例如,要处理一个财务问题,可以调用 'process_financial_problem' 工具,并在 'arguments' 中提供 'problem_text' 参数,例如:

    {
      "tool_name": "process_financial_problem",
      "arguments": {
        "problem_text": "如果每月投资$500,年利率8%,20年后账户余额会是多少?"
      }
    }

    服务器将处理该请求,并返回包含财务分析结果、数值解以及 Excel 操作指南的 JSON 响应。对于 Excel 文件操作工具(如 'read_worksheet', 'write_worksheet', 'create_workbook'),请参考 'index.js' 文件中 'setupTools' 函数里定义的 'inputSchema',构建相应的 'CallTool' 请求。

信息

分类

桌面与硬件