Servidor MCP de Bybit
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso de solo lectura a la API de intercambio de criptomonedas de Bybit.
ESTE ES UN SOFTWARE DE CALIDAD ALPHA. ¡ÚSELO BAJO SU PROPIA RESPONSABILIDAD!
Use solo una clave API de solo lectura con este servidor. No confiaría mi código a su "dinero" y usted tampoco debería hacerlo.
Started integrated server
Chatting with llama-3.2-11b-instruct:Q8_0 (Ctrl+C to exit)
Tools are available - ask about cryptocurrency data!
You: Whats the current spot price for USDT/BTC?
Assistant: <tool>get_ticker</tool>
<arguments>
{
"category": "spot",
"symbol": "BTCUSDT"
}
</arguments>
Tool result: {
"timestamp": "2024-12-14T12:32:30.628Z",
"meta": {
"requestId": "ad5177bc-93d1-49ed-80a1-dd95b3ec970b"
},
"symbol": "BTCUSDT",
"category": "spot",
"lastPrice": "101368.71",
"price24hPcnt": "0.0107",
"highPrice24h": "102661.3",
"lowPrice24h": "99683.96",
"prevPrice24h": "100292.67",
"volume24h": "22543.911683",
"turnover24h": "2285318788.68303381",
"bid1Price": "101366.07",
"bid1Size": "0.136049",
"ask1Price": "101366.08",
"ask1Size": "0.648039",
"usdIndexPrice": "101365.707576"
}
Processing result...
The current spot price for USDT/BTC is $101,368.71.Características
Este servidor MCP proporciona las siguientes herramientas para interactuar con la API de Bybit:
get_ticker: Obtenga información del ticker en tiempo real para un par comercialget_orderbook: Obtener datos del libro de órdenes (profundidad del mercado) para un par comercialget_kline: obtiene datos de líneas k/velas para un par comercialget_market_info: Obtenga información detallada del mercado para los pares comercialesget_trades: Obtener transacciones recientes para un par comercialget_instrument_info: Obtenga información detallada del instrumento para un par comercial específicoget_wallet_balance: Obtener información del saldo de la billetera del usuario autenticadoget_positions: Obtener información de las posiciones actuales del usuario autenticadoget_order_history: Obtener el historial de pedidos del usuario autenticado
Related MCP server: Coin MCP Server
Requisitos e instalación
Node.js (versión 20+)
pnpm (
npm i -g pnpm)Si desea ejecutar el cliente Ollama como se muestra en el inicio rápido a continuación, necesitará tener Ollama instalado y en ejecución, así como también el modelo de su elección.
pnpm iInicio rápido
Para instalar paquetes, compile todo e inicie el cliente interactivo:
pnpm iCopie el archivo .env.example a .env y complete sus datos.
cp .env.example .env
code .envServidor MCP (solamente)
pnpm serveServidor MCP y cliente Ollama
Instalar los paquetes de cliente necesarios:
(cd client && pnpm i)Copie el archivo .env.example del cliente a .env y complete sus datos.
cp client/.env.example client/.env
code client/.envLuego, para iniciar el cliente y el servidor con un solo comando:
pnpm startConfiguración
Variables de entorno
El servidor requiere que las credenciales de la API de Bybit se configuren como variables de entorno:
BYBIT_API_KEY: Su clave API de Bybit (obligatoria)BYBIT_API_SECRET: Su secreto de API de Bybit (obligatorio) - IMPORTANTE: ¡Cree solo una clave API de solo lectura!BYBIT_USE_TESTNET: Establézcalo en "verdadero" para usar la red de prueba en lugar de la red principal (opcional, el valor predeterminado es falso)DEBUG: Establezca en "verdadero" para habilitar el registro de depuración (opcional, el valor predeterminado es falso)
Variables de entorno del cliente (./client/.env):
OLLAMA_HOST: El host del servidor Ollama (predeterminado en http://localhost:11434 )DEFAULT_MODEL: El modelo predeterminado que se utilizará para el chat (el valor predeterminado es llama-3.2-11b-instruct:Q8_0)
Configuración de ajustes de MCP
Para usar este servidor con clientes MCP, debe agregarlo a su archivo de configuración de MCP. La ubicación del archivo depende del cliente:
Ejemplo de MCP - Claude Desktop
Ubicación: ~/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"
}
}
}
}Ejemplo de MCP - gomcp
Ubicación: ~/.config/gomcp/config.yaml
mcp_servers:
- name: "bybit"
command: "cd /path/to/bybit-mcp && pnpm run serve"
arguments: []
env:
BYBIT_API_KEY: "" # Add your Bybit API **READ ONLY** key here
BYBIT_API_SECRET: "" # Add your Bybit API **READ ONLY** secret here
BYBIT_USE_TESTNET: "true" # Set to false for production
DEBUG: "false" # Optional: Set to true for debug loggingIntegración de clientes
Este paquete incluye un cliente TypeScript que proporciona una interfaz de línea de comandos para interactuar con los LLM de Ollama y el servidor bybit-mcp. El cliente admite:
Chat interactivo con modelos de Ollama
Acceso directo a todas las herramientas de trading de bybit-mcp
Gestión automática de servidores
Configuración basada en el entorno
Registro de depuración
Para obtener documentación detallada del cliente, consulte el archivo README del cliente .
Ejecución del servidor
Producción
Construir el servidor:
pnpm buildEjecutar el servidor:
node build/index.jsDesarrollo
Para el desarrollo con recompilación automática de TypeScript:
pnpm watchPara inspeccionar el servidor MCP durante el desarrollo:
pnpm inspectorDocumentación de herramientas
Obtener información del ticker
{
"name": "get_ticker",
"arguments": {
"symbol": "BTCUSDT",
"category": "spot" // optional, defaults to "spot"
}
}Obtener datos de la cartera de pedidos
{
"name": "get_orderbook",
"arguments": {
"symbol": "BTCUSDT",
"category": "spot", // optional, defaults to "spot"
"limit": 25 // optional, defaults to 25 (available: 1, 25, 50, 100, 200)
}
}Obtener datos de Kline/Candlestick
{
"name": "get_kline",
"arguments": {
"symbol": "BTCUSDT",
"category": "spot", // optional, defaults to "spot"
"interval": "1", // optional, defaults to "1" (available: "1", "3", "5", "15", "30", "60", "120", "240", "360", "720", "D", "M", "W")
"limit": 200 // optional, defaults to 200 (max 1000)
}
}Obtenga información del mercado
{
"name": "get_market_info",
"arguments": {
"category": "spot", // optional, defaults to "spot"
"symbol": "BTCUSDT", // optional, if not provided returns info for all symbols in the category
"limit": 200 // optional, defaults to 200 (max 1000)
}
}Obtener operaciones recientes
{
"name": "get_trades",
"arguments": {
"symbol": "BTCUSDT",
"category": "spot", // optional, defaults to "spot"
"limit": 200 // optional, defaults to 200 (max 1000)
}
}Obtener información del instrumento
{
"name": "get_instrument_info",
"arguments": {
"symbol": "BTCUSDT", // required
"category": "spot" // optional, defaults to "spot"
}
}Devuelve información detallada sobre un instrumento comercial, incluyendo:
Monedas base y de cotización
Estado comercial
Filtros de tamaño de lote (cantidades de pedido mínimas y máximas)
Filtros de precios (tamaño del tick)
Configuración de apalancamiento (para futuros)
Detalles del contrato (para futuros)
Obtener saldo de billetera
{
"name": "get_wallet_balance",
"arguments": {
"accountType": "UNIFIED", // required (available: "UNIFIED", "CONTRACT", "SPOT")
"coin": "BTC" // optional, if not provided returns all coins
}
}Obtener posiciones
{
"name": "get_positions",
"arguments": {
"category": "linear", // required (available: "linear", "inverse")
"symbol": "BTCUSDT", // optional
"baseCoin": "BTC", // optional
"settleCoin": "USDT", // optional
"limit": 200 // optional, defaults to 200
}
}Obtener historial de pedidos
{
"name": "get_order_history",
"arguments": {
"category": "spot", // required (available: "spot", "linear", "inverse")
"symbol": "BTCUSDT", // optional
"baseCoin": "BTC", // optional
"orderId": "1234567890", // optional
"orderLinkId": "myCustomId", // optional
"orderStatus": "Filled", // optional (available: "Created", "New", "Rejected", "PartiallyFilled", "PartiallyFilledCanceled", "Filled", "Cancelled", "Untriggered", "Triggered", "Deactivated")
"orderFilter": "Order", // optional (available: "Order", "StopOrder")
"limit": 200 // optional, defaults to 200
}
}Categorías admitidas
spot: Comercio al contadolinear: Contratos perpetuos linealesinverse: Contratos perpetuos inversos
Licencia
Instituto Tecnológico de Massachusetts (MIT)