Skip to main content
Glama

O provider

O Quebragalho é um gateway brasileiro pré-pago que revende acesso a modelos de fronteira por 51–80% abaixo do preço oficial:

  • Endpoint OpenAI-compatible: https://api.quebragalho.dev/v1 (/chat/completions);

  • Endpoint Anthropic-compatible: https://api.quebragalho.dev (/v1/messages) — o mesmo usado por Claude Code;

  • Autenticação por API key no formato qg-... (header Authorization: Bearer);

  • Pré-pago por Pix, sem assinatura, sem cartão e sem limite de taxa (sem caps de 5h/semana);

  • Crie a chave em ~30 segundos com npx quebragalho init ou no app;

  • O gateway guarda apenas metadados de billing (tokens, modelo, data) — não armazena o texto dos prompts.


Related MCP server: mcp-llm-bridge

Arquitetura

graph LR
    O["Orquestrador<br/>Claude Code · Codex · Cursor · OpenCode"] -->|MCP stdio| B["quebragalho-bridge<br/>MCP + CLI qg"]
    T["Terminal"] -->|qg| B
    B -->|chave qg-| G["Gateway Quebragalho<br/>api.quebragalho.dev/v1"]
    G --> M["17 modelos<br/>DeepSeek · GLM · Qwen · GPT · Claude · Kimi · Grok · Mimo · Muse · HY4"]

Modelos disponíveis

Os 17 modelos do gateway, com os preços reais do app (US$/M de tokens, consultados em 30/09/2026 — confirme no catálogo oficial antes de recarregar):

Modelo

In / Out (US$/M)

Contexto

Visão

Muse Spark 1.3 Contributor

0,025 / 0,05

1M

✓

Mimo V2.6 Flash

0,028 / 0,056

1M

✓

Qwen 3.8 Flash

0,03 / 0,094

1M

✓

Qwen 3.8 Omni Flash

0,03 / 0,094

1M

✓

GPT 6 Luna

0,03 / 0,15

1M

✓

GLM 5.3 Flash

0,05 / 0,17

1M

✓

GPT 5.6 Luna

0,055 / 0,33

1M

✓

DeepSeek V4.1 Flash

0,14 / 0,56

1M

✓

DeepSeek V4 Pro

0,32 / 0,97

1M

—

HY4

0,33 / 1,00

1M

—

Qwen 3.8 Max

0,40 / 1,20

1M

✓

GPT 6 Sol

0,40 / 2,00

1M

✓

GLM 5.3

0,54 / 1,70

1M

—

Grok 4.7

0,80 / 2,40

500K

✓

Kimi K3

1,19 / 6,20

1M

✓

GPT 5.6 Sol

1,20 / 7,20

1M

✓

Claude Opus 5.5

1,60 / 8,00

1M

✓

Sem assinatura — o gateway é pré-pago, e as classes no bridge são só política de roteamento para proteger o crédito:

  • pro e ultra: elegíveis no roteamento automático (model: "auto");

  • max (Claude Opus 5.5, DeepSeek V4 Pro, GPT 5.6 Sol, Kimi K3): só por seleção manual de model, ou no ranking automático com QUEBRAGALHO_AUTO_INCLUDE_PREMIUM_MODELS=1; allowlist, denylist e tiers continuam valendo.

Novos modelos do gateway entram via QUEBRAGALHO_MODEL_SYNC=1 (ver tabela de variáveis).


Instalação rápida

  1. Crie sua chave qg- (sem cartão):

    npx quebragalho init
    # ou gere a chave direto em https://app.quebragalho.dev
  2. Instale uma CLI estilo Claude Code para o executor nativo (recomendado):

    npm install --global @anthropic-ai/claude-code
  3. Exponha a chave ao bridge:

    export QUEBRAGALHO_API_KEY="qg-sua-chave"
    export QUEBRAGALHO_AGENT_ALLOWED_ROOTS="/caminho/para/seus/projetos"

Requisitos:

  • Node.js 18+ para o bridge; 22+ recomendado para a CLI Claude Code;

  • Codex, Claude Code, Cursor ou outro cliente MCP;

  • Crédito no gateway — o bridge nunca gasta além do saldo depositado.

O bridge pode ser executado diretamente pelo pacote publicado, sem clonar este repositório: npx --yes quebragalho-bridge@latest. Para desenvolver o bridge localmente, use:

git clone https://github.com/danjour/quebragalho-bridge.git
cd quebragalho-bridge
npm install

O fallback por OpenCode requer OpenCode 1.17.9+.

Variável de ambiente

export QUEBRAGALHO_API_KEY="qg-sua-chave"            # obrigatória p/ tools diretas; repassada ao executor nativo
export QUEBRAGALHO_AGENT_ALLOWED_ROOTS="/caminho/para/seus/projetos"
# Padrão do executor; cada chamada pode escolher native ou opencode
export QUEBRAGALHO_AGENT_EXECUTOR="native"
# Opcional: caminho da CLI estilo Claude Code (padrão: claude)
export QUEBRAGALHO_CODE_BIN="/caminho/para/claude"
# Opcional: inclui as variantes caras (classe max) no roteamento automático
export QUEBRAGALHO_AUTO_INCLUDE_PREMIUM_MODELS="1"
# Opcional e sensível: habilita edição (sem shell)
export QUEBRAGALHO_AGENT_WRITE_ENABLED="1"
# Memória técnica persistente e isolada por projeto
export QUEBRAGALHO_MEMORY_ENABLED="1"
export QUEBRAGALHO_MEMORY_DIR="$HOME/.local/share/quebragalho-bridge/memory"
# Índices curados opcionais, somente leitura
export QUEBRAGALHO_SHARED_MEMORY_FILES="$HOME/.codex/memories/MEMORY.md:$HOME/ObsidianVaults/ClaudeBrain/MEMORY.md"

quebragalho_agent aceita executor: "native" ou executor: "opencode" em cada chamada. A escolha da chamada tem precedência sobre QUEBRAGALHO_AGENT_EXECUTOR. Sem nenhuma configuração, o padrão é native.

O executor nativo recebe do bridge, automaticamente:

  • ANTHROPIC_BASE_URL=https://api.quebragalho.dev (derivado de QUEBRAGALHO_BASE_URL sem o sufixo /v1);

  • ANTHROPIC_AUTH_TOKEN com o valor de QUEBRAGALHO_API_KEY.

Assim o subprocesso fatura no gateway pré-pago em vez de usar a sessão própria da CLI. Se você já define ANTHROPIC_BASE_URL/ANTHROPIC_AUTH_TOKEN no ambiente do servidor MCP, eles têm precedência. Sem chave nenhuma, a CLI nativa cai na própria sessão dela — configure QUEBRAGALHO_API_KEY para garantir que o tráfego vá ao gateway.

Se o comando claude não estiver no PATH do cliente MCP, aponte explicitamente:

export QUEBRAGALHO_CODE_BIN="/caminho/para/claude"
# ou, para qualquer CLI compatível com o headless do Claude Code via Node:
export QUEBRAGALHO_CODE_BIN="/caminho/para/node"
export QUEBRAGALHO_CODE_ENTRYPOINT="/caminho/para/cli.mjs"

Não grave a chave no repositório.


Configuração por plataforma

Em qualquer cliente, o Quebragalho aparece como uma ferramenta MCP. Ao chamar quebragalho_agent ou quebragalho_agent_start, o bridge inicia um subagente externo, separado e ciente do repositório. Ele não aparece como um subagente nativo da interface. read_only e write são apenas modos de permissão dessa execução.

Em App/IDE ou tarefa não trivial, longa, paralela ou de duração incerta, use quebragalho_agent_start, mostre o job_id, continue trabalhando e consulte quebragalho_job com status/result. Reserve o quebragalho_agent síncrono para tarefas curtas. Se o MCP não aparecer, corrija ou reinicie a integração; não substitua a chamada por claude -p, qg, opencode run ou outro shell.

Antes de configurar, descubra os caminhos absolutos:

command -v npx
command -v claude

No Windows, descubra node.exe e a raiz global do npm pelo PowerShell:

(Get-Command node.exe).Source
npm root --global

Use esses caminhos nos exemplos abaixo. Variáveis, ~ e substituições de comando não são expandidas dentro de JSON ou TOML.

Cliente

Configuração

Como validar

Codex App, CLI e extensão IDE

~/.codex/config.toml

App/IDE: /mcp; CLI: codex mcp get quebragalho-bridge

Claude Desktop

Settings → Developer → Edit Config

Chat: Connectors; logs em ~/Library/Logs/Claude

Claude Code

claude mcp add ou .mcp.json

claude mcp get quebragalho-bridge e /mcp

Cursor IDE e CLI

~/.cursor/mcp.json ou .cursor/mcp.json

Available Tools ou cursor-agent mcp list-tools quebragalho-bridge

OpenCode

opencode.json

opencode mcp list

Esses clientes iniciam o servidor local por stdio. Apps web ou mobile que não conseguem executar um processo local exigem o transporte HTTP/stateless planejado no P2; essa superfície remota ainda não está implementada.

Codex App, CLI e extensão IDE

O App, a CLI e a extensão compartilham a mesma configuração. Adicione a ~/.codex/config.toml:

[mcp_servers.quebragalho-bridge]
command = "/caminho/absoluto/para/npx"
args = ["--yes", "quebragalho-bridge@latest"]
startup_timeout_sec = 60
tool_timeout_sec = 1800
default_tools_approval_mode = "prompt"

[mcp_servers.quebragalho-bridge.env]
QUEBRAGALHO_API_KEY = "qg-sua-chave"
QUEBRAGALHO_AGENT_ALLOWED_ROOTS = "/caminho/absoluto/para/seus/projetos"
QUEBRAGALHO_AGENT_EXECUTOR = "native"
QUEBRAGALHO_CODE_BIN = "/caminho/absoluto/para/claude"
# Opcional: inclui as variantes da classe max no ranking automático
QUEBRAGALHO_AUTO_INCLUDE_PREMIUM_MODELS = "1"

No Codex App, também é possível abrir Settings → MCP servers → Add server, escolher STDIO e preencher os mesmos valores. Salve e reinicie o App. Na extensão IDE, reinicie a extensão. Consulte a documentação oficial de MCP do Codex.

No Codex App para Windows, instale os dois pacotes uma vez:

npm install --global quebragalho-bridge@latest @anthropic-ai/claude-code

O CI Windows cobre a suíte de testes, não a integração com o Codex App. O smoke no Codex App Windows real ainda não foi executado.

Então use os caminhos absolutos retornados pelos comandos acima. Este exemplo evita os shims npx.cmd e claude.cmd, que não podem ser iniciados diretamente com shell: false:

[mcp_servers.quebragalho-bridge]
command = 'C:\Program Files\nodejs\node.exe'
args = ['C:\Users\SEU_USUARIO\AppData\Roaming\npm\node_modules\quebragalho-bridge\index.mjs']
startup_timeout_sec = 60
tool_timeout_sec = 1800
default_tools_approval_mode = "prompt"

[mcp_servers.quebragalho-bridge.env]
QUEBRAGALHO_API_KEY = 'qg-sua-chave'
QUEBRAGALHO_AGENT_ALLOWED_ROOTS = 'C:\Users\SEU_USUARIO\Projects;D:\Work'
QUEBRAGALHO_JOB_STORE_DIR = 'C:\Users\SEU_USUARIO\AppData\Local\quebragalho-bridge\jobs'
QUEBRAGALHO_AGENT_EXECUTOR = "native"
QUEBRAGALHO_CODE_BIN = 'C:\Users\SEU_USUARIO\AppData\Roaming\npm\node_modules\@anthropic-ai\claude-code\cli.js'

Substitua C:\Program Files\nodejs\node.exe pela saída de (Get-Command node.exe).Source e a raiz C:\Users\SEU_USUARIO\AppData\Roaming\npm\node_modules pela saída de npm root --global. Com nvm-windows, fnm, Volta, Scoop ou um prefixo global customizado, esses caminhos são diferentes.

No Windows, separe múltiplas raízes permitidas com ;. O diretório do store deve ser absoluto: metadados seguros e marcadores de RESTART persistem, mas resultados públicos não são gravados porque o Node não garante uma ACL privada. Eles podem conter código proprietário. npx --yes quebragalho-bridge@latest continua suportado em terminais e clientes que executam shims .cmd; a configuração direta acima é a opção previsível para o Codex App.

Alternativa pela CLI no macOS ou Linux:

QUEBRAGALHO_PROJECTS_ROOT="$HOME/Projects"

codex mcp add quebragalho-bridge \
  --env "QUEBRAGALHO_API_KEY=qg-sua-chave" \
  --env "QUEBRAGALHO_AGENT_ALLOWED_ROOTS=$QUEBRAGALHO_PROJECTS_ROOT" \
  --env "QUEBRAGALHO_AGENT_EXECUTOR=native" \
  --env "QUEBRAGALHO_CODE_BIN=$(command -v claude)" \
  -- "$(command -v npx)" --yes quebragalho-bridge@latest

codex mcp get quebragalho-bridge

O comando não adiciona os timeouts e a política de aprovação; complete esses campos no TOML. Se o servidor já existir, não repita o add: edite o bloco existente.

O Codex controla a aprovação da chamada MCP. Para automação não interativa com codex exec, aprove somente as ferramentas necessárias:

[mcp_servers.quebragalho-bridge.tools.quebragalho_route]
approval_mode = "approve"

[mcp_servers.quebragalho-bridge.tools.quebragalho_agent_start]
approval_mode = "approve"

[mcp_servers.quebragalho-bridge.tools.quebragalho_job]
approval_mode = "approve"

Isso evita user cancelled MCP tool call quando não há interface para responder ao prompt. Não use aprovação global irrestrita como atalho.

Para também aprovar quebragalho_validate, primeiro habilite deliberadamente QUEBRAGALHO_AGENT_VERIFY_ENABLED=1 no ambiente do bridge. Só então adicione:

[mcp_servers.quebragalho-bridge.tools.quebragalho_validate]
approval_mode = "approve"

Sem esse gate, quebragalho_validate falha fechado.

Claude Desktop

O Claude Desktop está disponível para macOS e Windows. Abra Settings → Developer → Edit Config e edite:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json;

  • Windows: %APPDATA%\Claude\claude_desktop_config.json.

{
  "mcpServers": {
    "quebragalho-bridge": {
      "command": "/caminho/absoluto/para/npx",
      "args": ["--yes", "quebragalho-bridge@latest"],
      "env": {
        "QUEBRAGALHO_API_KEY": "qg-sua-chave",
        "QUEBRAGALHO_AGENT_ALLOWED_ROOTS": "/caminho/absoluto/para/seus/projetos",
        "QUEBRAGALHO_AGENT_EXECUTOR": "native",
        "QUEBRAGALHO_CODE_BIN": "/caminho/absoluto/para/claude"
      }
    }
  }
}

Feche completamente o Claude Desktop e abra novamente. No chat, clique em Add files, connectors, and more → Connectors → Manage connectors e confirme que quebragalho-bridge está conectado. A configuração segue o guia oficial de servidores MCP locais.

Claude Desktop no Windows com WSL

O Claude Desktop no Windows roda o comando configurado fora da distro WSL. Um padrão comum é apontar command para wsl.exe e usar args com bash -c '...', por exemplo:

{
  "command": "wsl.exe",
  "args": ["bash", "-c", "/home/SEU_USUARIO/.nvm/versions/node/vX.Y.Z/bin/npx --yes quebragalho-bridge@latest"]
}

Isso costuma falhar com "Server disconnected" sem log útil quando o Node é instalado via nvm. Causa raiz (verificada localmente com env -i, que simula o PATH mínimo de um shell não-login): bash -c abre um shell não-login e não-interativo, que não lê ~/.bashrc nem o init do nvm por padrão. O npx do nvm é um script Node com shebang #!/usr/bin/env node; sem o diretório do nvm no PATH, o env não acha o node e o processo morre na hora, com env: node: No such file or directory (exit 127) antes mesmo de abrir a conexão MCP. O comportamento de bash -c não carregar ~/.bashrc é padrão do Bash em qualquer SO; se o ~/.profile/~/.bash_profile da distro específica encadeia para ~/.bashrc (varia por distro e não foi verificado numa instalação Windows real), isso pode ou não compensar.

Correção recomendada (à prova de PATH, não depende de shell profile): instale o pacote globalmente uma vez, dentro de uma sessão WSL onde npm já funciona, e aponte o Claude Desktop para o wrapper quebragalho-mcp do pacote, informando o caminho do Node em QUEBRAGALHO_NODE_BIN:

# uma vez, dentro do WSL
npm install --global quebragalho-bridge
npm root -g   # confirma o caminho de lib/node_modules
{
  "mcpServers": {
    "quebragalho-bridge": {
      "command": "wsl.exe",
      "args": [
        "bash",
        "-c",
        "QUEBRAGALHO_NODE_BIN=/home/SEU_USUARIO/.nvm/versions/node/vX.Y.Z/bin/node QUEBRAGALHO_API_KEY=qg-sua-chave QUEBRAGALHO_AGENT_ALLOWED_ROOTS=/caminho/absoluto/para/seus/projetos QUEBRAGALHO_AGENT_EXECUTOR=native QUEBRAGALHO_CODE_BIN=/caminho/absoluto/para/claude exec /home/SEU_USUARIO/.nvm/versions/node/vX.Y.Z/lib/node_modules/quebragalho-bridge/bin/quebragalho-mcp"
      ]
    }
  }
}

As variáveis vão dentro do comando, e não no bloco env do claude_desktop_config.json. Aquele bloco define variáveis no ambiente do Windows, e o wsl.exe não as repassa para dentro do WSL sem configurar WSLENV. Declarando antes do exec, elas chegam ao processo Linux que realmente executa o servidor.

O wrapper resolve o interpretador por QUEBRAGALHO_NODE_BIN antes de qualquer PATH de shell, então nenhuma suposição sobre o profile da distro entra em jogo, e quando o binário informado não existe ele explica a causa no stderr em vez de morrer sem mensagem.

Use o wrapper, e não o index.mjs direto: é ele que carrega o QUEBRAGALHO_ENV_FILE e exporta a QUEBRAGALHO_API_KEY antes de subir o servidor. Apontando para o index.mjs, quem guarda as credenciais nesse arquivo fica sem autenticação.

Não use bash -lc como atalho. Parece resolver, mas na instalação padrão do nvm em Ubuntu o init fica no ~/.bashrc, que começa com um early-return para shell não-interativo. Mesmo em shell de login o node continua fora do PATH, e o sintoma é idêntico ao original, o que só dificulta o diagnóstico.

Se você não usa QUEBRAGALHO_ENV_FILE e prefere invocar o index.mjs sem intermediário, troque o alvo do exec pelo caminho do node seguido do index.mjs instalado, mantendo as variáveis declaradas antes do exec.

Por fim, npx --yes quebragalho-bridge@latest sempre resolve a versão mais recente do registro e pode baixar o pacote a cada início do cliente MCP, o que soma latência e depende de rede a cada abertura do Claude Desktop. Preferir instalação global (npm install --global quebragalho-bridge) evita essa resolução de rede repetida e é o caminho mais robusto para uso contínuo.

Claude Code CLI

Para disponibilizar o bridge em todos os projetos no macOS ou Linux:

QUEBRAGALHO_PROJECTS_ROOT="$HOME/Projects"

claude mcp add --transport stdio --scope user \
  -e "QUEBRAGALHO_API_KEY=qg-sua-chave" \
  -e "QUEBRAGALHO_AGENT_ALLOWED_ROOTS=$QUEBRAGALHO_PROJECTS_ROOT" \
  -e "QUEBRAGALHO_AGENT_EXECUTOR=native" \
  -e "QUEBRAGALHO_CODE_BIN=$(command -v claude)" \
  quebragalho-bridge -- "$(command -v npx)" --yes quebragalho-bridge@latest

claude mcp get quebragalho-bridge

Se o bridge já estiver configurado no Claude Desktop, também é possível executar claude mcp add-from-claude-desktop e selecionar quebragalho-bridge. No Claude Code, use /mcp para conferir e aprovar o servidor. Veja a documentação oficial do Claude Code.

Nota: o claude que orquestra e o claude usado como executor nativo são o mesmo binário, mas processos separados. O subprocesso do bridge recebe ANTHROPIC_BASE_URL/ANTHROPIC_AUTH_TOKEN apontando ao gateway Quebragalho, então não consome a assinatura Anthropic da sua sessão interativa.

Cursor IDE e CLI

Use ~/.cursor/mcp.json para todos os projetos ou .cursor/mcp.json apenas no repositório atual:

{
  "mcpServers": {
    "quebragalho-bridge": {
      "command": "/caminho/absoluto/para/npx",
      "args": ["--yes", "quebragalho-bridge@latest"],
      "env": {
        "QUEBRAGALHO_API_KEY": "qg-sua-chave",
        "QUEBRAGALHO_AGENT_ALLOWED_ROOTS": "/caminho/absoluto/para/seus/projetos",
        "QUEBRAGALHO_AGENT_EXECUTOR": "native",
        "QUEBRAGALHO_CODE_BIN": "/caminho/absoluto/para/claude"
      }
    }
  }
}

Reinicie o Cursor. No Agent/Composer, abra Available Tools, habilite quebragalho-bridge e aprove a chamada quando solicitado. Pela CLI:

cursor-agent mcp list
cursor-agent mcp list-tools quebragalho-bridge

O IDE e o cursor-agent leem o mesmo formato, conforme a documentação oficial do Cursor.

OpenCode

Adicione o servidor local ao opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "quebragalho-bridge": {
      "type": "local",
      "command": [
        "/caminho/absoluto/para/npx",
        "--yes",
        "quebragalho-bridge@latest"
      ],
      "environment": {
        "QUEBRAGALHO_API_KEY": "qg-sua-chave",
        "QUEBRAGALHO_AGENT_ALLOWED_ROOTS": "/caminho/absoluto/para/seus/projetos",
        "QUEBRAGALHO_AGENT_EXECUTOR": "native",
        "QUEBRAGALHO_CODE_BIN": "/caminho/absoluto/para/claude"
      },
      "enabled": true,
      "timeout": 1800000
    }
  }
}

O timeout do OpenCode é expresso em milissegundos; 1800000 acompanha o teto de 30 minutos do job assíncrono. Valide com opencode mcp list. O OpenCode prefixa as ferramentas com o nome do servidor; no prompt, peça explicitamente para usar o MCP quebragalho-bridge. Veja a documentação oficial do OpenCode.

O provedor direto abaixo só é necessário para usar executor: "opencode" como fallback, em vez do executor nativo:

{
  "provider": {
    "quebragalho": {
      "name": "Quebragalho",
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://api.quebragalho.dev/v1",
        "apiKey": "{env:QUEBRAGALHO_API_KEY}"
      },
      "models": {
        "deepseek-v4.1-flash":          { "name": "DeepSeek V4.1 Flash", "limit": { "context": 1048576, "output": 65536 } },
        "deepseek-v4-pro":              { "name": "DeepSeek V4 Pro",     "limit": { "context": 1048576, "output": 65536 } },
        "glm-5.3":                      { "name": "GLM 5.3",             "limit": { "context": 196608,  "output": 65536 } },
        "glm-5.3-flash":                { "name": "GLM 5.3 Flash",       "limit": { "context": 200704,  "output": 65536 } },
        "mimo-v2.6-flash":              { "name": "Mimo V2.6 Flash",     "limit": { "context": 1048576, "output": 65536 } },
        "kimi-k3":                      { "name": "Kimi K3",             "limit": { "context": 259072,  "output": 65536 } },
        "gpt-6-luna":                   { "name": "GPT 6 Luna",          "limit": { "context": 256000,  "output": 65536 } },
        "muse-spark-1.3-contributor":   { "name": "Muse Spark 1.3",      "limit": { "context": 131072,  "output": 65536 } }
      }
    }
  }
}

Habilitar edição em qualquer cliente

Sem configuração adicional, o subagente permanece em read_only. Para permitir edição, adicione ao bloco de ambiente do cliente:

QUEBRAGALHO_AGENT_WRITE_ENABLED=1

Na chamada, use também mode: write. Os dois opt-ins são obrigatórios. Mesmo nesse modo, o subagente não recebe shell, não executa testes e não faz commit, push ou deploy; essas etapas continuam com o orquestrador.

Smoke test comum

Depois de reiniciar o cliente, execute em ordem:

Use quebragalho_route para classificar “Revise este repositório”, sem executar agente.

Inicie o subagente MCP com quebragalho_agent_start, executor: native, mode: read_only, model: auto e cwd apontando para o caminho absoluto deste repositório. Informe o job_id, continue trabalhando e consulte quebragalho_job até obter o resultado. Apenas analise; não edite.


Uso

Via MCP (Claude/Codex/Cursor)

Quando o servidor MCP estiver registrado, o orquestrador terá acesso a estas ferramentas:

Ferramenta

Descrição

quebragalho_route

Classifica a tarefa e explica o ranking dos modelos sem executar um agente

quebragalho_agent

Variante síncrona para tarefa curta; bloqueia o cliente até concluir

quebragalho_agent_start

Padrão para App/IDE e trabalho não trivial; retorna job_id imediatamente

quebragalho_job

Consulta jobs sem bloquear: status, result, list, cancel

quebragalho_memory

Consulta ou registra uma nota técnica durável no diário isolado do projeto

quebragalho_code

Codificação com um modelo escolhido em model

quebragalho_review

Code review

quebragalho_validate

Validação de entrega

As ferramentas por modelo (quebragalho_deepseek_v4_1_flash, quebragalho_glm_5_3 e as demais) não são publicadas na listagem. Elas tinham schema idêntico entre si e custavam cerca de 900 tokens de contexto por sessão, sendo na prática o parâmetro model de quebragalho_code repetido na vitrine. Escolha o modelo em quebragalho_code:

{ "name": "quebragalho_code", "arguments": { "prompt": "...", "model": "glm-5.3" } }

Chamadas pelo nome antigo continuam funcionando: o handler resolve quebragalho_<modelo> normalmente. Para voltar a publicá-las na listagem, defina QUEBRAGALHO_LIST_MODEL_TOOLS=1.

Exemplo de delegação nativa:

"Use quebragalho_agent_start com executor: native, em modo write, com cwd neste repo, para editar os testes deste módulo. Informe o job_id, continue trabalhando e consulte o resultado com quebragalho_job. Depois revise o diff e rode a suíte local no orquestrador."

Seleção automática e rotação

Use quebragalho_route quando quiser apenas saber qual modelo combina melhor com a tarefa. A resposta inclui perfil detectado, ranking, pontuação e motivos, sem consumir uma execução de agente.

No quebragalho_agent, model: "auto" é o padrão. O roteador combina:

  • tipo da tarefa: codificação, segurança, revisão, UX/web, análise, contexto longo ou resposta rápida;

  • afinidades declaradas de cada modelo;

  • classe de custo permitida e allowlist/denylist administrativas;

  • variantes caras (classe max: Claude Opus 5.5, DeepSeek V4 Pro, GPT 5.6 Sol, Kimi K3) somente quando QUEBRAGALHO_AUTO_INCLUDE_PREMIUM_MODELS=1 — controle de gasto em um gateway pré-pago;

  • execuções em andamento, uso recente, falhas e cooldown.

Isso distribui chamadas concorrentes sem round-robin cego: o melhor modelo continua preferido, mas um segundo modelo adequado pode assumir quando o primeiro já está ocupado. Em read_only, um erro recuperável (EXIT_ERROR ou timeout) recalcula o ranking e tenta outro candidato. write nunca faz fallback automático, pois a tentativa que falhou pode já ter editado arquivos. Uma escolha manual, como model: "glm-5.3", nunca é substituída silenciosamente.

Exemplo:

{
  "prompt": "Audite o isolamento multi-tenant e proponha testes",
  "cwd": "/projetos/meu-saas",
  "executor": "native",
  "mode": "read_only",
  "model": "auto"
}

O resultado informa routing.strategy, auto_include_premium_models, selected_model, reason, ranking e todas as attempts, para o orquestrador revisar a decisão.

Escolha do harness:

  • native: usa uma CLI estilo Claude Code (padrão claude) apontada ao gateway pelo próprio bridge, via ANTHROPIC_BASE_URL/ANTHROPIC_AUTH_TOKEN;

  • opencode: executa o mesmo agente delimitado pelo harness OpenCode e requer o provedor Quebragalho e a chave de API configurados;

  • se executor for omitido, vale QUEBRAGALHO_AGENT_EXECUTOR; sem a variável, o padrão é native.

read_only bloqueia edição, shell, web, agentes aninhados e acesso fora do projeto. write libera somente ferramentas de leitura e edição; shell, web, agentes aninhados e diretórios externos permanecem desabilitados. O orquestrador continua responsável por executar testes e outros comandos, revisar o diff, commitar e fazer deploy. O subprocesso recebe somente uma allowlist mínima de variáveis de ambiente; tokens de GitHub, AWS e outros serviços não são herdados. O modo write falha fechado enquanto QUEBRAGALHO_AGENT_WRITE_ENABLED não for 1.

Memória dos subagentes

Com QUEBRAGALHO_MEMORY_ENABLED=1, o bridge mantém um diário JSONL separado para cada cwd canônico. O nome do arquivo combina o nome do projeto com um hash do caminho, impedindo que repositórios homônimos compartilhem contexto.

Ao finalizar, o agente devolve uma nota curta entre <memory_note> e </memory_note>. O marcador é removido da resposta exibida, e somente a nota sanitizada, o modelo, o modo, o executor e os artefatos internos são persistidos. Prompt integral, raciocínio, código bruto, credenciais e saída completa não são gravados. Notas sem marcador não viram memória automaticamente. Tokens conhecidos, atribuições de credenciais, chaves privadas, e-mails, CPFs e telefones também são redigidos novamente no caminho de leitura.

As últimas notas do projeto entram na próxima delegação com a instrução de confirmar tudo no repositório. QUEBRAGALHO_SHARED_MEMORY_FILES pode adicionar índices curados de Codex, Claude ou Obsidian como fontes de leitura. O bridge limita quantidade e tamanho dessas fontes; ele não varre o vault inteiro. Os caminhos compartilhados são uma allowlist administrativa explícita e seu conteúdo passa pela mesma redação antes de chegar ao modelo.

Gravações concorrentes são serializadas por arquivo dentro do processo do bridge. Para decisões críticas, o orquestrador pode usar quebragalho_memory com action: "remember"; para auditoria, use read ou status.

Uso manual fora dos orquestradores MCP

Os comandos abaixo são utilitários manuais. Claude, Codex, Cursor e OpenCode não devem usá-los como fallback para quebragalho_agent.

# Prompt simples
qg "Explique closures em JavaScript"

# Com modelo específico e prompt de sistema
qg -m glm-5.3 -s "Seja conciso e técnico" "Analise a complexidade deste algoritmo"

# Pipe de arquivo
cat main.py | qg -m mimo-v2.6-flash "Revise este código"

# Listar modelos
qg --list

Flags auxiliares: --timeout <segundos> (default 120) limita cada requisição; -q/--quiet suprime as linhas decorativas para uso em pipes; --version imprime a versão do pacote. Erros de API (401, 429, 5xx) imprimem o corpo do erro no stderr e saem com código não-zero.

Diagnóstico com quebragalho-doctor

Antes de abrir uma issue ou caçar configuração no README, rode o diagnóstico:

npx --yes --package quebragalho-bridge@latest quebragalho-doctor

Ele valida, com ✔/✖ e sugestão de correção por item: a chave qg- contra o gateway (GET /v1/models), se a CLI nativa (claude) é resolvível no PATH, se as raízes de QUEBRAGALHO_AGENT_ALLOWED_ROOTS existem, os diretórios de estado configurados (job store, memória, uso) e a versão do Node. Com --json, a mesma saída vem estruturada (útil para scripts).

Imagens nas tools de prompt direto

quebragalho_code e as tools por modelo (quebragalho_<modelo>) aceitam images: array de 1 a 5 itens, cada um {"path": "arquivo.png"} (lido do disco e enviado como data URL base64) ou {"url": "https://..."} (repassado ao gateway); strings puras são aceitas como path. Formatos: png, jpg, jpeg, webp, gif; até 5 MiB por arquivo. Quase todo o catálogo tem visão — só deepseek-v4-pro, glm-5.3 e hy4 são texto puro. Modelo sem visão retorna MODEL_NO_VISION com as alternativas; imagem inválida retorna IMAGES_INVALID com a causa. quebragalho_review não aceita imagens, e modelos trazidos por QUEBRAGALHO_MODEL_SYNC nunca são marcados com visão.


Orientação automática e skill

O bridge não modifica CLAUDE.md, AGENTS.md nem regras do Cursor. Ao conectar, ele já envia instructions pelo próprio protocolo MCP para Codex, Claude, Cursor, OpenCode e outros hosts compatíveis. Essa orientação explica que o Quebragalho é um subagente externo, recomenda quebragalho_agent_start para App/IDE ou trabalho não trivial, reserva quebragalho_agent para tarefas curtas, recomenda executor: native e model: auto, separa read_only de write e mantém testes, Git e deploy com o orquestrador. Ela também proíbe fallback direto para a CLI.

Para reforçar a descoberta antes mesmo da primeira chamada MCP, instale também a skill empacotada:

npx --yes --package quebragalho-bridge@latest quebragalho-install-instructions

Se já houver uma versão antiga da skill — especialmente uma que mencione fallback pela CLI — atualize-a conscientemente:

npx --yes --package quebragalho-bridge@latest quebragalho-install-instructions --force

O instalador cria a mesma skill nestes locais:

  • ~/.agents/skills/quebragalho-executor — Codex e hosts compatíveis com Agent Skills;

  • ~/.claude/skills/quebragalho-executor — Claude Code;

  • ~/.cursor/skills/quebragalho-executor — Cursor IDE e CLI.

O OpenCode também descobre ~/.agents/skills. O Claude Desktop recebe a orientação pelo MCP; ele não usa CLAUDE.md para conectores locais. Sem --force, o instalador falha quando encontra uma skill diferente e não a sobrescreve.

A skill ensina o padrão de delegação:

  1. Claude recebe a tarefa

  2. Claude separa em orquestração (fica com Claude) + volume (delega para a Quebragalho)

  3. Claude/Codex escolhe executor: native ou executor: opencode

  4. Claude/Codex usa quebragalho_agent_start para trabalho não trivial, informa o job_id e continua orquestrando; quebragalho_agent fica reservado para tarefa curta

  5. Claude/Codex consulta quebragalho_job, integra e valida o resultado


Preços e pagamento do gateway

O Quebragalho é 100% pré-pago: sem assinatura, sem fidelidade e sem cartão.

Item

Detalhe

Recarga

Via Pix, a partir de qualquer valor

Promo

Créditos em dobro na primeira recarga a partir de R$ 25 (até R$ 100)

Moeda

Preços em USD, convertidos para BRL pela cotação do momento da requisição

Rate limit

Sem limites de taxa, janela de 5h ou teto semanal

Estouro

Com saldo zero as requisições param — nunca cobram além do depositado

Privacidade

O gateway guarda só metadados de billing; não usa seus prompts para treino

Descontos por provedor anunciados: OpenAI −80%, Anthropic −60%, Qwen −80%, Grok −60%, Kimi −59%, DeepSeek −53%. O catálogo completo (17 modelos) e os preços por modelo ficam no app oficial.


Exemplos reais

Revisão de código em lote

# Revisar vários arquivos de uma vez com Quebragalho
for f in src/**/*.ts; do
  cat "$f" | qg -m mimo-v2.6-flash -s "Revise este arquivo TypeScript" > "reviews/$(basename $f).review.md"
done

Refatoração assistida

sequenceDiagram
    participant Vc as Você
    participant C as Claude Code
    participant QG as Quebragalho Bridge

    Vc->>C: Refatore este módulo
    C->>QG: quebragalho_code("Extraia a lógica de pagamento")
    QG-->>C: Código refatorado
    C->>QG: quebragalho_review(resultado)
    QG-->>C: Revisão aponta 2 melhorias
    C->>Vc: Resultado final revisado

Geração de testes

"Claude, use o quebragalho_code para gerar testes unitários para cada função neste módulo. Depois execute e me diga se passam."


Recursos do servidor MCP

O servidor também expõe recursos e prompts:

Tipo

URI

Descrição

Recurso

quebragalho://models

Lista de modelos com especificações e origem (local ou synced)

Recurso

quebragalho://status

Status da conexão, sync de modelos e fila

Recurso

quebragalho://usage

Uso diário de tokens por modelo, gasto estimado do dia e teto configurado

Prompt

revisar-codigo

Template de code review

Prompt

refatorar

Template de refatoração

Prompt

explicar

Template de explicação


Variáveis de ambiente

Variável

Padrão

Descrição

QUEBRAGALHO_API_KEY

—

Chave qg- do gateway; obrigatória para ferramentas de prompt direto e executor OpenCode, e repassada ao executor nativo como ANTHROPIC_AUTH_TOKEN

QUEBRAGALHO_API_TIMEOUT_MS

300000

Timeout de cada tentativa de chamada ao gateway (tools diretas e sync de modelos); valores fora de [1000, 1800000] são ajustados aos limites

QUEBRAGALHO_API_RETRIES

2

Retries automáticos para 429/5xx (total = N+1 tentativas), com backoff exponencial e respeito ao Retry-After; 4xx nunca é retentado; teto 5

QUEBRAGALHO_BASE_URL

https://api.quebragalho.dev/v1

URL base da API OpenAI-compatible; o executor nativo deriva dela o ANTHROPIC_BASE_URL

QUEBRAGALHO_LOG_LEVEL

info

Nível de log: debug, info, warn, error

QUEBRAGALHO_AGENT_ALLOWED_ROOTS

—

Raízes repo-aware separadas pelo delimitador de paths do SO; sem valor, quebragalho_agent falha fechado

QUEBRAGALHO_AGENT_WRITE_ENABLED

—

Defina 1 para habilitar write; por padrão, somente read_only é aceito

QUEBRAGALHO_AGENT_MAX_CONCURRENCY

4

Execuções simultâneas globais, incluindo jobs assíncronos; inteiro entre 1 e 8, valores inválidos usam 4

QUEBRAGALHO_JOB_STORE_DIR

—

Diretório para persistência atômica de metadados seguros e recuperação de jobs interrompidos; em macOS/Linux, use diretório privado 0700/0600

QUEBRAGALHO_JOB_PERSIST_RESULTS

—

Em macOS/Linux, defina 1 com QUEBRAGALHO_JOB_STORE_DIR privado 0700/0600 para persistir e recuperar o resultado público terminal. No Windows falha fechado: resultados não são gravados porque o Node não garante ACL privada. Pode conter código proprietário; nunca grava prompt, runner data, cwd, env, raciocínio, memory note ou mensagens de erro

QUEBRAGALHO_JOB_TTL_MS

1800000 (30 min)

TTL em ms para jobs finalizados sem resultado

QUEBRAGALHO_JOB_RESULT_TTL_MS

600000 (10 min)

TTL em ms para resultados de jobs

QUEBRAGALHO_JOB_MAX_RESULTS

100

Máximo de resultados mantidos em memória (até 500)

QUEBRAGALHO_JOB_MAX_QUEUED

50

Máximo de jobs aguardando na fila

QUEBRAGALHO_AGENT_MAX_MODEL_ATTEMPTS

2

Tentativas de modelos no modo auto + read_only; inteiro entre 1 e 3

QUEBRAGALHO_AGENT_EXECUTOR

native

Padrão administrativo; cada chamada pode substituir por native ou opencode

QUEBRAGALHO_AGENT_VERIFY_ENABLED

—

Defina 1 para habilitar quebragalho_validate; por padrão falha fechado

QUEBRAGALHO_AGENT_VERIFY_PROJECT_CODE_ENABLED

—

Segundo opt-in obrigatório para npm test/npm run; não é sandbox: executa código confiável com o usuário do bridge e pode escrever, ler arquivos/configs acessíveis e usar rede

QUEBRAGALHO_AGENT_VERIFY_NPM_SCRIPTS

—

Scripts separados por vírgula permitidos para npm run; npm test continua sujeito ao segundo opt-in

QUEBRAGALHO_MEMORY_ENABLED

—

Defina 1 para ativar memória técnica persistente dos subagentes

QUEBRAGALHO_MEMORY_DIR

~/.local/share/quebragalho-bridge/memory

Diretório dos diários JSONL isolados por projeto

QUEBRAGALHO_MEMORY_MAX_BYTES

1048576

Tamanho máximo do diário de memória; ao exceder, o arquivo rotaciona para <arquivo>.1 (uma geração apenas) e o corrente recomeça vazio

QUEBRAGALHO_SHARED_MEMORY_FILES

—

Arquivos de memória curada, somente leitura, separados pelo delimitador de paths do SO

QUEBRAGALHO_MODEL_ALLOWLIST

todos

Modelos permitidos em todas as frentes (tools diretas, schemas, recursos, prompts, preview e agentes), separados por vírgula

QUEBRAGALHO_MODEL_SYNC

—

Defina 1 para sincronizar o catálogo com GET {QUEBRAGALHO_BASE_URL}/models logo após o servidor responder (uma tentativa, com o timeout da API). Modelos conhecidos mantêm metadados locais e adotam contexto/output reais; modelos novos entram com classe pro no roteamento automático; modelos locais ausentes do gateway são mantidos. Falha de rede/chave é fail-open com warn, e a origem de cada modelo aparece em quebragalho://models (source: "local" | "synced") e o resultado em quebragalho://status (model_sync). Ausente, 0 ou outro valor mantém o catálogo embutido

QUEBRAGALHO_USAGE_DIR

~/.local/share/quebragalho-bridge/usage

Diretório do diário JSONL de uso (um arquivo por dia local). Grava somente contadores e identificadores (timestamp, modelo, executor, tokens, requisições) — nunca prompt, cwd, env ou texto de resposta

QUEBRAGALHO_MAX_SPEND_USD

—

Teto diário de gasto estimado em US$ (preços por milhão de tokens no catálogo). Estourado ou diário ilegível = BUDGET_EXCEEDED (fail-closed) antes de tools diretas, quebragalho_agent e enfileiramento; aviso em 80% no rodapé das tools diretas e em warnings do agente. Ausente/vazia/inválida = sem limite. Reset diário é implícito (arquivo por dia)

QUEBRAGALHO_MODEL_DENYLIST

—

Modelos bloqueados em todas as frentes; são ocultados dos schemas/recursos e rejeitados antes de rede ou fila

QUEBRAGALHO_MODEL_TIERS

pro,max,ultra

Classes de custo permitidas no roteamento, preview e seleção manual (pro dia a dia, ultra flagship, max premium)

QUEBRAGALHO_AUTO_INCLUDE_PREMIUM_MODELS

—

Defina exatamente 1 para incluir variantes caras (classe max: Claude Opus 5.5, DeepSeek V4 Pro, GPT 5.6 Sol, Kimi K3)

no ranking automático. Ausente, 0 ou outro valor preserva o comportamento padrão. Allowlist, denylist, tiers e política do executor continuam valendo.

QUEBRAGALHO_LIST_MODEL_TOOLS

—

Defina 1 para voltar a publicar uma tool por modelo na listagem. Ausente, as chamadas por nome antigo seguem funcionando, mas as tools não aparecem na descoberta.

QUEBRAGALHO_MODEL_COOLDOWN_SECONDS

60

Cooldown de um modelo após falha recuperável

QUEBRAGALHO_CODE_BIN

claude

Executável da CLI estilo Claude Code usada pelo executor nativo; pode ser Node quando QUEBRAGALHO_CODE_ENTRYPOINT estiver definido

QUEBRAGALHO_CODE_ENTRYPOINT

—

Caminho opcional para o entrypoint da CLI quando ela roda via Node

QUEBRAGALHO_NATIVE_MODEL_ALLOWLIST

todos

Modelos permitidos no executor nativo; impede seleção silenciosa de modelos que a CLI não suporta

QUEBRAGALHO_OPENCODE_MODEL_ALLOWLIST

todos

Modelos permitidos especificamente no executor OpenCode

QUEBRAGALHO_OPENCODE_BIN

opencode

Caminho do OpenCode 1.17.9+

QUEBRAGALHO_ENV_FILE

—

Arquivo opcional lido por bin/quebragalho-mcp para obter QUEBRAGALHO_API_KEY sem source

QUEBRAGALHO_NODE_BIN

node

Binário Node usado por bin/quebragalho-mcp


Solução de problemas

Sintoma

Verificação e correção

QUEBRAGALHO_AUTH_REQUIRED no executor nativo

A chave qg- está ausente, inválida ou sem créditos. Confira QUEBRAGALHO_API_KEY no ambiente do servidor MCP e o saldo no app; depois reinicie o cliente.

QUEBRAGALHO_CODE_NOT_FOUND

Instale a CLI Claude Code (npm install -g @anthropic-ai/claude-code) ou configure QUEBRAGALHO_CODE_BIN com a saída de command -v claude.

API 401: invalid api key nas tools diretas

A chave não foi configurada ou foi digitada errada; gere outra em app.quebragalho.dev e atualize QUEBRAGALHO_API_KEY. Rode quebragalho-doctor para confirmar.

API_TIMEOUT numa tool direta

O gateway não respondeu dentro de QUEBRAGALHO_API_TIMEOUT_MS (default 5 min); verifique conexão/status do gateway ou aumente a env.

BUDGET_EXCEEDED

O teto diário QUEBRAGALHO_MAX_SPEND_USD foi atingido (ou o diário de uso está ilegível). Consulte quebragalho://usage, aumente o teto ou aguarde virar o dia local.

Requisições param do nada

Saldo zerado — o gateway é pré-pago e nunca cobra além do depositado. Recarregue via Pix.

CWD_NOT_ALLOWED ou ALLOWED_ROOTS_MISSING

Use caminhos absolutos e inclua a raiz do projeto em QUEBRAGALHO_AGENT_ALLOWED_ROOTS.

O bridge não aparece no Codex

Rode codex mcp get quebragalho-bridge, abra uma nova sessão e confira /mcp.

user cancelled MCP tool call no codex exec

A chamada aguardava aprovação sem terminal interativo. Use o Codex interativo ou aprove somente a ferramenta necessária no TOML.

O cliente abriu Shell e executou claude -p ou qg

O MCP não foi usado. Confirme quebragalho_agent na lista de ferramentas, atualize a skill com quebragalho-install-instructions --force, remova orientações antigas de fallback por CLI e reinicie o cliente.

write inicia, mas Edit/Write são negados por dontAsk

Atualize o bridge (npm install --global quebragalho-bridge@latest) e reinicie o cliente. O executor nativo usa bypassPermissions; o modo escolhido pelo orquestrador ainda delimita as ferramentas, e shell, web, hooks, agentes aninhados e segredos continuam negados.

A chamada termina perto de 60 segundos

Defina tool_timeout_sec = 1800 ou use quebragalho_agent_start com quebragalho_job.

Aviso sobre QUEBRAGALHO_API_KEY no modo nativo

Configure a chave para garantir que o subprocesso fature no gateway; sem ela a CLI nativa usa a sessão própria dela.

Claude Desktop no Windows/WSL mostra Server disconnected sem log

bash -c (shell não-login) não carrega o nvm, então node some do PATH e o npx do nvm morre na hora. Veja Claude Desktop no Windows com WSL.


Desenvolvimento

git clone https://github.com/danjour/quebragalho-bridge.git
cd quebragalho-bridge
npm install
node index.mjs
npm test

Testar o servidor MCP:

# Inicializar e listar ferramentas
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | node index.mjs

Nota: no Windows local sem modo de desenvolvedor, os testes de quebragalho_validate que criam symlinks falham com EPERM; eles passam no CI (Linux e Windows com privilégio).


Licença

MIT — use, modifique, compartilhe.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Empower any MCP-compatible AI Agent(MCP Client) with engineering-grade capabilities to understand, modify, run, and deliver real-world code repositories.
    348 PyPI
    1,155
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    Centralized encrypted gateway that routes requests to 11+ LLM providers (API keys and CLI subscriptions) through a single OpenAI-compatible endpoint, with MCP tools for vault operations, code search, and shared state.
    30
    6 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables external MCP clients to drive DeepSeek Harness agents for real coding tasks, providing tools for task execution and queueing, session management, sandboxed file access, preset switching, and usage statistics.
    464 npm
    4
    GPL 3.0