使用说明
phemex贸易mcp
用于交易的MCP服务器 墨西哥石油公司 --支持USDT-M期货、Coin-M期货和现货市场。
建立在 模型上下文协议,该服务器允许AI代理(Claude Desktop、Claude Code或任何MCP客户端)在Phemex上下订单、管理头寸、检查余额和查询市场数据。
可用工具
市场数据(公开,无需API密钥)
| 工具 | 说明 |
|---|---|
get_ticker |
交易品种的24小时价格自动收报机 |
get_orderbook |
订单簿快照(30个级别) |
get_klines |
历史烛台/曲线数据 |
get_recent_trades |
最近的市场交易 |
get_funding_rate |
资金利率历史(仅期货) |
帐户(只读)
| 工具 | 说明 |
|---|---|
get_account |
期货账户余额和保证金信息 |
get_spot_wallet |
每种货币的即期钱包余额 |
get_positions |
未实现净现值的当前头寸(仅期货) |
get_open_orders |
某个交易品种的所有未结订单 |
get_order_history |
已关闭/已完成订单历史记录 |
get_trades |
交易执行历史 |
交易(写)
| 工具 | 说明 |
|---|---|
place_order |
下单(市价、限价、止损、止损限价) |
amend_order |
修改未结订单的价格或数量 |
cancel_order |
通过orderID或clOrdID取消单个订单 |
cancel_all_orders |
取消某个交易品种的所有未结订单 |
set_leverage |
为永久交易品种设置杠杆(仅限期货) |
switch_pos_mode |
在单向和对冲模式之间切换(仅限USDT-M) |
转账
| 工具 | 说明 |
|---|---|
transfer_funds |
在现货和期货钱包之间转移资金 |
get_transfer_history |
查询转账历史 |
效用
| 工具 | 说明 |
|---|---|
list_symbols |
列出所有可用的交易品种,按合约类型分组 |
合同类型
每个工具都接受一个可选 contractType 参数:
linear(默认)——百万美元永久期货。符号以结尾USDT(例如。BTCUSDT).inverse--Coin-M永久期货。符号以结尾USD(例如。BTCUSD).spot--现货交易。符号以结尾USDT(例如。BTCUSDT).服务器会自动预置sAPI。
设置
1.获取Phemex API证书
在处创建API密钥 phemex.com (或 testnet.phemex.com 用于测试)。
2.配置环境
选项A:环境变量 --复制 .env.example 到 .env 并填写您的密钥:
PHEMEX_API_KEY=your-api-key
PHEMEX_API_SECRET=your-api-secret
PHEMEX_API_URL=https://testnet-api.phemex.com
PHEMEX_MAX_ORDER_VALUE=
选项B:配置文件 --创建 ~/.phemexrc:
# Phemex API Credentials
PHEMEX_API_KEY=your-api-key
PHEMEX_API_SECRET=your-api-secret
PHEMEX_API_URL=https://api.phemex.com
# Optional: max order value limit (USD)
PHEMEX_MAX_ORDER_VALUE=1000
优先级 (从高到低):CLI参数→ 环境变量→ ~/.phemexrc → 默认值(测试网)。
| 变量 | 描述 |
|---|---|
PHEMEX_API_KEY |
您的Phemex API密钥 |
PHEMEX_API_SECRET |
您的Phemex API秘密 |
PHEMEX_API_URL |
API基本URL。使用 https://testnet-api.phemex.com 用于测试网或 https://api.phemex.com 用于生产 |
PHEMEX_MAX_ORDER_VALUE |
可选安全限制——最大名义订单价值(美元)。超过此值的订单将在客户端被拒绝 |
3.建造
npm install
npm run build
MCP客户端配置
克劳德桌面版
添加 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"phemex": {
"command": "node",
"args": ["/absolute/path/to/phemex-trade-mcp/dist/index.js"],
"env": {
"PHEMEX_API_KEY": "your-key",
"PHEMEX_API_SECRET": "your-secret",
"PHEMEX_API_URL": "https://testnet-api.phemex.com"
}
}
}
}
克劳德代码
添加 ~/.claude.json (全球)或 .mcp.json (每个项目):
{
"mcpServers": {
"phemex": {
"command": "node",
"args": ["/absolute/path/to/phemex-trade-mcp/dist/index.js"],
"env": {
"PHEMEX_API_KEY": "your-key",
"PHEMEX_API_SECRET": "your-secret",
"PHEMEX_API_URL": "https://testnet-api.phemex.com"
}
}
}
}
开爪
从安装技能 爪集:
clawhub install phemex-trade
或手动复制 skill/phemex-trade/ 目录到 ~/.openclaw/skills/.
将API键设置为环境变量:
export PHEMEX_API_KEY=your-key
export PHEMEX_API_SECRET=your-secret
export PHEMEX_API_URL=https://api.phemex.com
该技能使用 phemex-cli (包含在npm包中)用于直接工具调用——不需要mcporter。
然后问你的OpenClaw代理人:“Phemex目前的BTC价格是多少?”
任何MCP客户端(stdio)
此服务器使用 标准 运输。将其作为子进程启动,并通过stdin/stdout进行通信:
PHEMEX_API_KEY=... PHEMEX_API_SECRET=... node dist/index.js
用法示例
连接后,询问您的AI代理以下问题:
- “Phemex目前的BTC价格是多少?”
- “显示我的USDT-M账户余额”
- “以95000美元的价格限价买入0.01 BTC”
- “我的空缺职位是什么?”
- “取消ETHUSDT的所有未结订单”
- “显示BTCUSD Coin-M订单簿”(使用
contractType: "inverse") - “当场购买价值10 USDT的BTC”(使用
contractType: "spot",qtyType: "ByQuote") - “将100 USDT从现货转移到期货”
发展
npm run dev # watch mode — recompiles on file changes
npm run build # one-time build
npm run test # run tests
npm run start # run the server
建筑
src/
index.ts # MCP server entry point — registers all tools
cli.ts # CLI entry point — dispatches to tool handlers
cli-parser.ts # CLI argument parser (flag + JSON modes)
client.ts # Phemex API client (auth, signing, HTTP)
config.ts # Config loading (~/.phemexrc + env vars)
contract-router.ts # Routes tools to correct API endpoints per contract type
errors.ts # Enhanced error messages with suggestions
product-info.ts # Caches product metadata for price/qty scaling
tool-schemas.ts # Tool parameter schemas and --help formatter
types.ts # Shared types
formatters/
field-mapper.ts # Maps API field names to friendly names (--raw to skip)
tools/
get-ticker.ts # One file per MCP tool
list-symbols.ts # List all available trading symbols
place-order.ts
...
关键设计决策:
- 合同路由器 --单身
contractType每个工具上的参数分派到正确的Phemex API端点(USDT-M/g-*,Coin-M/orders/*,现货/spot/*). - 自动缩放 --Coin-M和Spot API使用整数缩放值(
priceEp,baseQtyEv).服务器通过以下方式自动处理转换ProductInfoCache,因此代理总是使用人类可读的小数。 - 符号解析 --点符号会自动添加前缀
sAPI(例如。BTCUSDT成为sBTCUSDT).特工们不需要知道这一点。 - 字段名称映射 -API字段后缀(
closeRp,fundingRateRr等)被映射到友好名称(closePrice,fundingRate).使用--raw以保留原始名称。 - 配置文件 —
~/.phemexrc提供持久的API凭据,而无需在每个会话中导出env vars。 - 增强的错误 --错误代码被映射到具有可操作建议的人类可读消息中。
CLI使用情况
该套餐还包括 phemex-cli 用于直接命令行访问的二进制文件(由OpenClaw技能使用):
# Install globally
npm install -g phemex-trade-mcp
# Set your API keys
export PHEMEX_API_KEY=your-key
export PHEMEX_API_SECRET=your-secret
export PHEMEX_API_URL=https://api.phemex.com
# Use any tool
phemex-cli get_ticker --symbol BTCUSDT
phemex-cli get_positions --currency USDT
phemex-cli place_order --symbol BTCUSDT --side Buy --orderQty 0.01 --ordType Market
# List available symbols
phemex-cli list_symbols
phemex-cli list_symbols --contractType linear
# JSON args also supported
phemex-cli get_ticker '{"symbol":"BTCUSDT"}'
# Help
phemex-cli --help
phemex-cli place_order --help
# Raw output (preserve original API field names)
phemex-cli get_ticker --symbol BTCUSDT --raw
WebSocket流媒体
订阅实时市场数据流:
# Subscribe to price ticker (market24h)
phemex-cli subscribe ticker --symbol BTCUSDT
# Subscribe to live trades
phemex-cli subscribe trade --symbol SOLUSDT
# Subscribe to order book updates
phemex-cli subscribe orderbook --symbol ETHUSDT
输出格式:
- JSON转 标准输出 (用于解析/管道)
- 日志到 标准错误 (连接状态、错误)
特征:
- 通过指数回退(1秒)自动重新连接→ 30s)
- 支持SIGINT(Ctrl+C)以实现优雅关机
- Websocket URL:
wss://ws.phemex.com(可通过以下方式配置PHEMEX_WS_URL)
许可证
ISC