返回市场
MCP-自动测试平台

MCP-自动测试平台

作者:IQAIcom2 星标更新:2025-07-29

项目介绍

MCP-ATP:IQ AI代理代币化平台的模型上下文协议服务器

该项目实现了一个模型上下文协议(MCP)服务器,用于与IQ AI代理代币化平台(ATP)进行交互。它允许兼容MCP的客户端(如AI助手、IDE扩展或自定义应用程序)访问ATP的功能,例如查看代理统计信息、管理代币位置、交易代理代币以及处理代理日志。

该服务器使用TypeScript和fastmcp构建。

功能(MCP工具)

服务器提供了以下MCP客户端可以利用的工具:

  • ATP_AGENT_STATS:获取特定AI代理的统计信息和详细数据。
    • 参数:tokenContract(字符串)
  • ATP_GET_AGENT_POSITIONS:检索用户在ATP AI代币中的当前持有量。
    • 需要环境中的WALLET_PRIVATE_KEY
  • ATP_BUY_AGENT:使用IQ作为基础货币购买AI代理代币。
    • 参数:tokenContract(字符串),amount(字符串)
    • 需要环境中的WALLET_PRIVATE_KEY
  • ATP_SELL_AGENT:将AI代理代币卖回给协议。
    • 参数:tokenContract(字符串),amount(字符串)
    • 需要环境中的WALLET_PRIVATE_KEY
  • ATP_GET_AGENT_LOGS:分页检索特定AI代理的日志。
    • 参数:agentTokenContract(字符串),page(数字,可选),limit(数字,可选)
  • ATP_ADD_AGENT_LOG:为特定AI代理添加新的日志条目。
    • 参数:agentTokenContract(字符串),content(字符串),apiKey(字符串),txHash(字符串,可选),chainId(数字,可选)
    • 注意:此工具的apiKey由调用客户端直接传递参数,而不是从服务器环境传递。
  • (即将推出) ATP_GET_AGENTS:列出可用于交易的AI代理。

先决条件

  • Node.js(推荐v18或更高版本)
  • npm(随Node.js一起提供)

安装与构建

  1. 克隆仓库(如果适用):

    git clone https://github.com/IQAIcom/mcp-atp.git
    cd mcp-atp
    
  2. 安装依赖项:

    npm install
    
  3. 构建服务器: 这会将TypeScript代码编译到dist目录下的JavaScript中。

    npm run build
    

    prepare脚本也会运行npm run build,因此在安装时会构建依赖项。

配置(环境变量)

此MCP服务器需要某些环境变量由运行它的MCP客户端设置。这些通常在客户端的MCP服务器定义中配置(例如,在Cursor的mcp.json文件中,或其他客户端的类似文件中)。

  • WALLET_PRIVATE_KEY:(对于ATP_GET_AGENT_POSITIONSATP_BUY_AGENTATP_SELL_AGENT是必需的)

    • 用于与ATP平台交互的钱包私钥(例如,获取持有量、签署购买/出售代币的交易)。
    • 安全提示:小心处理这个私钥。确保它被安全存储,并仅提供给受信任的MCP客户端配置。
  • ATP_API_KEY:(可能对某些服务是必需的,例如,如果AgentStatsService或其他服务需要它来调用其后端API——目前,ATP_ADD_AGENT_LOG将其作为直接参数接收)。

    • 访问某些IQ ATP后端服务的API密钥。
  • ATP_USE_DEV:(可选,默认为生产环境,除非设置为'true'

    • 设置为"true"以使用ATP的开发API端点和合约地址。
    • 如果未设置或值不是'true',则使用生产端点。

使用MCP客户端运行服务器

MCP客户端(如AI助手、IDE扩展等)将作为后台进程运行此服务器。您需要配置客户端以告知其如何启动您的服务器。

以下是MCP客户端可能使用的配置片段示例(例如,在mcp_servers.json或类似的配置文件中)。此示例展示了如何使用tsx进行实时TypeScript开发来运行服务器,但也可以为运行已构建的JavaScript版本做出类似的配置。

{
  "mcpServers": {
    "iq-atp-mcp-server": { // 您服务器实例的唯一名称
      "command": "npx",
      "args": [
        "tsx",
        "/path/to/your/mcp-atp/src/index.ts" // 服务器入口点的绝对路径(对于tsx)
        // 对于已构建版本:"node", "/path/to/your/mcp-atp/dist/index.js"
        // 或者如果全局链接/发布:"mcp-atp"
      ],
      "env": {
        "WALLET_PRIVATE_KEY": "your_ethereum_private_key_here",
        "ATP_API_KEY": "your_iq_atp_api_key_if_needed_by_server_env",
        "ATP_USE_DEV": "false" // 或 "true"
      },
      "workingDirectory": "/path/to/your/mcp-atp" // 项目的根目录的绝对路径
    }
    // ... 其他MCP服务器配置
  }
}

客户端配置字段解释:

  • command:要运行的可执行文件(例如,npxnode,或者如果全局安装了服务器二进制文件,则为其二进制文件名)。
  • args:传递给命令的一组参数。
    • 对于tsx["tsx", "/path/to/src/index.ts"]
    • 对于node(已构建版本):["/path/to/dist/index.js"]
    • 如果您的包已链接(npm link)或全局安装,并且package.json中的bin条目是mcp-atp:命令可以是mcp-atpargs为空(或从项目目录运行npm start)。
  • env:一个对象,包含当服务器进程启动时要设置的环境变量。这里提供WALLET_PRIVATE_KEYATP_API_KEY(如果服务器环境需要)和ATP_USE_DEV
  • workingDirectory:命令应从中执行的目录。这应该是您的mcp-atp项目的根目录。

开发

  • 监视模式npm run watch(在更改时编译TypeScript)。

  • 直接使用tsx运行(需要可用的tsx):

    # 如果通过这种方式测试,请确保适当设置了shell中的环境变量
    WALLET_PRIVATE_KEY="your_key" ATP_USE_DEV="true" npx tsx src/index.ts
    

发布到npx

一旦服务器稳定并构建完成:

  1. 确保您的package.json具有正确的bin字段指向dist/index.js,并且files数组包括"dist"

  2. 发布到npm:

    npm publish
    

发布后,用户应该能够通过npx mcp-atp(如果mcp-atp是您的bin字段中的名称,并且与您的包名称匹配或是在bin中定义的独特命令)运行您的服务器。然后,MCP客户端配置只需使用"command": "npx", "args": ["mcp-atp"](或您选择的包名称)。


此README提供了一般指南。具体的客户端配置可能会因不同的MCP兼容应用而有所不同。