使用说明

项目简介

本仓库提供了一个基于Model Context Protocol (MCP) 的UETA Agent Demo服务器实现。该服务器旨在演示AI驱动的代理如何与法律框架和电子交易集成,特别关注错误处理、审计和事务确认。它模拟了一个现代商品生产商的业务API,并允许自主代理和人工操作员与之互动。

主要功能点

  • 资源管理 (Resources)
    • 提供账户信息查询 (wallet://info)。
    • 提供商品目录查询 (products://list)。
    • 提供待处理订单查询 (pending://orders)。
    • 提供代理状态查询 (agent://status)。
    • 提供服务器统计信息查询 (stats://overall)。
    • 提供审计日志查询 (audit://log)。
  • 工具注册 (Tools)
    • 'create-account': 创建新的用户账户。
    • 'place-order': 下达商品订单。
    • 'approve-order': 审批待处理的订单。
    • 'start-autonomous-agent': 启动自主代理模式,自动下单。
    • 'stop-autonomous-agent': 停止自主代理模式。
    • 'get-dashboard-url': 获取代理仪表板URL (纯内存模式下不可用)。
    • 'ueta-check-balance': 查询账户余额和近期交易记录。
    • 'ueta-add-funds': 向账户充值。
    • 'ueta-withdraw-funds': 从账户提现。
    • 'ueta-transaction-stats': 查看交易统计信息。
    • 'ueta-get-pending-orders': 查看待处理订单列表。
    • 'ueta-list-products': 列出可用的商品。
    • 'ueta-get-audit-log': 获取审计日志。
    • 'ueta-revoke-order': 撤销订单。
  • Prompt 模板 (Prompts)
    • 'get-started': 提供快速上手指南的Prompt。

安装步骤

  1. 克隆仓库

    git clone https://github.com/agentoverlay/ueta-agent-error-handling-demos.git
    cd ueta-agent-error-handling-demos
  2. 选择运行方式 (Docker 或 本地)

    a) 使用 Docker 运行 (推荐)

    cd demo
    docker-compose up -d

    这将启动包括 MCP 服务器在内的完整演示系统。

    b) 不使用 Docker 运行

    • 确保已安装 Node.js (v18+) 和 pnpm。
    cd demo
    pnpm install
    pnpm run agent-api

    请注意,不使用 Docker 运行时,需要手动启动 Seller API Server 和 Demo Frontend 才能体验完整功能。

服务器配置

MCP 客户端需要配置以下信息才能连接到 UETA Agent Demo MCP 服务器:

{
  "serverName": "UETA Agent Server",
  "command": "node",
  "args": ["demo/src/api/server.ts"]
}
  • 'serverName': MCP 服务器的名称,客户端用于识别。
  • 'command': 启动 MCP 服务器的命令,这里使用 'node' 运行 'server.ts' 文件。
  • 'args': 启动命令的参数,指定服务器脚本的路径。

基本使用方法

  1. 启动 MCP 服务器:根据上述安装步骤启动服务器。
  2. 配置 MCP 客户端:在 MCP 客户端中,配置服务器连接信息,指定服务器启动命令和参数。
  3. 通过 MCP 客户端与服务器交互
    • 使用客户端调用服务器提供的 Resources 获取信息,例如查询商品列表 (products://list)。
    • 使用客户端调用服务器提供的 Tools 执行操作,例如创建账户 (ueta-create-account)、下订单 (ueta-place-order) 等。
    • 具体操作和参数请参考 MCP 协议文档和服务器提供的工具及资源定义。

示例 (使用 MCP 客户端调用 'ueta-check-balance' 工具):

客户端发送 JSON-RPC 请求:

{
  "jsonrpc": "2.0",
  "method": "tool_ueta-check-balance",
  "params": {},
  "id": 1
}

服务器返回 JSON-RPC 响应:

{
  "jsonrpc": "2.0",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "Current wallet balance: 999900\n\nAccount ID: xxx\n\nRecent transactions:\n... (交易记录)"
      }
    ]
  },
  "id": 1
}

更多工具和资源的使用方法,请查阅仓库代码和 MCP 协议文档。

信息

分类

商业系统