加密货币交易服务器

Zebpay MCP Server是一个生产就绪的TypeScript服务器,用于安全地连接AI助手与Zebpay的现货和期货API,提供市场数据工具和交易工作流程。

  • by zebpay
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 zebpay/zebpay-mcp-server

使用说明

Zebpay MCP服务器

生产就绪的TypeScript MCP(模型上下文协议) Zebpay现货和期货API服务器,使用 仅限stdio传输. 模型上下文协议(MCP)是人工智能助手安全调用工具和数据源的标准方式。 它专为通过本地进程执行连接的MCP客户端(如Cursor、Claude Desktop和MCP Inspector)而设计。 该服务器提供市场数据和交易工作流,具有严格的验证、安全的错误处理和开发人员友好的可观察性。

此服务器提供什么

  • 公开市场数据工具(现货+期货)
  • 私人交易/账户工具(需要API证书)
  • MCP资源和代理工作流提示
  • 通过Zod请求验证
  • 结构化错误处理和可选文件日志记录

特性

  • 仅限Stdio的MCP服务器,用于与MCP客户端进行安全的本地集成
  • 公开和认证操作的现货和期货API覆盖范围
  • 基于HMAC的私有端点身份验证请求流
  • 输入验证和标准化MCP错误响应
  • 出站请求重试和超时控制
  • 用于调试和可审计性的可选结构化文件日志记录

支持的工具

现场(公共+私人)

  • 市场数据:股票行情、订单簿、交易、价格、交易所信息、货币
  • 交易:下达市价/限价订单,取消订单,按交易品种取消,取消所有
  • 账户:余额、未结订单、订单历史、交易历史、交易费
  • 工具名称示例:
    • zebpay_public_getTicker
    • zebpay_public_getOrderBook
    • zebpay_spot_placeMarketOrder
    • zebpay_spot_placeLimitOrder
    • zebpay_spot_getBalance

期货(公共+私人)

  • 市场数据:健康状况、市场、市场信息、订单簿、24小时股票行情、总交易量
  • 交易/账户:钱包余额、下单、增加/减少保证金、未结订单、头寸
  • 历史:订单历史、关联订单、交易历史、交易历史
  • 工具名称示例:
    • zebpay_futures_public_getMarkets
    • zebpay_futures_public_getOrderBook
    • zebpay_futures_placeOrder
    • zebpay_futures_getWalletBalance
    • zebpay_futures_getPositions

技术栈

  • Node.js(ESM)
  • TypeScript
  • @modelcontextprotocol/sdk
  • undici
  • zod

项目结构

src/
├── index.ts                  # Stdio MCP server entrypoint
├── mcp/                      # Tools, resources, prompts, MCP errors/logging
├── private/                  # Authenticated Zebpay clients
├── public/                   # Public market-data clients
├── security/                 # Credentials + signing helpers
├── http/                     # Shared outbound HTTP client to Zebpay APIs
├── validation/               # Schemas and validation helpers
├── utils/                    # Caching, metrics, formatting, file logging
└── types/                    # Shared response types

先决条件

  • Node.js 20+
  • npm 9+
  • Zebbay API证书(用于专用工具)
  • 从ZebPay API官方门户网站创建您的API密钥/机密: https://api.zebpay.com/

创建ZebPay API密钥

使用以下步骤生成此MCP服务器的API凭据:

  1. 打开ZebPay API门户网站: https://api.zebpay.com/
  2. 登录您的ZebPay帐户。
  3. 首选 API交易 然后单击 创建新的API密钥.
  4. 输入关键详细信息:
    • 密钥名称(例如: zebpay-mcp-local)
    • 所需权限(市场/账户检查只读,仅在需要时才具有交易权限)
    • 可选IP白名单(建议使用以提高安全性)
  5. 完成OTP验证。
  6. 复制并保存:
    • API密钥
    • 密钥(显示一次)

然后将它们添加到您的本地 .env 文件:

ZEBPAY_API_KEY=your_api_key
ZEBPAY_API_SECRET=your_api_secret

安全注意事项:

  • 切勿将API密钥/机密提交给git。
  • 首选最少特权API权限。
  • 如果暴露,请立即旋转按键。

设置

git clone <your-repo-url>
cd zebpay-mcp-server
npm install
cp env.example .env

更新 .env (所有值都是从环境中读取的;代码中没有回退默认值):

ZEBPAY_API_KEY=your_api_key    # Use the API key from the step above
ZEBPAY_API_SECRET=your_api_secret    # Use the Secret key from the step above
ZEBPAY_SPOT_BASE_URL=https://sapi.zebpay.com/api/v2
ZEBPAY_FUTURES_BASE_URL=https://futuresbe.zebpay.com/api/v1
ZEBPAY_MARKET_BASE_URL=https://www.zebapi.com/api/v1/market
MCP_TRANSPORTS=stdio
LOG_LEVEL=info
HTTP_TIMEOUT_MS=15000
HTTP_RETRY_COUNT=2

构建并运行

npm run build
npm start

可选日志记录到文件:

npm run start:log

MCP客户端配置(标准)

MCP客户端配置示例:

{
  "mcpServers": {
    "zebpay": {
      "command": "node",
      "args": [
          "/absolute/path/to/zebpay-mcp-server/dist/index.js"
        ],
      "env": {
        "ZEBPAY_API_KEY": "YOUR_API_KEY_HERE",
        "ZEBPAY_API_SECRET": "YOUR_API_SECRET_HERE",
        "LOG_LEVEL": "info"
      }
    }
  }
}

另请参见: mcp-config.json.example.

环境变量

变量 必填 描述 示例值
ZEBPAY_API_KEY 是 Zebbay API密钥(专用工具必需) YOUR_API_KEY_HERE
ZEBPAY_API_SECRET 是 Zebbay API机密(专用工具必需) YOUR_API_SECRET_HERE
MCP_TRANSPORTS 是 必须是 stdio stdio
ZEBPAY_SPOT_BASE_URL 是 点API基础URL https://www.zebapi.com/api/v2
ZEBPAY_FUTURES_BASE_URL 是 未来API基础URL https://futures-api.zebpay.com/api/v1
ZEBPAY_MARKET_BASE_URL 是 市场API基础URL https://www.zebapi.com/api/v1/market
LOG_LEVEL 是的 debug, info, warn, error info
LOG_FILE 否 日志的文件路径 logs/mcp-server.log
HTTP_TIMEOUT_MS 是 出站请求超时(ms) 15000
HTTP_RETRY_COUNT 是 出站请求的重试次数 2

开发人员命令

npm run build
npm test
npm run test:watch
npm run logs
npm run logs:watch
npm run logs:errors
npm run logs:stats
npm run logs:clear

日志记录

  • 日志工具和示例: scripts/README.md
  • 完整的日志记录文档: docs/LOGGING.md
  • 将日志保存在git之外(logs/ 被忽略)

问题

发现错误或想要请求功能?

  • 从GitHub创建问题 问题 此存储库的选项卡。
  • 您也可以在替换后使用直接链接 <your-org> 和 <your-repo>:
    • Bug报告: https://github.com/<your-org>/<your-repo>/issues/new?template=bug_report.md
    • 功能请求: https://github.com/<your-org>/<your-repo>/issues/new?template=feature_request.md
  • 包括以下详细信息,以便更快地进行分诊:
    • 使用的MCP客户端(光标/克劳德桌面/其他)
    • Node.js版本和操作系统
    • 最少的复制步骤
    • 相关日志(编辑机密)

许可证

麻省理工学院