MCP Bybit API Interface

Uma interface para interagir com a API da exchange de criptomoedas Bybit.

Documentação

MCP Bybit API Interface

smithery badge Buy Me A Coffee

Servidor MCP (Model Context Protocol) da Bybit. Fornece uma interface conveniente para interagir com a API V5 da Bybit usando ferramentas MCP. Permite buscar dados de mercado, gerenciar informações da conta e colocar/cancelar ordens por meio de chamadas de API encapsuladas como ferramentas.

Bybit Server MCP server

⚠️ Segurança e Proteção

Este servidor pode colocar negociações reais com dinheiro real. Leia isto antes de configurá-lo:

  • A negociação está desabilitada por padrão. Ferramentas de mutação (place_order, cancel_order, amend_order, cancel_all_orders, set_trading_stop, set_margin_mode, set_leverage) retornam um erro a menos que você defina explicitamente TRADING_ENABLED=true.
  • Use a testnet primeiro. Defina TESTNET=true enquanto experimenta. Combine com TRADING_ENABLED=false para uma configuração totalmente somente leitura, ou defina READONLY_MODE=true para bloquear completamente toda ferramenta de mutação, independentemente de outras configurações.
  • O tamanho da ordem é limitado. MAX_ORDER_SIZE_USDT (padrão 100) limita o valor nocional estimado de uma ordem para proteger contra negociações grandes acidentais.
  • As chaves de API nunca são registradas ou expostas. Nenhuma ferramenta retorna suas chaves; os logs apenas informam se uma chave está presente.
  • Nunca faça commit das suas chaves de API. Forneça-as apenas por meio de variáveis de ambiente.

Instalação

Requer Python 3.12+. Este projeto usa uv.

git clone https://github.com/dlwjdtn535/mcp-bybit-server.git
cd mcp-bybit-server
uv sync
uv run mcp-bybit-server   # runs the MCP server over stdio

Após a instalação, o comando mcp-bybit-server é o ponto de entrada usado pelas configurações do cliente MCP abaixo.

Instalando via Smithery

Para instalar este servidor de Interface da API Bybit para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @dlwjdtn535/mcp-bybit-server --client claude

Configuração (Claude Desktop, Cline, Roo Code, etc.)

Adicione um dos seguintes ao seu arquivo de configurações MCP (ex.: claude_desktop_config.json / mcp_settings.json).

Usando uv (executado a partir de um repositório clonado):

{
  "mcpServers": {
    "bybit": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/mcp-bybit-server",
        "mcp-bybit-server"
      ],
      "env": {
        "ACCESS_KEY": "YOUR_BYBIT_API_KEY",
        "SECRET_KEY": "YOUR_BYBIT_SECRET_KEY",
        "TESTNET": "true",
        "TRADING_ENABLED": "false"
      }
    }
  }
}

No Windows, use um caminho absoluto com barras invertidas duplas (ex.: C:\\Users\\YOUR_USERNAME\\mcp-bybit-server).

Usando Docker:

Primeiro, puxe a imagem: docker pull dlwjdtn535/mcp-bybit-server:latest

{
  "mcpServers": {
    "bybit-server-docker": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--init",
        "-e", "ACCESS_KEY=YOUR_BYBIT_API_KEY",
        "-e", "SECRET_KEY=YOUR_BYBIT_SECRET_KEY",
        "-e", "TESTNET=true",
        "-e", "TRADING_ENABLED=false",
        "-e", "MAX_ORDER_SIZE_USDT=100",
        "dlwjdtn535/mcp-bybit-server:latest"
      ]
    }
  }
}

Nota: Sempre use @latest ou uma tag de versão específica tanto para NPX quanto para Docker para garantir que você está usando a versão pretendida.

Variáveis de Ambiente

VariávelObrigatóriaPadrãoDescrição
ACCESS_KEYSim–Chave de API da Bybit.
SECRET_KEYSim–Segredo da API da Bybit.
MEMBER_IDNão–ID de membro da Bybit (opcional).
TESTNETNãofalseUse a testnet da Bybit quando true.
TRADING_ENABLEDNãofalseDeve ser true para permitir qualquer ferramenta de mutação/negociação.
READONLY_MODENãofalseQuando true, bloqueia toda ferramenta de mutação (tem precedência sobre TRADING_ENABLED).
MAX_ORDER_SIZE_USDTNão100Limita o valor nocional estimado (USDT) de uma única ordem.
RESPONSE_VERBOSITYNãonormalminimal reduz as respostas de get_tickers/get_positions aos campos principais para economizar tokens; normal/full retornam o payload completo.

Ferramentas 🛠️

Dados de mercado

  • get_orderbook — livro de ofertas (category, symbol, limit?).
  • get_kline — candlestick (category, symbol, interval, start?, end?, limit?).
  • get_tickers — informações de ticker (category, symbol).
  • get_public_trade_history — negociações públicas recentes (category, symbol, limit?).
  • get_instruments_info — metadados/limites do instrumento (category, symbol, status?, baseCoin?).
  • get_funding_rate_history — histórico de taxa de funding para perpétuos (category, symbol, startTime?, endTime?, limit?).
  • get_open_interest — juros em aberto ao longo do tempo (category, symbol, intervalTime?, ...).
  • get_fee_rate — taxas de maker/taker (category, symbol?, baseCoin?).
  • get_server_time — hora do servidor da Bybit.
  • market_snapshot — visão de mercado composta (livro de ofertas + ticker + kline + instrumento + negociações recentes, além de taxa de funding e juros em aberto para futuros) em uma única chamada.

Conta

  • get_wallet_balance — saldos (accountType, coin?).
  • get_positions — posições abertas (category, symbol?).
  • get_order_history — ordens históricas.
  • get_open_orders — ordens abertas atuais.
  • get_api_key_information — detalhes da chave de API.

Negociação (mutação — requer TRADING_ENABLED=true)

  • validate_order — validação pré-voo; nunca coloca uma ordem. Não é bloqueado pelos flags de negociação.
  • place_order — colocar uma ordem; suporta dry_run=true para validar sem colocar.
  • amend_order — modificar uma ordem existente no local.
  • cancel_order — cancelar uma única ordem.
  • cancel_all_orders — cancelar todas as ordens abertas (opcionalmente com escopo).
  • set_trading_stop — definir take profit / stop loss / trailing stop.
  • set_margin_mode — definir margem isolada/cruzada.
  • set_leverage — definir alavancagem para um símbolo de futuros.

(Consulte as docstrings das funções no código para descrições detalhadas de parâmetros e exemplos.)

Configuração da Chave de API

Para usar esta interface da API Bybit, crie uma chave de API na Bybit:

  1. Faça login na sua conta Bybit.
  2. Navegue até Gerenciamento de API.
  3. Crie uma nova chave de API.
  4. Configurações de segurança importantes:
    • Ative a restrição de IP se possível e adicione SOMENTE o(s) endereço(s) de IP a partir do(s) qual(is) o servidor é executado.
    • Nunca compartilhe suas chaves de API nem as exponha em repositórios públicos.
    • Permissões recomendadas:
      • Leitura (obrigatória)
      • Negociação (obrigatória apenas se você habilitar a execução de ordens)
      • Carteira (obrigatória para verificação de saldo)

Desenvolvimento

uv sync --group dev   # install dev dependencies (pytest, ruff)
uv run ruff check .   # lint
uv run pytest -q      # run the unit test suite (no live API calls)

CI (GitHub Actions) executa lint + testes em cada push/PR; as imagens Docker são construídas e publicadas automaticamente em pushes para main.

Patrocínio e Doações

Se você acha este projeto útil e gostaria de apoiar seu desenvolvimento:

Buy Me a Coffee

"Buy Me A Coffee"

Programa de Indicação

Você também pode apoiar este projeto criando uma conta na Bybit usando nosso link de indicação:

Seu apoio ajuda a manter e melhorar este projeto. Obrigado! 🙏

Contato e Suporte

Para dúvidas adicionais ou suporte, entre em contato:

Aceitamos suas perguntas e feedback!

Licença

Licença MIT