使用说明
aiowhitebit-mcp 翻译为中文可以是“aiowhitebit多重签名钱包”或“aiowhitebit多重控制协议”,具体取决于上下文和该术语的具体用途。不过,由于“aiowhitebit”可能是一个特定项目或平台的名称,且“mcp”在不同上下文中可能有不同的含义,因此最准确的翻译可能需要结合具体背景来确定。如果“aiowhitebit”是一个知名的项目或平台,建议直接使用其官方中文名称(如果有的话)
白比特加密货币交易所API的消息控制协议(MCP)服务器和客户端实现。基于 顶部;顶端 Aiowhitebit(注:这可能是一个特定平台或项目的名称,直接翻译无实际意义,保持原样) 图书馆和 fastmcp。
特点/特性
- WhiteBit API的MCP服务器,具有公开端点
- 支持多种传输协议(stdio、SSE、WebSocket)
- 用于与MCP服务器交互的易用客户端
- 用于运行服务器的命令行界面
- 与Claude桌面版的集成
- 通过WebSocket获取实时市场数据
- 全面的测试覆盖率和类型检查
- 现代开发工具(ruff、pyright、pre-commit)
- 使用磁盘持久化进行缓存
- 限流和断路器模式
aiowhitebit 0.3.0版本中的新集成功能
- BookTicker WebSocket 流实时最优买入/卖出报价更新
- 期货资金历史获取期货市场的历史融资利率
- 增强的WebSocket事件现在,所有WebSocket事件都包含可选的元数据(事件时间,更新ID)
快速入门
# Install the package
pip install aiowhitebit-mcp
# Run the server (stdio transport for Claude Desktop)
aiowhitebit-mcp --transport stdio
# Or run with SSE transport
aiowhitebit-mcp --transport sse --host 127.0.0.1 --port 8000
基本用法
带有网络传输功能的客户端
import asyncio
import os
from aiowhitebit_mcp.client import WhiteBitMCPClient
async def main():
# Set the server URL (or use environment variable)
server_url = "http://localhost:8000/sse"
os.environ["WHITEBIT_MCP_URL"] = server_url
async with WhiteBitMCPClient() as client:
# Get market info
btc_usdt = await client.get_market_resource("BTC_USDT")
print("BTC/USDT Market Info:", btc_usdt)
# Get real-time price via WebSocket
price = await client.get_last_price("BTC_USDT")
print("Current BTC/USDT price:", price)
# Get order book
orderbook = await client.get_orderbook("BTC_USDT")
print("Order book:", orderbook)
# Get funding history for futures market
funding_history = await client.get_funding_history("BTC_USDT")
print("Funding history:", funding_history)
# Subscribe to BookTicker for real-time best bid/ask
subscription = await client.bookticker_subscribe("BTC_USDT")
print("BookTicker subscription:", subscription)
if __name__ == "__main__":
asyncio.run(main())
服务器配置
from aiowhitebit_mcp.server import create_server
import asyncio
# Create the server with custom configuration
server = create_server(
name="WhiteBit API"
)
# Run the server with desired transport
if __name__ == "__main__":
asyncio.run(
server.run(
transport="stdio", # or "sse"
host="127.0.0.1", # for network transports
port=8000 # for network transports
)
)
可用工具
公共API
get_server_time()获取当前服务器时间get_market_info()获取所有市场信息get_orderbook(market: str)获取订单簿get_recent_trades(market: str, limit: int = 100)获取最近交易get_ticker(market: str)获取股票行情信息get_fee(market: str)获取交易费用get_server_status()获取服务器状态get_asset_status_list()获取所有资产的状态get_funding_history(market: str)获取期货市场的资金费率历史数据
WebSocket API
get_last_price(market: str)获取实时价格get_market_depth(market: str)获取实时订单簿bookticker_subscribe(market: str)订阅BookTicker流以获取最优买/卖报价bookticker_unsubscribe(market: str)取消订阅BookTicker流connect_websocket()连接到WebSocket APIdisconnect_websocket()从WebSocket API断开连接
资源
whitebit://markets获取所有市场信息whitebit://markets/{market}获取特定市场信息whitebit://assets获取所有资产信息whitebit://assets/{asset}获取特定资产信息
命令行界面
# Show help
aiowhitebit-mcp --help
# Run with stdio transport (for Claude Desktop)
aiowhitebit-mcp --transport stdio
# Run with SSE transport
aiowhitebit-mcp --transport sse --host localhost --port 8000
发展
# Clone the repository
git clone https://github.com/yourusername/aiowhitebit-mcp.git
cd aiowhitebit-mcp
# Install development dependencies
pip install -e ".[dev]"
# Install pre-commit hooks
pre-commit install
# Run tests
pytest
# Run type checking
pyright src/aiowhitebit_mcp
# Run linting
ruff check .
示例
检查一下 examples/ 更多使用示例的目录:
claude_desktop_server.py为Claude Desktop运行使用stdio传输的服务器claude_desktop_client.py连接到stdio服务器的客户端sse_server.py使用SSE传输方式运行服务器sse_client.py用于连接SSE服务器的客户端
许可证
Apache许可证2.0