这是一个提供对Bybit加密货币交易所API只读访问的模型上下文协议(MCP)服务器。
这是ALPHA级别的软件——请自行承担风险使用!
仅使用只读API密钥与此服务器交互。我不信任我的代码处理您的“资金”,您也不应该!
此MCP服务器提供了以下工具来与Bybit的API进行交互:
get_ticker:获取交易对的实时行情信息get_orderbook:获取交易对的订单簿(市场深度)数据get_kline:获取交易对的K线/蜡烛图数据get_market_info:获取交易对的详细市场信息get_trades:获取交易对的最新成交记录get_instrument_info:获取特定交易对的详细合约信息get_wallet_balance:获取已认证用户的钱包余额信息get_positions:获取已认证用户的当前持仓信息get_order_history:获取已认证用户的订单历史get_ml_rsi:获取基于机器学习的相对强弱指数(RSI)get_market_structure:获取交易对的市场结构信息get_order_blocks:检测机构订单积累区域get_order_history:获取已认证用户的订单历史get_orderbook:获取交易对的订单簿(市场深度)数据get_ticker:获取交易对的实时行情信息还有一个高度实验性的WebUI,请参阅WebUI README以获取详细信息。

所有代码都可能有重大变更,并且在继续开发此项目时可能会添加或移除功能。
npm i -g pnpm)pnpm i
要安装包、构建所有内容并启动交互式客户端:
pnpm i
复制.env.example文件到.env并填写您的详细信息。
cp .env.example .env
code .env
pnpm serve
pnpm start:http
HTTP服务器默认运行在8080端口上,提供现代可流式传输的HTTP和传统的SSE传输方式,使其兼容于Web应用程序和各种MCP客户端。详情请参阅HTTP服务器文档。
安装所需的客户端包:
(cd client && pnpm i)
复制客户端的.env.example文件到.env并填写您的详细信息。
cp client/.env.example client/.env
code client/.env
然后通过一个命令启动客户端和服务器:
pnpm start
服务器需要设置Bybit API凭证作为环境变量:
BYBIT_API_KEY:您的Bybit API密钥(必需)BYBIT_API_SECRET:您的Bybit API密钥(必需) - 重要提示:仅创建只读API密钥!BYBIT_USE_TESTNET:设置为"true"以使用测试网而不是主网(可选,默认为false)DEBUG:设置为"true"以启用调试日志(可选,默认为false)客户端环境变量(./client/.env):
OLLAMA_HOST:Ollama服务器的主机(默认为http://localhost:11434)DEFAULT_MODEL:用于聊天的默认模型(默认为qwen3-30b-a3b-ud-nothink-128k:q4_k_xl)要使用此服务器与MCP客户端一起工作,您需要将其添加到您的MCP设置配置文件中。文件位置取决于您的客户端:
位置:~/Library/Application\ Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"bybit": {
"command": "node",
"args": ["/path/to/bybit-mcp/build/index.js"],
"env": {
"BYBIT_API_KEY": "your-api-key",
"BYBIT_API_SECRET": "your-api-secret",
"BYBIT_USE_TESTNET": "false"
}
}
}
}
位置:~/.config/gomcp/config.yaml
mcp_servers:
- name: "bybit"
command: "cd /path/to/bybit-mcp && pnpm run serve"
arguments: []
env:
BYBIT_API_KEY: "" # 在这里添加您的Bybit API **只读** 密钥
BYBIT_API_SECRET: "" # 在这里添加您的Bybit API **只读** 密钥
BYBIT_USE_TESTNET: "true" # 生产环境中设置为false
DEBUG: "false" # 可选:设置为true以启用调试日志
此包包含一个TypeScript客户端,它提供了一个命令行界面,用于与Ollama LLMs和bybit-mcp服务器进行交互。客户端支持:
详细的客户端文档,请参阅客户端README。
pnpm build
node build/index.js
对于带有自动TypeScript重新编译的开发:
pnpm watch
为了在开发期间检查MCP服务器:
pnpm inspector
{
"name": "get_ticker",
"arguments": {
"symbol": "BTCUSDT",
"category": "spot" // 可选,默认为"spot"
}
}
{
"name": "get_orderbook",
"arguments": {
"symbol": "BTCUSDT",
"category": "spot", // 可选,默认为"spot"
"limit": 25 // 可选,默认为25(可用值:1, 25, 50, 100, 200)
}
}
{
"name": "get_kline",
"arguments": {
"symbol": "BTCUSDT",
"category": "spot", // 可选,默认为"spot"
"interval": "1", // 可选,默认为"1"(可用值:"1", "3", "5", "15", "30", "60", "120", "240", "360", "720", "D", "M", "W")
"limit": 200 // 可选,默认为200(最大值1000)
}
}
{
"name": "get_market_info",
"arguments": {
"category": "spot", // 可选,默认为"spot"
"symbol": "BTCUSDT", // 可选,如果不提供则返回该类别下的所有符号的信息
"limit": 200 // 可选,默认为200(最大值1000)
}
}
{
"name": "get_trades",
"arguments": {
"symbol": "BTCUSDT",
"category": "spot", // 可选,默认为"spot"
"limit": 200 // 可选,默认为200(最大值1000)
}
}
{
"name": "get_instrument_info",
"arguments": {
"symbol": "BTCUSDT", // 必需
"category": "spot" // 可选,默认为"spot"
}
}
返回关于交易合约的详细信息,包括:
{
"name": "get_wallet_balance",
"arguments": {
"accountType": "UNIFIED", // 必需(可用值:"UNIFIED", "CONTRACT", "SPOT")
"coin": "BTC" // 可选,如果不提供则返回所有币种
}
}
{
"name": "get_positions",
"arguments": {
"category": "linear", // 必需(可用值:"linear", "inverse")
"symbol": "BTCUSDT", // 可选
"baseCoin": "BTC", // 可选
"settleCoin": "USDT", // 可选
"limit": 200 // 可选,默认为200
}
}
{
"name": "get_order_history",
"arguments": {
"category": "spot", // 必需(可用值:"spot", "linear", "inverse")
"symbol": "BTCUSDT", // 可选
"baseCoin": "BTC", // 可选
"orderId": "1234567890", // 可选
"orderLinkId": "myCustomId", // 可选
"orderStatus": "Filled", // 可选(可用值:"Created", "New", "Rejected", "PartiallyFilled", "PartiallyFilledCanceled", "Filled", "Cancelled", "Untriggered", "Triggered", "Deactivated")
"orderFilter": "Order", // 可选(可用值:"Order", "StopOrder")
"limit": 200 // 可选,默认为200
}
}
spot:现货交易linear:线性永续合约inverse:反向永续合约MIT