使用说明
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_getTickerzebpay_public_getOrderBookzebpay_spot_placeMarketOrderzebpay_spot_placeLimitOrderzebpay_spot_getBalance
期货(公共+私人)
- 市场数据:健康状况、市场、市场信息、订单簿、24小时股票行情、总交易量
- 交易/账户:钱包余额、下单、增加/减少保证金、未结订单、头寸
- 历史:订单历史、关联订单、交易历史、交易历史
- 工具名称示例:
zebpay_futures_public_getMarketszebpay_futures_public_getOrderBookzebpay_futures_placeOrderzebpay_futures_getWalletBalancezebpay_futures_getPositions
技术栈
- Node.js(ESM)
- TypeScript
@modelcontextprotocol/sdkundicizod
项目结构
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凭据:
- 打开ZebPay API门户网站:
https://api.zebpay.com/ - 登录您的ZebPay帐户。
- 首选 API交易 然后单击 创建新的API密钥.
- 输入关键详细信息:
- 密钥名称(例如:
zebpay-mcp-local) - 所需权限(市场/账户检查只读,仅在需要时才具有交易权限)
- 可选IP白名单(建议使用以提高安全性)
- 密钥名称(例如:
- 完成OTP验证。
- 复制并保存:
- 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
- Bug报告:
- 包括以下详细信息,以便更快地进行分诊:
- 使用的MCP客户端(光标/克劳德桌面/其他)
- Node.js版本和操作系统
- 最少的复制步骤
- 相关日志(编辑机密)
许可证
麻省理工学院
