使用说明

项目简介

这是一个非官方的 Razorpay MCP 服务器实现,旨在通过 Model Context Protocol (MCP) 将 Razorpay 支付网关的功能以标准化的方式提供给大型语言模型 (LLM) 客户端。它允许 LLM 通过调用预定义的工具来访问和操作 Razorpay 的各种数据,例如订单、支付、结算等。

主要功能点

  • 工具化 Razorpay API: 将 Razorpay API 的常用功能封装成 MCP 工具,例如:
    • 获取所有订单 (getAllOrders)
    • 获取所有支付 (getAllPayments)
    • 获取所有结算 (getAllSettlements)
    • 获取账户余额 (getAccountBalance)
    • 等等,涵盖了 Razorpay 账户、订单、支付、客户、发票等核心业务数据。
  • 分页支持: большинство工具支持分页参数,允许 LLM 分批次获取大量数据。
  • Stdio 传输协议: 使用标准的 Stdio (标准输入/输出) 作为 MCP 服务器的传输协议,易于集成和部署。
  • 配置灵活: 通过命令行参数或环境变量配置 Razorpay API 密钥,方便在不同环境中使用。

安装步骤

  1. 克隆仓库

    git clone https://github.com/LightHeads/razorpay-mcp.git
    cd razorpay-mcp
  2. 安装依赖 确保已安装 Node.js 和 npm,然后运行:

    npm install
  3. 构建项目

    npm run build

    构建成功后,会在 'dist' 目录下生成编译后的文件。

服务器配置

MCP 客户端需要配置以下 JSON 对象以连接到 Razorpay MCP 服务器。

{
  "serverName": "razorpay-mcp",
  "command": "node",
  "args": [
    "dist/stdio.js",
    "--key-id", "<YOUR_RAZORPAY_KEY_ID>",
    "--key-secret", "<YOUR_RAZORPAY_KEY_SECRET>"
  ]
}

参数说明:

  • 'serverName': 服务器名称,可以自定义,用于客户端识别。
  • 'command': 启动服务器的命令,这里是 'node',表示使用 Node.js 运行时。
  • 'args': 传递给 'node' 命令的参数列表,包括:
    • '"dist/stdio.js"': 服务器程序的入口文件路径。
    • '--key-id': Razorpay API Key ID 参数。 请替换 '<YOUR_RAZORPAY_KEY_ID>' 为你实际的 Razorpay Key ID。
    • '--key-secret': Razorpay API Key Secret 参数。 请替换 '<YOUR_RAZORPAY_KEY_SECRET>' 为你实际的 Razorpay Key Secret。

注意: 你也可以选择不使用命令行参数,而是将 Razorpay API Key ID 和 Key Secret 设置为 环境变量 'RAZORPAY_KEY_ID' 和 'RAZORPAY_KEY_SECRET'。如果设置了环境变量,启动命令可以简化为:

{
  "serverName": "razorpay-mcp",
  "command": "node",
  "args": [
    "dist/stdio.js"
  ]
}

基本使用方法

  1. 启动服务器 根据上述服务器配置,在 MCP 客户端中配置启动命令和参数。客户端启动后,将通过 Stdio 与 Razorpay MCP 服务器建立连接。

  2. 调用工具 在 LLM 应用中,通过 MCP 客户端向 Razorpay MCP 服务器发送 JSON-RPC 请求,调用已注册的工具,例如 'getAllOrders'、'getAllPayments' 等。

    工具调用时,需要根据工具的定义 (例如 'RazorpayPaginationSchema') 传递相应的参数。服务器将执行工具,调用 Razorpay API 获取数据,并将结果以 MCP 格式返回给客户端。

    例如,调用 'getAllOrders' 工具获取订单列表:

    {
      "jsonrpc": "2.0",
      "method": "call",
      "params": {
        "tool_name": "getAllOrders",
        "arguments": {
          "count": 10 // 获取 10 个订单
        }
      },
      "id": "1"
    }

    服务器将返回包含订单数据的 JSON-RPC 响应。

信息

分类

商业系统