Documentação do Servidor MCP — 16 Corretoras + MetaTrader 5

Servidor MCP da AlgoVesta: Deixe Claude, ChatGPT, Cursor e Gemini Operarem Suas Contas Reais de Corretora e MetaTrader 5

O que é isto: A AlgoVesta opera um servidor hospedado de Model Context Protocol (MCP) que dá a um assistente de IA vinte ferramentas reais de negociação por meio de um único link HTTPS. Cole esse único link no Claude, ChatGPT, Cursor, Claude Code, Gemini CLI ou qualquer cliente compatível com MCP, e o assistente pode ler saldos, abrir e fechar posições, mover stop-loss e take-profit, e auditar suas próprias ações em 16 corretoras de criptomoedas e o forex do MetaTrader 5 ao mesmo tempo — usando as configurações de risco que você já salvou na AlgoVesta, atrás de uma barreira de política no lado do servidor que nenhum prompt pode sobrepor. Toda conexão começa com um saldo simulado de $5.000 e toda ação retorna um recibo assinado com ed25519.
20 ferramentas MCP nativas OAuth 2.1 (PKCE) ou link secreto Simulado primeiro, $5.000 virtual Transporte Streamable HTTP

O Model Context Protocol é um padrão aberto para conectar assistentes de IA a sistemas externos. A maioria dos servidores MCP relacionados a negociação transmite dados de mercado para uma janela de chat. Este executa: é uma camada de roteamento de ordens com um mecanismo de risco determinístico na frente dela, e a IA é quem chama — nunca a autoridade.

A ideia mais importante desta página. Você conecta suas chaves de API de corretora e contas MetaTrader 5 uma vez, dentro da AlgoVesta, e define lá suas preferências de risco uma vez (% de stop-loss, % de take-profit, alavancagem). Depois você entrega ao seu assistente de IA um link. A partir desse momento o assistente alcança todas as contas que você conectou, ao mesmo tempo, pelo mesmo link, e toda ordem que ele abre herda suas configurações salvas — exatamente as mesmas configurações que o painel manual e o bot do Telegram usam. Você não está dando suas chaves de API a uma IA. Você está dando a ela uma porta com escopo definido, revogável, com limite de taxa e verificada por política, para contas que você já controla.

Início rápido

A configuração tem três etapas e não precisa de código. Todo o fluxo está na aba Conexão MCP do seu painel da AlgoVesta.

Etapa 1

Abra a aba Conexão MCP e gere uma chave. Novas chaves usam por padrão o paper escopo. O link completo é mostrado uma vez — copie-o nesse momento.

Etapa 2

Cole o link no seu cliente de IA como um servidor MCP personalizado. Nenhuma chave de API sai da AlgoVesta, sem código, sem instalação local.

Etapa 3

Converse com ele. “Como está minha carteira?” “Simule uma operação comprada de $200 em ETHUSDT com 5x.” “Feche metade da minha posição em BTC.”

Sua URL de conexão se parece com isto:

https://api.algovesta.com/u/avmcp_<your-key>/mcp

Essa URL é uma credencial. Qualquer pessoa que a possua pode agir dentro do seu escopo sobre suas contas. Trate-a como uma senha: nunca cole em um chat público, uma captura de tela, um repositório compartilhado ou um chamado de suporte. Se ela vazar, revogue-a no painel — a revogação entra em vigor imediatamente para novas conexões e encerra streams de eventos abertos em segundos.

Quais assistentes de IA podem se conectar

Qualquer cliente que fale MCP sobre Streamable HTTP pode se conectar. A tabela abaixo registra o que foi verificado no servidor em produção, incluindo as limitações reais — algumas delas são restrições do produto de IA, não da AlgoVesta, e você vai encontrá-las independentemente de qual servidor MCP usar.

Cliente de IA Onde colar o link Notas e limites reais
Claude (web, desktop, iOS, Android)Configurações → Conectores → Adicionar conector personalizadoSuporte completo. Os títulos das ferramentas e as caixas de confirmação vêm diretamente do servidor.
Claude Codeclaude mcp add --transport httpLinha de comando. Útil para fluxos de trabalho roteirizados ou repetíveis.
Cursormcp.json, o "url" campoSuporte completo. Observe que o nome da chave é url aqui — o Gemini CLI usa um nome diferente.
ChatGPTModo de desenvolvedor / conector personalizadoSomente planos pagos. Conectores MCP personalizados não são oferecidos no plano gratuito, e pode ser necessário ativar o modo de desenvolvedor primeiro. Esta é uma restrição da OpenAI.
Gemini CLI~/.gemini/settings.json, o "httpUrl" campoSomente CLI. O aplicativo web do Gemini não é compatível com servidores MCP personalizados. Use a httpUrl chave, não url.
Qualquer outro cliente compatível com MCPSuas próprias configurações de MCP / conectorO servidor implementa o padrão, então um cliente que suporte MCP remoto sobre Streamable HTTP funcionará sem nada específico para ele.

Exemplo do Cursor (mcp.json):

{
  "mcpServers": {
    "algovesta": {
      "url": "https://api.algovesta.com/u/avmcp_<your-key>/mcp"
    }
  }
}

Exemplo do Gemini CLI (~/.gemini/settings.json) — observe httpUrl:

{
  "mcpServers": {
    "algovesta": {
      "httpUrl": "https://api.algovesta.com/u/avmcp_<your-key>/mcp"
    }
  }
}

Claude Code:

claude mcp add --transport http algovesta https://api.algovesta.com/u/avmcp_<your-key>/mcp

Transporte e protocolo

TransporteStreamable HTTP, sem estado, respostas JSON. Cada requisição é autenticada de forma independente.
Nome do servidorAlgoVesta
Endpoint de link secretohttps://api.algovesta.com/u/<key>/mcp
Endpoint OAuthhttps://api.algovesta.com/mcp
Mudanças na lista de ferramentastools.listChanged = true. Os clientes atualizam a lista de ferramentas ao reconectar, então novas ferramentas e parâmetros aparecem sem remover nem readicionar o conector.
Stream de eventosEventos enviados pelo servidor (SSE) em /mcp/events e /u/<key>/events, isolados por locatário, com Last-Event-ID reconexão.
Esquema legível por máquina/mcp/tools.json — o JSON Schema completo das 20 ferramentas, exatamente como o cliente o recebe.

Autenticação e escopos

Há duas formas de se conectar, e ambas resolvem para o mesmo contexto de locatário. As ferramentas nunca aceitam um ID de usuário como parâmetro — a identidade é lida apenas a partir da conexão autenticada, o que torna o acesso entre contas estruturalmente impossível, e não apenas proibido.

Link secreto

Uma chave no formato avmcp_<32-byte urlsafe random>, embutida no caminho da URL. Ela é armazenada como um hash Argon2id mais um hash de busca SHA-256; o texto plano existe apenas no momento da criação e nunca é recuperável depois disso. Cada chave carrega seu próprio escopo, seu próprio rótulo e seu próprio estado de revogação, para que você possa usar uma chave paper no Cursor e uma chave live no Claude e desativar qualquer uma delas de forma independente.

OAuth 2.1

Para clientes que preferem um fluxo de autorização adequado. Os grants suportados são authorization_code e refresh_token, com refresh tokens rotativos. PKCE com S256 é obrigatório — uma requisição sem ele é rejeitada. O registro dinâmico de clientes está disponível, então a maioria dos clientes se configura automaticamente. Documentos de descoberta:

GET https://api.algovesta.com/.well-known/oauth-authorization-server
GET https://api.algovesta.com/.well-known/oauth-protected-resource
POST https://api.algovesta.com/mcp/oauth/register
GET  https://api.algovesta.com/mcp/oauth/authorize
POST https://api.algovesta.com/mcp/oauth/token

Os três escopos

Escopo O que pode fazer Como obtê-lo
readCarteira, preços, ordens pendentes, simulações, prévias de política, verificação de recibos, replay de canal. Nenhuma ordem pode ser enviada.Criado diretamente.
paperTudo em read, mais ordens executadas contra o motor paper em um saldo virtual de $5.000. O padrão para novas chaves.Criado diretamente.
liveTudo acima, mais ordens reais nas suas corretoras conectadas e contas MetaTrader 5.Segundo fator exigido. Um código válido de autenticador (TOTP), ou um código de confirmação enviado ao e-mail da sua conta e válido por 10 minutos. Aplicado no lado do servidor, sem exceções.

Os escopos são hierarquizados, então uma ferramenta que exige paper recusa uma read chave com insufficient_scope. A fronteira entre dinheiro simulado e real é, portanto, uma propriedade da própria chave, não de um prompt, de uma configuração ou do julgamento do modelo’.

Referência de ferramentas — todas as 20 ferramentas

Estas são exatamente as ferramentas que seu assistente vê. As ferramentas de leitura são seguras para chamar sem perguntar antes; as seis ferramentas de escrita levantam uma confirmação nos clientes que a suportam, e três delas — place_order, close_position e cancel_order — são adicionalmente marcadas como destrutivas em suas anotações.

Ferramenta Escopo Tipo Finalidade
get_portfolio_contextreadsomente leituraTodas as contas conectadas em uma única chamada
get_market_pricereadsomente leituraPreço em tempo real com informação de atualidade
simulate_orderreadsomente leituraSimulação (dry-run) incluindo o veredito de política
place_orderpaper / livedestrutivaAbre uma posição
close_positionpaper / livedestrutivaFecha total ou parcialmente
modify_positionpaper / liveescritaMove o stop-loss e o take-profit
list_open_ordersreadsomente leituraOrdens limitadas pendentes
cancel_orderpaper / livedestrutivaCancela uma ordem pendente
compile_policyreadsomente leituraTransforma regras em linguagem natural em uma prévia de política
verify_receiptreadsomente leituraVerifica assinatura e cadeia de hash
replay_channelreadsomente leituraFaz backtest de um canal do Telegram contra suas regras
get_trade_historyreadsomente leituraNegociações fechadas e desempenho em cripto, MT5 e paper
compare_venuesreadsomente leituraClassifica as corretoras conectadas pelo preço e spread medidos
list_strategiesreadsomente leituraEstratégias do TradingView; a URL do webhook nunca é retornada
create_strategypaper / liveescritaNova estratégia, sempre com a execução com dinheiro real desativada
update_strategypaper / liveescritaConfigurações da estratégia; auto_trade é recusado
backtest_my_signalsreadread-onlyReproduz os seus próprios sinais passados com outras configurações (trabalho em fila)
simulate_policyreadread-onlyAplica uma política de risco às operações que você realmente encerrou (trabalho em fila)
import_tradingview_backtestreadread-onlyRecalcula uma exportação do TradingView com taxas e slippage reais (trabalho em fila)
get_job_statusreadread-onlyProgresso e resultado de um trabalho em fila

get_portfolio_context

Não recebe parâmetros. Retorna uma visão normalizada de cada conta de corretora, cada conta MetaTrader 5 e a conta paper pertencente à chave autenticada — e nada mais. É esta chamada que transforma “como estou indo?” em uma única pergunta em vez de dezesseis.

Dois campos importam mais que o resto. Para contas de cripto, balance e equity descrevem a carteira de futuros apenas; o dinheiro do spot é informado separadamente em spot_balance, então um assistente que lê apenas balance pode concluir erroneamente que você não tem nada. Para contas MetaTrader 5, positions_source é live_ea, significando que a lista de posições foi verificada com o terminal, ou unavailable, significando que não foi possível alcançar o terminal. No unavailable caso, uma lista de posições vazia não significa “nenhuma posição aberta” — significa desconhecido, e a descrição da ferramenta instrui o modelo a dizer isso em vez de tranquilizá-lo.

get_market_price

Parâmetros: venue, symbol. Retorna {ok, venue, symbol, last, bid, ask, ts, source, age_sec}. Os preços vêm de um cache compartilhado atualizado a cada segundo, aproximadamente; em caso de falha, o servidor faz uma chamada REST em tempo real à corretora. Se o valor tiver mais de 10 segundos ou não puder ser obtido de forma alguma, isso é declarado explicitamente — um preço desatualizado nunca é apresentado como se fosse atual. Se o símbolo não existir em nenhuma corretora conectada, um preço informativo de DEX pode ser retornado junto com um aviso claro de que você não pode negociá-lo nas suas praças conectadas.

simulate_order

Obrigatório: venue, symbol, side, order_type, idempotency_key. Não envia nenhuma ordem. Retorna a execução esperada, o impacto na margem e o veredito de política, além dos preços absolutos de stop-loss e take-profit derivados pelo servidor. É uma operação de leitura, então um assistente bem-comportado a chama sem pedir permissão, mostra a você um resumo e pede exatamente uma confirmação antes de enviar qualquer ordem.

place_order

Obrigatório: venue, symbol, side, order_type, idempotency_key. Opcional: account, market, size_usd, margin_usd, risk_pct, lots, leverage, sl, tp, sl_pct, tp_pct, take_profits, entry_price.

A idempotency_key não é decoração. Se a mesma chave chegar duas vezes para o mesmo usuário, a resposta armazenada é reproduzida e nenhuma segunda ordem é aberta — é isso que protege você quando um cliente tenta novamente após um timeout, um celular perde o sinal no meio de uma confirmação, ou um modelo chama uma ferramenta duas vezes.

O dimensionamento é explícito de propósito. Para cripto você passa exatamente um de três campos, e eles significam coisas diferentes:

Campo Significado Exemplo com 5x
size_usdValor da posição (nocional)size_usd=100 → uma posição de $100, $20 do seu dinheiro
margin_usdGarantia (colateral) do seu próprio bolsomargin_usd=20 → uma posição de $100
risk_pctPorcentagem do saldo livre usada como margem. Isso não é dimensionamento de risco por distância de stop; a distância do stop-loss não entra no cálculo.risk_pct=1 em um saldo de $2.000 → $20 de margem → uma posição de $100

Para forex e MetaTrader 5, o tamanho é dado em lots em vez disso, e leverage não é enviado de forma alguma — o produto não é alavancado e o dimensionamento vem do volume de lotes. O tamanho de lote informado é usado exatamente e nunca arredondado para um valor conveniente; se ficar fora dos limites da sua corretora’ a ordem é recusada e a faixa permitida é informada de volta.

Tolerância no tamanho da ordem. As corretoras só aceitam certos incrementos de lote, então o valor solicitado é ajustado ao passo válido mais próximo. Se o desvio ficar dentro de 20%, a ordem prossegue e o desvio exato é informado a você; além de 20% a ordem não é aberta, e você é informado, em números, quais valores próximos funcionariam. Esse limiar foi escolhido reexecutando cada ordem real já enviada pela função de dimensionamento, não escolhido por intuição.

Campos omitidos usam suas configurações salvas. Se você não informar um stop-loss, take-profit ou alavancagem, o assistente é instruído a deixar esses campos vazios, e o servidor os preenche com as preferências salvas no seu painel — os mesmos valores que o painel manual e o bot do Telegram usam. A resposta informa quais campos vieram das configurações salvas em prefs_used. Isso existe por causa de uma falha medida: quando esses campos eram obrigatórios, o modelo precisava inventar valores, e cinco de cinco ordens sobrescreveram a própria configuração de um cliente’.

close_position

Obrigatório: venue, symbol, side, idempotency_key. Opcional: fraction (0 a 1], account, ticket. Funciona para cripto e para MetaTrader 5. Fechar reduz o risco, então a barreira de política nunca bloqueia isso — só o kill switch bloqueia. Dez chamadas com a mesma chave de idempotência realizam exatamente um fechamento. Se não existir posição correspondente você recebe POSITION_NOT_FOUND junto com as posições que estão abertas naquela praça, para que o assistente possa se corrigir em vez de adivinhar.

O MetaTrader 5 não tem fechamento parcial — o Expert Advisor fecha totalmente — então use fraction=1 lá. Quando várias posições MT5 estão abertas no mesmo símbolo, ticket torna-se obrigatório, e enquanto o alvo estiver ambíguo nada é fechado.

modify_position

Obrigatório: venue, symbol, side, idempotency_key, mais pelo menos um de new_sl / new_tp. O stop-loss não pode ser removido — a regra de SL obrigatório também vale aqui. A ordenação é validada: uma posição comprada precisa new_sl < mark < new_tp, uma posição vendida o inverso. Enviar apenas um lado deixa o outro no seu valor atual em vez de excluí-lo. Assim como no fechamento, um ticket MT5 ambíguo significa que nada é modificado.

list_open_orders

Opcional: venue. Lista ordens limitadas pendentes com order_ref, praça, símbolo, lado, preço de entrada, tamanho e horário de criação.

Um detalhe importante antes de pedir a um assistente que revise suas ordens abertas: as ordens pendentes que esta ferramenta rastreia ficam no livro de operações simulado (paper). Ordens colocadas em uma corretora ao vivo por meio do MCP são enviadas como ordens a mercado, então elas são executadas na hora em vez de ficarem em espera, e uma lista vazia em uma conta real significa que não há nada pendente, e não que algo tenha desaparecido.

cancel_order

Obrigatório: venue, order_ref, idempotency_key. Se a referência não pertencer a você, a resposta é NOT_FOUND — nunca uma indicação de que a ordem de outra pessoa’ existe. Assim como o fechamento, isso reduz o risco e a barreira de política não bloqueia.

compile_policy

Obrigatório: natural_text. Você escreve uma regra em linguagem natural — “nunca arriscar mais de 2% em uma operação, nenhuma alavancagem acima de 10, apenas BTC e ETH” — e ela é compilada em uma política JSON, retornada como uma prévia. Compilar nunca ativa nada. A ativação é uma etapa separada e deliberada feita pelo painel ou via POST /api/mcp/policies/{policy_id}/activate, o que significa que um modelo não pode afrouxar suas regras apenas falando sobre elas.

verify_receipt

Obrigatório: receipt_id. Retorna signature_valid e chain_valid; uma ação só é verificada quando ambos são verdadeiros. Os recibos são assinados com ed25519 e encadeados por hash por usuário, então alterar um recibo anterior quebra todos os posteriores e chain_valid torna-se falso. A chave pública é disponibilizada em /mcp/receipts/pubkey, para que você possa verificar de forma independente sem confiar neste endpoint. Recibos mais antigos da era HMAC retornam legacy=true.

replay_channel

Obrigatório: channel_ref. Opcional: days (até 90, padrão 30), policy_override. Responde “e se eu tivesse seguido este canal do Telegram nos últimos X dias sob minhas regras?” reproduzindo seus sinais passados no estilo paper, com cada sinal passando pela barreira de política, de forma que os rejeitados nunca sejam abertos. O progresso chega como replay_progress eventos. Os resultados ficam em cache por 24 horas e a ferramenta é limitada a 5 replays por hora. Saída: {trades:[...], summary:{total_pnl, win_rate, max_drawdown, avg_rr, policy_rejections}}.

get_trade_history

Opcional: venue, symbol, days (1–365, padrão 30), limit (1–200, padrão 50), market (crypto / forex / paper). Retorna as negociações fechadas das três fontes em uma única lista, da mais recente para a mais antiga, além de um summary. O resumo é deliberadamente conservador: avg_rr é calculado apenas com as negociações em que entrada, stop-loss e saída são todos conhecidos, e rr_sample informa quantas foram; total_pnl é null quando várias moedas de conta se misturam, sendo pnl_by_currency fornecido em vez disso; a comissão não é registrada em lugar nenhum, então fee permanece null e o PnL de cripto é bruto. Se uma fonte não puder ser lida, incomplete_sources a nomeia em vez de retornar uma lista curta como se estivesse completa.

compare_venues

Obrigatório: symbol. Opcional: market (padrão futures, ou spot), side. Retorna, para cada corretora de cripto conectada, o preço em tempo real e — nas corretoras que publicam bid/ask — o spread em pontos-base, além da diferença de preço entre corretoras. Não escolhe uma corretora: sua ordem ainda precisa nomear uma. Taxas de negociação, profundidade do livro de ofertas e slippage são listados em basis.not_measured e nunca são estimados, e uma corretora que não publicou bid/ask aparece em not_comparable_on_spread em vez de ser classificada como se seu spread fosse zero. Por isso cheapest_measured significa “menor spread medido”, não “mais barata no geral”.

list_strategies

Sem parâmetros. Retorna suas estratégias do TradingView com suas configurações, plan_limit e can_create_more. auto_trade é reportado por estratégia, para que o assistente possa dizer quais estão ativas. A URL do webhook, a URL de demo e o segredo HMAC são removidos da resposta — apenas webhook_url_configured e has_hmac_secret são expostos, porque a própria URL é uma credencial.

create_strategy

Opcional: name. Obrigatório: idempotency_key. Cria uma estratégia do TradingView com auto_trade desativado; o campo não é gravável via MCP, então uma estratégia recém-criada não pode enviar ordens reais até que você mesmo a arme no painel. Sujeita à cota de estratégias do seu plano — acima do limite, retorna um erro codificado de limite de plano em vez de simplesmente não fazer nada.

update_strategy

Obrigatório: strategy_id, changes, idempotency_key. Altera a alavancagem (limitada entre 1–20), o percentual de risco (0.1–50), os percentuais de stop-loss e take-profit, as configurações de trailing e break-even, os símbolos permitidos, a conta de destino e se a estratégia aceita sinais. auto_trade, status e ip_allowlist são recusados e retornados em refused_fields; a exclusão é apenas pelo painel. Ativar reverse_enabled retorna um warning, porque a partir daí um sinal BUY abre um SHORT.

backtest_my_signals

Opcional: days (1–90), source, symbols, margin_usd, leverage, sl_pct, tp_pct, max_hold_minutes, taker_fee_bps, partial_tp. Reproduz os sinais que você realmente recebeu sobre barras históricas reais de um minuto da mainnet, duas vezes: uma com o stop, o take-profit e a alavancagem originais de cada sinal e outra com as suas configurações. Retorna um job_ref imediatamente; o resultado é obtido com get_job_status. Todo resultado traz coverage (quantos sinais puderam ser simulados e por que os demais não) e assumptions (taxas, slippage, TP parcial e o que não é modelado). Sinais sem stop, com stop do lado errado da entrada ou sem dados históricos são contados e ignorados, nunca adivinhados.

simulate_policy

Opcional: policy_text (linguagem comum), rules (já compiladas), days (1–365). Aplica uma política de risco às operações que você realmente encerrou e informa quais teriam sido rejeitadas, por qual regra, e a diferença de PnL. Retorna um job_ref. Dois limites aparecem em todo resultado: regras que dependem do estado da conta no momento da ordem (posições abertas, perda diária, saldo) são avaliadas com zeros porque esse estado não pode ser reconstruído a partir de operações encerradas, portanto são contadas a MENOS, nunca a mais; e o PnL vem dos seus resultados realizados, é informado por moeda e nunca somado entre moedas.

import_tradingview_backtest

Obrigatório: csv_text. Opcional: taker_fee_bps, slippage_bps, leverage. Recebe o CSV que você exporta do Strategy Tester do TradingView (List of Trades) e o recalcula com custos reais: taxas de taker e slippage medido na entrada e na saída. O Pine Script nunca é executado nem interpretado — apenas a sua lista exportada é recalculada — e os preços permanecem como o TradingView reportou. Linhas sem coluna de quantidade não podem receber taxas, então ficam otimistas e a quantidade delas é informada. Retorna um job_ref.

get_job_status

Opcional: job_ref. Com uma referência retorna o estado daquele trabalho e, quando termina, o resultado; sem argumento lista os seus trabalhos recentes. status é um de PENDING, RUNNING (com percentual em progress), DONE, FAILED (há uma nova tentativa agendada), DEAD ou CANCELLED. Os trabalhos rodam um de cada vez, então queue_position diz quantos estão à frente. Uma referência que não é sua recebe a MESMA resposta de “não encontrado” que uma inexistente, de modo que não podem ser enumeradas.

Os resultados não vivem para sempre, e vale a pena conhecer os limites antes de construir sobre eles. Apenas os 20 trabalhos concluídos mais recentes mantêm o resultado completo; os mais antigos são reduzidos ao seu resumo e voltam com result_pruned: true, o que significa que as linhas detalhadas desapareceram e o trabalho precisa ser executado novamente para regerá-las. Tudo é excluído após 30 dias. As execuções de backtest e de política também são registradas no histórico de backtest da sua conta, e o resultado carrega o run_id sob o qual foram armazenadas.

A barreira de política

Esta é a parte que torna defensável entregar ferramentas a um modelo de linguagem. Suas regras são compiladas uma vez em JSON, validadas contra um esquema fixo, e então avaliadas no lado do servidor e de forma determinística em cada ordem. O modelo nunca as avalia, nunca vê uma forma de contorná-las e não pode ser convencido a afrouxá-las — nem por você em um momento de impaciência, nem por um prompt injetado por uma página web ou uma mensagem do Telegram que ele tenha lido. Uma violação é uma rejeição definitiva com um registro de auditoria.

Regra Tipo Significado
max_risk_per_trade_pctnúmero, 0–100Teto para a participação de uma única operação’ na conta
max_order_size_usdnúmero > 0Limite absoluto para o valor da ordem
max_daily_loss_usdnúmero > 0Parar de operar no dia após esta perda
max_open_positionsinteiroLimite de concorrência
leverage_capnúmero, 1–1000Seu próprio teto de alavancagem
venue_scopearrayRestringir a IA a praças nomeadas
symbol_whitelistarraySomente estes símbolos podem ser negociados
symbol_blacklistarrayEstes símbolos nunca são negociados
allowed_sidesarraySomente compra, somente venda, ou ambos
notesstringSua própria anotação

Uma política compilada que falha na validação de esquema não pode ser ativada de forma alguma. Não existe política parcialmente válida.

Modelo de segurança

Paper por padrãoToda nova chave começa no escopo paper com um saldo virtual de $5.000. Alcançar dinheiro real é um ato explícito e separado.
O stop-loss é obrigatórioSe não existir nem um stop-loss explícito nem um padrão salvo, a ordem é recusada. Ele também não pode ser removido depois.
IdempotênciaToda ferramenta de escrita exige uma chave gerada pelo cliente com pelo menos 8 caracteres. Repetições reproduzem a resposta armazenada em vez de agir duas vezes.
Kill switchPOST /api/mcp/freeze para tudo de uma vez; toda ferramenta então retorna user_frozen. /unfreeze reverte isso.
Revogação por chaveRevogue um cliente sem afetar os outros. Streams de eventos abertos caem em segundos.
Recibos assinadosassinatura ed25519 mais uma cadeia de hash por usuário em cada ação, verificável em relação a uma chave pública.
Registro de auditoriaCada chamada é registrada com nome da ferramenta, argumentos, resultado e latência, legível em GET /api/mcp/audit e no painel.
Isolamento por locatárioAs ferramentas não podem aceitar um ID de usuário; a identidade vem apenas da conexão autenticada.
Chaves somente para negociaçãoSuas chaves de API de corretora são criadas sem permissão de saque e armazenadas criptografadas com AES-256. As ordens saem de IPs de negociação fixos da AlgoVesta que você autoriza na lista de permissões na corretora.

Sobre alavancagem, com franqueza: A AlgoVesta não impõe um teto de alavancagem na sua própria conta — sua corretora impõe, e você pode definir seu próprio teto com a leverage_cap regra de política. O forex via MetaTrader 5 não é alavancado neste caminho e é dimensionado por lotes. Qualquer um que lhe disser que uma plataforma “limita a alavancagem a 20x” aqui está descrevendo algo que não existe.

Erros

Código HTTP Quando acontece
unauthorized401Chave ausente, inválida ou revogada
insufficient_scope401A ferramenta exige um escopo maior do que o da chave
forbidden403Não permitido para esta conta
user_frozen403O kill switch está ativo
policy_violation403Uma regra rejeitou a ordem; a resposta lista qual
idempotency_conflict409A mesma chave foi reutilizada com argumentos diferentes
validation_failed422Argumentos malformados ou contraditórios
rate_limited429Chamadas em excesso; retry_after está incluído

Recusas em nível de domínio chegam como resultados estruturados, e não como erros de transporte, para que o assistente possa agir sobre elas: VENUE_NOT_CONNECTED, ACCOUNT_REQUIRED, ACCOUNT_AMBIGUOUS, ACCOUNT_NOT_FOUND, POSITION_NOT_FOUND, MISSING_FIELDS, INVALID_SIDE, SL_REMOVAL_FORBIDDEN. As mensagens de erro nunca vazam detalhes internos, e nunca revelam nada sobre outra conta.

Limites de taxa

Escopo do limite Limite
Todas as chamadas de ferramenta, por chave60 por minuto
place_order10 por minuto
replay_channel5 por hora (resultados em cache por 24 horas)
E-mail de confirmação do escopo live1 por minuto

Eventos em tempo real

Um stream de eventos enviados pelo servidor, isolado por locatário, está disponível em /mcp/events (OAuth) e /u/<key>/events (link secreto), com Last-Event-ID reconexão, de forma que uma conexão perdida retoma em vez de reiniciar. Tipos de evento: fill, policy_rejected, position_closed, sl_hit, tp_hit, e replay_progress durante um replay de canal.

Praças — 16 corretoras e MetaTrader 5

Uma conexão alcança todas elas. Uma praça só fica disponível para a IA depois que você a conecta na AlgoVesta; pedir uma que você não conectou retorna VENUE_NOT_CONNECTED em vez de um palpite.

Corretora venue valor Mercados Senha adicional (passphrase) necessária
BinancebinanceSpot, futurosNão
BybitbybitSpot, futurosNão
OKXokxSpot, futurosSim
KuCoinkucoinSpot, futurosSim
Gate.iogateioSpot, futurosNão
BitgetbitgetSpot, futurosSim
KrakenkrakenSpot, futurosNão
CoinbasecoinbaseSpotNão
BingXbingxSpot, futurosNão
HyperliquidhyperliquidFuturosNão
BackpackbackpackSpot, futurosNão
HTXhtxSpot, futurosNão
BloFinblofinSpot, futurosSim
PhemexphemexSpot, futurosNão
WOO XwooSpot, futurosSim (Application ID)
CoinExcoinexSpot, futurosNão
MetaTrader 5 (forex, metais, índices)mt5Lotes, caminho sem alavancagemLogin da corretora
Motor paperpaper$5.000 virtual

Seis destas — Binance, Bybit, OKX, Gate.io, KuCoin e Bitget — foram verificadas de ponta a ponta com dinheiro real, tanto em futuros quanto em spot, com o stop-loss e o take-profit confirmados como existentes na própria corretora e correspondendo exatamente aos valores registrados. Cada corretora tem suas próprias peculiaridades, e as diferenças são deliberadas, não lacunas: Bybit e Bitget não aceitam uma segunda perna de take-profit no spot, o spot da OKX é roteado pela API bruta para evitar que uma conta à vista se torne silenciosamente uma conta de margem, o spot da Binance exige um nocional mínimo antes da compra, e as compras a mercado na KuCoin são feitas em modo de custo.

Spot e futuros são sempre mantidos separados. O mesmo símbolo nos dois mercados é uma linha separada, um feed de preço separado e uma chave separada — um nunca se mistura com o outro.

MetaTrader 5 com instalação zero

Você não instala nada para o forex. Não há VPS para alugar, nenhum terminal MetaTrader para manter ativo na sua própria máquina, nenhum Expert Advisor para você anexar e nenhuma conta de ponte de terceiros para comprar. A AlgoVesta executa os terminais MetaTrader 5 em seus próprios servidores gerenciados e os mantém conectados à sua corretora 24 horas por dia. Você informa as credenciais da sua conta uma vez e seu assistente de IA pode negociar essa conta a partir de então. Os dados de posição retornados ao assistente são verificados com o terminal, e quando não podem ser verificados, a ferramenta diz isso em vez de sugerir uma conta vazia.

Roteiro — ações globais

Planejado — ainda não disponível

A negociação global de ações via Interactive Brokers (IBKR) está planejada, com foco em 170 ações globais acessíveis pela mesma conexão MCP que cripto e forex. Este é um item de roteiro e não está em produção hoje; nada nesta página, além deste parágrafo, o descreve, e nenhuma ferramenta atual pode negociar ações. Quando for lançado, aparecerá como valores adicionais de venue sob as mesmas ferramentas, a mesma barreira de política e os mesmos recibos.

Latência medida

Estas são medições, não números de marketing.

Etapa Medido
Recepção e interpretação da requisição17–67 ms (mediana de 38 ms)
De ponta a ponta no MetaTrader 5Cerca de 1 segundo (849 ms medidos; 702 ms para fechar)
De ponta a ponta em uma corretora de criptoCerca de 3 segundos (2.785 ms medidos)
Motor paperMediana de 318 ms — sem ida e volta até a corretora

O tempo gasto dentro do seu cliente de IA — o modelo pensando, e você confirmando — não está incluído e geralmente vai dominar o total. Este servidor não é uma praça de execução de baixa latência e não é vendido como tal.

Endpoints REST do painel

Tudo que a IA não pode e não deve fazer por conta própria fica atrás da sua sessão normal, com login feito.

POST   /api/mcp/keys                            create a key (live requires 2FA)
GET    /api/mcp/keys                            list keys
DELETE /api/mcp/keys/{key_id}                   revoke a key
POST   /api/mcp/live-code                       send the live-scope confirmation code
POST   /api/mcp/freeze  |  /api/mcp/unfreeze    kill switch
GET    /api/mcp/status                          connection status
GET    /api/mcp/policies                        list policies
POST   /api/mcp/policies/compile                compile without activating
POST   /api/mcp/policies/{id}/activate          activate
POST   /api/mcp/policies/{id}/deactivate        deactivate
GET    /api/mcp/audit                           audit log
GET    /api/mcp/receipts                        receipts
GET    /api/mcp/receipts/{receipt_id}/verify    verify one receipt
GET    /api/mcp/pubkey                          receipt public key
GET    /api/mcp/paper  |  POST /api/mcp/paper/reset

O que você precisa ter

A conexão MCP em si faz parte do produto e não é vendida separadamente. O que limita você na prática é o que a IA deve alcançar: a negociação paper precisa apenas de uma conta, enquanto a negociação live precisa de um plano pago ativo e das contas conectadas que esse plano permite — e a negociação live no MetaTrader 5 com dinheiro real exige adicionalmente que você opte explicitamente por ativar essa conta. Os limites de plano quanto ao número de chaves de corretora e contas MetaTrader estão listados na página de preços. Você pode experimentar tudo com o saldo paper de $5.000 antes que qualquer uma dessas coisas importe.

Perguntas frequentes

Sim, assim que você fornecer a ele uma chave com o escopo live , e esse escopo só é emitido após um segundo fator. Até lá, o mesmo assistente opera contra um saldo paper de $5.000 com ferramentas idênticas, para que você possa ensaiar todo o fluxo de trabalho antes que qualquer dinheiro real esteja acessível.
Não, e você nunca deveria fazer isso com nenhuma ferramenta. Suas chaves de API permanecem dentro da AlgoVesta, criptografadas, criadas sem permissão de saque. O assistente sempre possui apenas um link MCP, que tem escopo definido, limite de taxa, verificação por política, é revogável individualmente e inútil para mover fundos para fora de uma corretora.
Ela pode fazer o modelo tentar. Ela não pode fazer a tentativa ter sucesso. As regras são compiladas em JSON e avaliadas no lado do servidor, depois que a requisição sai do modelo, então a persuasão não tem superfície sobre a qual atuar. Uma violação é rejeitada e registrada no log de auditoria, onde você pode ver exatamente o que foi tentado.
Nada acontece duas vezes. Toda ferramenta de escrita exige uma chave de idempotência, e uma repetição da mesma chave retorna a resposta armazenada em vez de agir novamente. Isso também é o que torna segura uma nova tentativa do cliente após um timeout de rede.
Sim. Esse é o objetivo. Uma conexão cobre todas as contas de corretora e todas as contas MetaTrader 5 que você conectou, e get_portfolio_context retorna todas elas em uma única chamada. Quando você tem mais de uma conta no mesmo mercado, o parâmetro account torna-se obrigatório e uma requisição ambígua é recusada em vez de ser enviada para um padrão.
Não mais, e este foi um bug real, não um hipotético. Esses campos costumavam ser obrigatórios, o que forçava o modelo a inventar valores, e as medições mostraram configurações de clientes sendo sobrescritas silenciosamente. Agora o assistente é instruído a deixar vazios os campos não informados, e o servidor os preenche com as configurações salvas do seu painel, informando quais foram usadas.
Nenhum deles. A AlgoVesta executa o MetaTrader 5 em seus próprios servidores gerenciados, conectados à sua corretora 24 horas por dia, 7 dias por semana. Você informa os dados da sua conta uma vez; não há nada para instalar, alugar ou reiniciar.
Não. Nada é espelhado de ninguém. Você comanda seu próprio assistente, cada ordem é verificada contra suas próprias regras, e você pode inspecionar e verificar cada ação depois, por meio do log de auditoria e da cadeia de recibos assinados.
Use o kill switch no painel, ou POST /api/mcp/freeze. Toda ferramenta então retorna user_frozen até você descongelar. Para cortar apenas um único cliente, revogue somente aquela chave — as outras continuam funcionando.
Porque esses produtos não oferecem conectores MCP personalizados. O Gemini os suporta somente na CLI, e o ChatGPT os oferece em planos pagos por meio do modo de desenvolvedor. Ambas são restrições do produto de IA e se aplicam a todo servidor MCP, não só a este. Claude, Claude Code e Cursor não têm essa limitação.
Sim. Cada ação retorna um recibo assinado com ed25519 que é encadeado por hash ao anterior. Verifique-o com a ferramenta verify_receipt , ou de forma independente em relação à chave pública em /mcp/receipts/pubkey. Editar um recibo antigo quebra a cadeia de todos os recibos posteriores, o que é exatamente o que torna a adulteração detectável.
Não, e não por causa de uma verificação de permissão que poderia estar mal configurada. As ferramentas simplesmente não têm nenhum parâmetro para identidade — a conta é derivada da própria conexão autenticada, então não existe argumento que um atacante ou um modelo confuso pudesse fornecer para alcançar outra pessoa.
Ainda não. Cripto e o forex do MetaTrader 5 já estão em produção. Ações globais via Interactive Brokers, com foco em 170 ações, estão planejadas e chegarão como valores adicionais de praça sob as mesmas ferramentas e a mesma barreira de política.

Conecte um assistente de IA às suas contas

Comece com o saldo paper de $5.000. Sem cartão, nada para instalar, e a fronteira do live permanece fechada até que você a abra deliberadamente.

Criar uma conta gratuita Ver a visão geral

Relacionado: MCP para assistentes de IA · Servidor MCP: Claude e ChatGPT para 16 Exchanges + MT5 · corretoras suportadas · forex no MetaTrader 5 · automação do TradingView · o que é um servidor MCP de negociação · segurança · preços.

Negociar envolve risco. A automação não o remove, e um assistente de IA não é consultoria de investimento. Comece no modo paper.