Documentación del servidor MCP — 16 exchanges + MetaTrader 5

Servidor MCP de AlgoVesta: deja que Claude, ChatGPT, Cursor y Gemini operen tus cuentas reales de exchange y MetaTrader 5

Qué es esto: AlgoVesta gestiona un servidor alojado de Model Context Protocol (MCP) que le da a un asistente de IA veinte herramientas de trading reales a través de un único enlace HTTPS. Pega ese enlace en Claude, ChatGPT, Cursor, Claude Code, Gemini CLI o cualquier cliente compatible con MCP, y el asistente podrá leer saldos, abrir y cerrar posiciones, mover el stop-loss y el take-profit, y auditar sus propias acciones en 16 exchanges de criptomonedas y el forex de MetaTrader 5 al mismo tiempo — usando la configuración de riesgo que ya guardaste en AlgoVesta, detrás de un muro de políticas del lado del servidor que ningún prompt puede anular. Cada conexión empieza con un saldo simulado de $5,000 y cada acción devuelve un recibo firmado con ed25519.
20 herramientas MCP nativas OAuth 2.1 (PKCE) o enlace secreto Primero en papel, $5,000 virtuales Transporte Streamable HTTP

El Model Context Protocol es un estándar abierto para conectar asistentes de IA a sistemas externos. La mayoría de los servidores MCP relacionados con trading transmiten datos de mercado a una ventana de chat. Este ejecuta: es una capa de enrutamiento de órdenes con un motor de riesgo determinista delante, y la IA es quien llama — nunca la autoridad.

La idea más importante de esta página. Conectas tus claves API de exchange y tus cuentas de MetaTrader 5 una vez, dentro de AlgoVesta, y ahí defines tus preferencias de riesgo una vez (% de stop-loss, % de take-profit, apalancamiento). Luego le entregas a tu asistente de IA un enlace. Desde ese momento el asistente accede a todas las cuentas que conectaste, al mismo tiempo, a través del mismo enlace, y cada orden que abre hereda tu configuración guardada — exactamente la misma configuración que usan el panel manual y el bot de Telegram. No le estás dando a una IA tus claves API. Le estás dando una puerta con alcance limitado, revocable, con límite de frecuencia y verificada por políticas, hacia cuentas que ya controlas.

Inicio rápido

La configuración consta de tres pasos y no requiere código. Todo el flujo vive en la Conexión MCP pestaña de tu panel de AlgoVesta.

Paso 1

Abre la Conexión MCP pestaña y genera una clave. Las claves nuevas usan por defecto el alcance paper El enlace completo se muestra una sola vez — cópialo en ese momento.

Paso 2

Pega el enlace en tu cliente de IA como un servidor MCP personalizado. Ninguna clave API sale de AlgoVesta, sin código, sin instalación local.

Paso 3

Háblale. “¿Cómo está mi portafolio?” “Simula una posición larga de $200 en ETHUSDT a 5x.” “Cierra la mitad de mi posición en BTC.”

Tu URL de conexión se ve así:

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

Esa URL es una credencial. Cualquiera que la tenga puede actuar dentro de su alcance sobre tus cuentas. Trátala como una contraseña: nunca la pegues en un chat público, una captura de pantalla, un repositorio compartido o un ticket de soporte. Si se filtra, revócala desde el panel — la revocación surte efecto de inmediato para las conexiones nuevas y corta los flujos de eventos abiertos en cuestión de segundos.

Qué asistentes de IA se pueden conectar

Cualquier cliente que hable MCP sobre Streamable HTTP puede conectarse. La siguiente tabla registra lo que se verificó contra el servidor en vivo, incluidas las limitaciones reales — algunas de ellas son restricciones del producto de IA, no de AlgoVesta, y te las encontrarás sin importar qué servidor MCP uses.

Cliente de IA Dónde pegas el enlace Notas y límites reales
Claude (web, escritorio, iOS, Android)Configuración → Conectores → Agregar conector personalizadoCompatibilidad total. Los títulos de las herramientas y los cuadros de confirmación provienen directamente del servidor.
Claude Codeclaude mcp add --transport httpLínea de comandos. Útil para flujos de trabajo con scripts o repetibles.
Cursormcp.json, en el campo "url" correspondienteCompatibilidad total. Ten en cuenta que el nombre de la clave es url aquí — Gemini CLI usa uno diferente.
ChatGPTModo desarrollador / conector personalizadoSolo planes de pago. Los conectores MCP personalizados no están disponibles en el plan gratuito, y puede que primero sea necesario activar el modo desarrollador. Esta es una restricción de OpenAI.
Gemini CLI~/.gemini/settings.json, en el campo "httpUrl" correspondienteSolo CLI. La aplicación web de Gemini no admite servidores MCP personalizados. Usa la clave httpUrl , no url.
Cualquier otro cliente compatible con MCPSu propia configuración de MCP / conectoresEl servidor implementa el estándar, así que cualquier cliente compatible con MCP remoto sobre Streamable HTTP funcionará sin nada específico para él.

Ejemplo de Cursor (mcp.json):

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

Ejemplo de Gemini CLI (~/.gemini/settings.json) — nota 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 y protocolo

TransporteStreamable HTTP, sin estado, respuestas JSON. Cada solicitud se autentica de forma independiente.
Nombre del servidorAlgoVesta
Endpoint de enlace secretohttps://api.algovesta.com/u/<key>/mcp
Endpoint de OAuthhttps://api.algovesta.com/mcp
Cambios en la lista de herramientastools.listChanged = true. Los clientes actualizan la lista de herramientas al reconectar, así que las herramientas y los parámetros nuevos aparecen sin necesidad de quitar y volver a agregar el conector.
Flujo de eventosEventos enviados por el servidor en /mcp/events y /u/<key>/events, aislados por cliente (tenant), con Last-Event-ID reconexión.
Esquema legible por máquina/mcp/tools.json — el JSON Schema completo de las 20 herramientas, exactamente como lo recibe el cliente.

Autenticación y alcances

Hay dos formas de conectarse, y ambas resuelven al mismo contexto de cliente (tenant). Las herramientas nunca aceptan un ID de usuario como parámetro — la identidad se lee únicamente de la conexión autenticada, lo que hace que el acceso entre cuentas sea estructuralmente imposible, no simplemente prohibido.

Enlace secreto

Una clave con el formato avmcp_<32-byte urlsafe random>, incrustada en la ruta de la URL. Se almacena como un hash Argon2id más un hash de búsqueda SHA-256; el texto plano solo existe en el momento de su creación y nunca se puede recuperar después. Cada clave lleva su propio alcance, su propia etiqueta y su propio estado de revocación, así que puedes usar una clave paper en Cursor y una clave live en Claude, y desactivar cualquiera de las dos de forma independiente.

OAuth 2.1

Para clientes que prefieren un flujo de autorización propiamente dicho. Los grants admitidos son authorization_code y refresh_token, con tokens de actualización (refresh tokens) rotativos. PKCE con S256 es obligatorio — una solicitud sin él es rechazada. Está disponible el registro dinámico de clientes, así que la mayoría de los clientes se configuran solos. Documentos de descubrimiento:

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

Los tres alcances

Alcance Qué puede hacer Cómo se obtiene
readPortafolio, precios, órdenes pendientes, simulaciones, vistas previas de políticas, verificación de recibos, repetición de canales. No se puede colocar ninguna orden.Se crea directamente.
paperTodo lo de read, más órdenes ejecutadas contra el motor de papel con un saldo virtual de $5,000. El valor predeterminado para las claves nuevas.Se crea directamente.
liveTodo lo anterior, más órdenes reales en tus exchanges conectados y tus cuentas de MetaTrader 5.Se requiere segundo factor. Un código válido de autenticador (TOTP), o un código de confirmación enviado al correo de tu cuenta y válido durante 10 minutos. Se aplica del lado del servidor, sin excepciones.

Los alcances están jerarquizados, así que una herramienta que requiere paper rechaza una clave read con insufficient_scope. El límite entre el dinero simulado y el dinero real es, por lo tanto, una propiedad de la propia clave, no de un prompt, una configuración o el criterio del modelo.

Referencia de herramientas — las 20 herramientas

Estas son exactamente las herramientas que ve tu asistente. Las herramientas de lectura son seguras de llamar sin pedirte permiso antes; las seis herramientas de escritura generan una confirmación en los clientes que la admiten, y tres de ellas — place_order, close_position y cancel_order — están además marcadas como destructivas en sus anotaciones.

Herramienta Alcance Tipo Propósito
get_portfolio_contextreadsolo lecturaTodas las cuentas conectadas en una sola llamada
get_market_pricereadsolo lecturaPrecio en vivo con antigüedad reportada
simulate_orderreadsolo lecturaSimulación en seco (dry-run) que incluye el veredicto de la política
place_orderpaper / livedestructivoAbre una posición
close_positionpaper / livedestructivoCierra total o parcialmente
modify_positionpaper / liveescrituraMueve el stop-loss y el take-profit
list_open_ordersreadsolo lecturaÓrdenes límite pendientes
cancel_orderpaper / livedestructivoCancela una orden pendiente
compile_policyreadsolo lecturaConvierte reglas en lenguaje natural en una vista previa de política
verify_receiptreadsolo lecturaVerifica la firma y la cadena de hashes
replay_channelreadsolo lecturaHace un backtest de un canal de Telegram contra tus reglas
get_trade_historyreadsolo lecturaOperaciones cerradas y rendimiento en cripto, MT5 y paper
compare_venuesreadsolo lecturaClasifica los exchanges conectados por precio y spread medidos
list_strategiesreadsolo lecturaEstrategias de TradingView; la URL del webhook nunca se devuelve
create_strategypaper / liveescrituraNueva estrategia, siempre con la ejecución con dinero real desactivada
update_strategypaper / liveescrituraAjustes de la estrategia; auto_trade se rechaza
backtest_my_signalsreadread-onlyReproduce tus propias señales pasadas con otros ajustes (trabajo en cola)
simulate_policyreadread-onlyAplica una política de riesgo a las operaciones que realmente cerraste (trabajo en cola)
import_tradingview_backtestreadread-onlyRecalcula una exportación de TradingView con comisiones y deslizamiento reales (trabajo en cola)
get_job_statusreadread-onlyProgreso y resultado de un trabajo en cola

get_portfolio_context

No recibe parámetros. Devuelve una vista normalizada de cada cuenta de exchange, cada cuenta de MetaTrader 5 y la cuenta paper que pertenecen a la clave autenticada — y nada más. Esta es la llamada que convierte “¿cómo voy?” en una sola pregunta en lugar de dieciséis.

Dos campos importan más que el resto. Para las cuentas de cripto, balance y equity describen el monedero de futuros únicamente; el dinero de spot se reporta por separado en spot_balance, así que un asistente que solo lee balance puede concluir erróneamente que no tienes nada. Para las cuentas de MetaTrader 5, positions_source es live_ea, lo que significa que la lista de posiciones se verificó contra la terminal, o unavailable, lo que significa que no se pudo contactar con la terminal. En el caso unavailable , una lista de posiciones vacía no significa “sin posiciones abiertas” — significa desconocido, y la descripción de la herramienta le indica al modelo que lo diga así, en lugar de tranquilizarte.

get_market_price

Parámetros: venue, symbol. Devuelve {ok, venue, symbol, last, bid, ask, ts, source, age_sec}. Los precios provienen de una caché compartida que se actualiza aproximadamente cada segundo; si hay un fallo de caché, el servidor hace una llamada REST en vivo al exchange. Si el valor tiene más de 10 segundos de antigüedad o no se puede obtener en absoluto, eso se indica explícitamente — un precio desactualizado nunca se presenta como si fuera en vivo. Si el símbolo no existe en ningún exchange conectado, se puede devolver un precio informativo de un DEX junto con una advertencia clara de que no puedes operarlo en tus plataformas conectadas.

simulate_order

Obligatorio: venue, symbol, side, order_type, idempotency_key. No envía ninguna orden. Devuelve la ejecución esperada, el impacto en el margen y el veredicto de la política, además de los precios absolutos de stop-loss y take-profit que derivó el servidor. Es una operación de lectura, así que un asistente bien diseñado la llama sin pedir permiso, te muestra un resumen y solicita exactamente una confirmación antes de colocar nada.

place_order

Obligatorio: 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.

El idempotency_key no es decoración. Si la misma clave llega dos veces para el mismo usuario, se repite la respuesta almacenada y no se abre una segunda orden — que es lo que te protege cuando un cliente reintenta después de un tiempo de espera agotado, un teléfono pierde señal a mitad de una confirmación, o un modelo llama a una herramienta dos veces.

El dimensionamiento es explícito a propósito. Para cripto pasas exactamente uno de tres campos, y cada uno significa algo distinto:

Campo Significado Ejemplo a 5x
size_usdValor de la posición (nocional)size_usd=100 → una posición de $100, $20 de tu dinero
margin_usdGarantía de tu propio bolsillomargin_usd=20 → una posición de $100
risk_pctPorcentaje del saldo disponible utilizado como margen. Esto no es un dimensionamiento de riesgo por distancia de stop; la distancia del stop-loss no entra en el cálculo.risk_pct=1 con un saldo de $2,000 → $20 de margen → una posición de $100

Para forex y MetaTrader 5, el tamaño se indica en lots en su lugar, y leverage no se envía en absoluto — el producto no tiene apalancamiento y el tamaño se determina por el volumen en lotes. El tamaño de lote que indiques se usa exactamente y nunca se redondea a un valor conveniente; si queda fuera de los límites de tu bróker, la orden se rechaza y se informa el rango permitido.

Tolerancia en el tamaño de la orden. Los exchanges solo aceptan ciertos incrementos de lote, así que el monto solicitado se ajusta al paso válido más cercano. Si la desviación se mantiene dentro del 20% la orden se ejecuta y se te informa la desviación exacta; más allá del 20% la orden no se abre, y se te indica, en números, qué montos cercanos sí funcionarían. Ese umbral se eligió reprocesando cada orden real que se haya colocado alguna vez a través de la función de dimensionamiento, no se eligió por intuición.

Los campos omitidos usan tu configuración guardada como respaldo. Si no indicas un stop-loss, un take-profit o un apalancamiento, se le indica al asistente que deje esos campos vacíos, y el servidor los completa con las preferencias guardadas en tu panel — los mismos valores que usan el panel manual y el bot de Telegram. La respuesta informa qué campos provinieron de la configuración guardada en prefs_used. Esto existe debido a una falla medida: cuando esos campos eran obligatorios, el modelo tenía que inventar valores, y cinco de cinco órdenes anularon la configuración propia del cliente.

close_position

Obligatorio: venue, symbol, side, idempotency_key. Opcional: fraction (0 a 1], account, ticket. Funciona tanto para cripto como para MetaTrader 5. Cerrar reduce el riesgo, así que el muro de políticas nunca lo bloquea — solo lo hace el interruptor de emergencia (kill switch). Diez llamadas con la misma clave de idempotencia realizan exactamente un cierre. Si no existe una posición coincidente, obtienes POSITION_NOT_FOUND junto con las posiciones que sí están abiertas en esa plataforma, así el asistente puede corregirse en lugar de adivinar.

MetaTrader 5 no tiene cierre parcial — el Expert Advisor cierra por completo — así que usa fraction=1 ahí. Cuando hay varias posiciones de MT5 abiertas en el mismo símbolo, ticket se vuelve obligatorio, y mientras el objetivo sea ambiguo no se cierra nada.

modify_position

Obligatorio: venue, symbol, side, idempotency_key, más al menos uno de new_sl / new_tp. El stop-loss no se puede eliminar — la regla del SL obligatorio también aplica aquí. El orden se valida: una posición larga necesita new_sl < mark < new_tp, y una corta lo contrario. Enviar solo un lado deja el otro en su valor actual en lugar de eliminarlo. Igual que con el cierre, un ticket de MT5 ambiguo hace que no se modifique nada.

list_open_orders

Opcional: venue. Enumera las órdenes límite pendientes con order_ref, plataforma, símbolo, lado, precio de entrada, tamaño y hora de creación.

Antes de pedirle a un asistente que revise tus órdenes abiertas, hay un detalle que conviene conocer: las órdenes pendientes que rastrea esta herramienta viven en el libro de operaciones simulado (paper). Las órdenes colocadas en un mercado en vivo a través de MCP se envían como órdenes de mercado, por lo que se ejecutan de inmediato en lugar de quedar en espera, y una lista vacía en una cuenta en vivo significa que no hay nada pendiente, no que algo haya desaparecido.

cancel_order

Obligatorio: venue, order_ref, idempotency_key. Si la referencia no te pertenece, la respuesta es NOT_FOUND — nunca una pista de que existe la orden de otra persona. Al igual que el cierre, reduce el riesgo y el muro de políticas no lo bloquea.

compile_policy

Obligatorio: natural_text. Escribes una regla en lenguaje natural — “nunca arriesgues más del 2% en una sola operación, sin apalancamiento superior a 10, solo BTC y ETH” — y se compila en una política JSON, devuelta como una vista previa. Compilar nunca activa nada. La activación es un paso separado y deliberado desde el panel o mediante POST /api/mcp/policies/{policy_id}/activate, lo que significa que un modelo no puede relajar tus reglas simplemente hablando de ellas.

verify_receipt

Obligatorio: receipt_id. Devuelve signature_valid y chain_valid; una acción se verifica solo cuando ambos son verdaderos. Los recibos están firmados con ed25519 y encadenados mediante hashes por usuario, así que alterar un recibo anterior rompe todos los posteriores y chain_valid hace que se vuelva falso. La clave pública se sirve en /mcp/receipts/pubkey, así que puedes verificar de forma independiente sin confiar en este endpoint. Los recibos más antiguos de la era HMAC devuelven legacy=true.

replay_channel

Obligatorio: channel_ref. Opcional: days (hasta 90, 30 por defecto), policy_override. Responde a “¿qué habría pasado si hubiera seguido este canal de Telegram durante los últimos X días bajo mis reglas?” repitiendo sus señales pasadas en modo paper, con cada señal pasando por el muro de políticas para que las rechazadas nunca se abran. El progreso llega como replay_progress eventos. Los resultados se almacenan en caché durante 24 horas y la herramienta está limitada a 5 repeticiones por hora. Salida: {trades:[...], summary:{total_pnl, win_rate, max_drawdown, avg_rr, policy_rejections}}.

get_trade_history

Opcional: venue, symbol, days (1–365, 30 por defecto), limit (1–200, 50 por defecto), market (crypto / forex / paper). Devuelve las operaciones cerradas de las tres fuentes en una sola lista, de la más reciente a la más antigua, más un summary. El resumen es deliberadamente conservador: avg_rr se calcula solo con las operaciones en las que se conocen la entrada, el stop-loss y la salida, y rr_sample indica cuántas fueron; total_pnl es null cuando se mezclan varias monedas de cuenta, y en su lugar se ofrece pnl_by_currency; la comisión no se registra en ningún sitio, así que fee queda en null y el PnL de cripto es bruto. Si una fuente no se puede leer, incomplete_sources la nombra en lugar de devolver una lista corta como si estuviera completa.

compare_venues

Obligatorio: symbol. Opcional: market (por defecto futures, o spot), side. Devuelve, para cada exchange de cripto conectado, el precio en vivo y — en los exchanges que publican bid/ask — el spread en puntos básicos, más la diferencia de precio entre exchanges. No elige un exchange: tu orden sigue nombrando uno. Las comisiones de trading, la profundidad del libro de órdenes y el slippage se listan bajo basis.not_measured y nunca se estiman, y un exchange que no publicó bid/ask aparece en not_comparable_on_spread en lugar de ser clasificado como si su spread fuera cero. Por eso cheapest_measured significa “spread medido más bajo”, no “el más barato en general”.

list_strategies

Sin parámetros. Devuelve tus estrategias de TradingView con sus ajustes, plan_limit y can_create_more. auto_trade se reporta por estrategia, para que el asistente pueda decirte cuáles están activas. La URL del webhook, la URL de demo y el secreto HMAC se eliminan de la respuesta — solo se exponen webhook_url_configured y has_hmac_secret, porque la URL en sí misma es una credencial.

create_strategy

Opcional: name. Obligatorio: idempotency_key. Crea una estrategia de TradingView con auto_trade desactivado; el campo no se puede escribir a través de MCP, así que una estrategia recién creada no puede colocar órdenes reales hasta que la actives tú mismo en el panel. Sujeta a la cuota de estrategias de tu plan — por encima del límite devuelve un error codificado de límite de plan en lugar de no hacer nada en silencio.

update_strategy

Obligatorio: strategy_id, changes, idempotency_key. Cambia el apalancamiento (limitado a 1–20), el porcentaje de riesgo (0.1–50), los porcentajes de stop-loss y take-profit, los ajustes de trailing y break-even, los símbolos permitidos, la cuenta de destino y si la estrategia acepta señales. auto_trade, status e ip_allowlist se rechazan y se devuelven en refused_fields; la eliminación es solo desde el panel. Activar reverse_enabled devuelve un warning, porque a partir de entonces una señal BUY abre un 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. Reproduce las señales que realmente recibiste sobre barras históricas reales de un minuto de mainnet, dos veces: una con el stop, el take-profit y el apalancamiento originales de cada señal y otra con tus ajustes. Devuelve un job_ref al instante; el resultado se recoge con get_job_status. Cada resultado incluye coverage (cuántas señales se pudieron simular y por qué el resto no) y assumptions (comisiones, deslizamiento, TP parcial y lo que no se modela). Las señales sin stop, con el stop en el lado equivocado de la entrada o sin datos históricos se cuentan y se omiten, nunca se adivinan.

simulate_policy

Opcional: policy_text (lenguaje natural), rules (ya compiladas), days (1–365). Aplica una política de riesgo a las operaciones que realmente cerraste e informa cuáles habría rechazado, por qué regla y la diferencia de PnL. Devuelve un job_ref. Dos límites se indican siempre: las reglas que dependen del estado de la cuenta en el momento de la orden (posiciones abiertas, pérdida diaria, saldo) se evalúan con ceros porque ese estado no se puede reconstruir desde operaciones cerradas, así que se cuentan de MENOS, nunca de más; y el PnL procede de tus resultados realizados, se informa por divisa y nunca se suma entre divisas.

import_tradingview_backtest

Obligatorio: csv_text. Opcional: taker_fee_bps, slippage_bps, leverage. Toma el CSV que exportas del Strategy Tester de TradingView (List of Trades) y lo recalcula con costes reales: comisiones taker y deslizamiento medido en la entrada y en la salida. Pine Script nunca se ejecuta ni se interpreta — solo se recalcula tu lista exportada — y los precios se mantienen tal como los reportó TradingView. Las filas sin columna de cantidad no pueden llevar comisiones, así que quedan optimistas y se informa cuántas son. Devuelve un job_ref.

get_job_status

Opcional: job_ref. Con una referencia devuelve el estado de ese trabajo y, cuando termina, su resultado; sin argumentos lista tus trabajos recientes. status es uno de PENDING, RUNNING (con un porcentaje en progress), DONE, FAILED (hay un reintento programado), DEAD o CANCELLED. Los trabajos se ejecutan de uno en uno, así que queue_position indica cuántos hay por delante. Una referencia que no es tuya recibe la MISMA respuesta de “no encontrado” que una inexistente, de modo que no se pueden enumerar.

Los resultados no viven para siempre, y vale la pena conocer los límites antes de construir sobre ellos. Solo los 20 trabajos terminados más recientes conservan su resultado completo; los más antiguos se reducen a su resumen y vuelven con result_pruned: true, lo que significa que las filas detalladas han desaparecido y hay que ejecutar el trabajo de nuevo para regenerarlas. Todo se elimina después de 30 días. Las ejecuciones de backtest y de políticas también se registran en el historial de backtest de tu cuenta, y el resultado lleva el run_id bajo el cual se almacenaron.

El muro de políticas

Esta es la parte que hace defendible entregarle herramientas a un modelo de lenguaje. Tus reglas se compilan una vez en JSON, se validan contra un esquema fijo y luego se evalúan del lado del servidor y de forma determinista en cada orden. El modelo nunca las evalúa, nunca ve una forma de eludirlas, y no se le puede convencer de relajarlas — ni por ti en un momento de impaciencia, ni por un prompt inyectado a través de una página web o un mensaje de Telegram que haya leído por casualidad. Una infracción es un rechazo estricto con una entrada de auditoría.

Regla Tipo Significado
max_risk_per_trade_pctnúmero, 0–100Límite máximo de la porción de la cuenta que puede ocupar una sola operación
max_order_size_usdnúmero > 0Límite absoluto sobre el valor de la orden
max_daily_loss_usdnúmero > 0Deja de operar por el día al superar esta pérdida
max_open_positionsenteroLímite de concurrencia
leverage_capnúmero, 1–1000Tu propio límite de apalancamiento
venue_scopearregloRestringe la IA a las plataformas indicadas
symbol_whitelistarregloSolo se pueden operar estos símbolos
symbol_blacklistarregloEstos símbolos nunca se operan
allowed_sidesarregloSolo largo, solo corto, o ambos
notescadenaTu propia anotación

Una política compilada que no pasa la validación del esquema no se puede activar en absoluto. No existe una política parcialmente válida.

Modelo de seguridad

Paper por defectoToda clave nueva empieza en paper alcance con un saldo virtual de $5,000. Llegar al dinero real es un acto explícito y separado.
El stop-loss es obligatorioSi no existe ni un stop-loss explícito ni un valor predeterminado guardado, la orden se rechaza. Tampoco se puede eliminar después.
IdempotenciaToda herramienta de escritura requiere una clave generada por el cliente de al menos 8 caracteres. Las repeticiones reproducen la respuesta almacenada en lugar de actuar dos veces.
Interruptor de emergenciaPOST /api/mcp/freeze detiene todo a la vez; cada herramienta entonces devuelve user_frozen. /unfreeze lo revierte.
Revocación por claveRevoca un cliente sin tocar los demás. Los flujos de eventos abiertos se cortan en cuestión de segundos.
Recibos firmadosFirma ed25519 más una cadena de hashes por usuario en cada acción, verificable contra una clave pública.
Registro de auditoríaCada llamada se registra con el nombre de la herramienta, los argumentos, el resultado y la latencia, y se puede consultar en GET /api/mcp/audit y en el panel.
Aislamiento por cliente (tenant)Las herramientas no pueden aceptar un ID de usuario; la identidad proviene únicamente de la conexión autenticada.
Claves solo para operarTus claves API de exchange se crean sin permiso de retiro y se almacenan cifradas con AES-256. Las órdenes salen desde IPs de trading fijas de AlgoVesta que autorizas en la lista blanca del exchange.

Sobre el apalancamiento, en pocas palabras: AlgoVesta no impone un límite de apalancamiento en tu propia cuenta — lo impone tu exchange, y puedes fijar tu propio límite con la regla leverage_cap de política. El forex a través de MetaTrader 5 no tiene apalancamiento en esta vía y se dimensiona por lotes. Cualquiera que te diga que una plataforma “limita el apalancamiento a 20x” aquí está describiendo algo que no existe.

Errores

Código HTTP Cuándo ocurre
unauthorized401Clave faltante, inválida o revocada
insufficient_scope401La herramienta necesita un alcance mayor que el que tiene la clave
forbidden403No permitido para esta cuenta
user_frozen403El interruptor de emergencia está activo
policy_violation403Una regla rechazó la orden; la respuesta indica cuál
idempotency_conflict409La misma clave se reutilizó con argumentos diferentes
validation_failed422Argumentos mal formados o contradictorios
rate_limited429Demasiadas llamadas; retry_after se incluye

Los rechazos a nivel de dominio llegan como resultados estructurados en lugar de errores de transporte, así que el asistente puede actuar en consecuencia: VENUE_NOT_CONNECTED, ACCOUNT_REQUIRED, ACCOUNT_AMBIGUOUS, ACCOUNT_NOT_FOUND, POSITION_NOT_FOUND, MISSING_FIELDS, INVALID_SIDE, SL_REMOVAL_FORBIDDEN. Los mensajes de error nunca filtran detalles internos, y nunca revelan nada sobre otra cuenta.

Límites de frecuencia

Alcance del límite Límite
Todas las llamadas a herramientas, por clave60 por minuto
place_order10 por minuto
replay_channel5 por hora (resultados en caché durante 24 horas)
Correo de confirmación de alcance live1 por minuto

Eventos en vivo

Hay disponible un flujo de eventos enviados por el servidor, aislado por cliente (tenant), en /mcp/events (OAuth) y /u/<key>/events (enlace secreto), con Last-Event-ID reconexión, de modo que una conexión interrumpida se reanuda en lugar de reiniciarse. Tipos de eventos: fill, policy_rejected, position_closed, sl_hit, tp_hit, y replay_progress durante la repetición de un canal.

Plataformas — 16 exchanges y MetaTrader 5

Una sola conexión llega a todas. Una plataforma solo queda disponible para la IA después de que la conectes en AlgoVesta; pedir una que no has conectado devuelve VENUE_NOT_CONNECTED en lugar de una suposición.

Exchange venue valor Mercados Frase de contraseña necesaria
BinancebinanceSpot, futurosNo
BybitbybitSpot, futurosNo
OKXokxSpot, futuros
KuCoinkucoinSpot, futuros
Gate.iogateioSpot, futurosNo
BitgetbitgetSpot, futuros
KrakenkrakenSpot, futurosNo
CoinbasecoinbaseSpotNo
BingXbingxSpot, futurosNo
HyperliquidhyperliquidFuturosNo
BackpackbackpackSpot, futurosNo
HTXhtxSpot, futurosNo
BloFinblofinSpot, futuros
PhemexphemexSpot, futurosNo
WOO XwooSpot, futurosSí (ID de aplicación)
CoinExcoinexSpot, futurosNo
MetaTrader 5 (forex, metales, índices)mt5Lotes, vía sin apalancamientoInicio de sesión del bróker
Motor paperpaper$5,000 virtuales

Seis de estos — Binance, Bybit, OKX, Gate.io, KuCoin y Bitget — se han verificado de extremo a extremo con dinero real tanto en futuros como en spot, confirmando que el stop-loss y el take-profit existen en el propio exchange y coinciden exactamente con los valores registrados. Cada exchange tiene sus propias particularidades, y las diferencias son deliberadas, no vacíos: Bybit y Bitget no aceptan una segunda pata de take-profit en spot, OKX spot se enruta a través de la API sin procesar para evitar que una cuenta de efectivo se convierta silenciosamente en una cuenta de margen, Binance spot exige un nocional mínimo antes de comprar, y las compras a mercado de KuCoin se colocan en modo de costo.

Spot y futuros siempre se mantienen separados. El mismo símbolo en los dos mercados es una fila distinta, un feed de precios distinto y una clave distinta — uno nunca se mezcla con el otro.

MetaTrader 5 sin ninguna instalación

No instalas nada para forex. No hay ningún VPS que alquilar, ninguna terminal de MetaTrader que mantener activa en tu propia máquina, ningún Expert Advisor que adjuntar y ninguna cuenta puente de terceros que comprar. AlgoVesta ejecuta las terminales de MetaTrader 5 en sus propios servidores gestionados y las mantiene conectadas a tu bróker las 24 horas. Ingresas las credenciales de tu cuenta una sola vez y, a partir de ese momento, tu asistente de IA puede operar esa cuenta. Los datos de posiciones que recibe el asistente se verifican contra la terminal, y cuando no se pueden verificar, la herramienta lo indica en lugar de dar a entender que la cuenta está vacía.

Hoja de ruta — acciones globales

Planeado — aún no disponible

Está planeado el trading de acciones globales a través de Interactive Brokers (IBKR), con el objetivo de alcanzar 170 acciones globales accesibles desde la misma conexión MCP que la cripto y el forex. Esto es un elemento de la hoja de ruta y no está disponible hoy; nada en esta página aparte de este párrafo lo describe, y ninguna herramienta actual puede operar acciones. Cuando se lance, aparecerá como venue valores adicionales bajo las mismas herramientas, el mismo muro de políticas y los mismos recibos.

Latencia medida

Estas son mediciones, no cifras de marketing.

Etapa Medido
Recepción y análisis de la solicitud17–67 ms (mediana de 38 ms)
De extremo a extremo en MetaTrader 5Aproximadamente 1 segundo (849 ms medidos; 702 ms para cerrar)
De extremo a extremo en un exchange de criptoAproximadamente 3 segundos (2,785 ms medidos)
Motor paperMediana de 318 ms — sin ida y vuelta al exchange

El tiempo que pasa dentro de tu cliente de IA — el modelo pensando, y tú confirmando — no está incluido y por lo general será el factor dominante. Este servidor no es una plataforma de ejecución de baja latencia y no se vende como tal.

Endpoints REST del panel

Todo lo que la IA no puede ni debe hacer por sí misma vive detrás de tu sesión normal ya iniciada.

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

Qué necesitas tener

La conexión MCP en sí es parte del producto y no se vende por separado. Lo que te limita en la práctica es a qué está destinada la IA a acceder: el trading en papel solo necesita una cuenta, mientras que el trading en vivo necesita un plan de pago activo y las cuentas conectadas que ese plan permite — y el trading en vivo con dinero real en MetaTrader 5 además requiere que actives explícitamente esa opción para esa cuenta. Los límites de plan sobre la cantidad de claves de exchange y cuentas de MetaTrader se detallan en la página de precios. Puedes probar todo con el saldo paper de $5,000 antes de que nada de eso importe.

Preguntas frecuentes

Sí, una vez que le das una clave con el alcance live , y ese alcance solo se emite después de un segundo factor. Hasta entonces, el mismo asistente funciona contra un saldo paper de $5,000 con herramientas idénticas, así que puedes ensayar todo el flujo de trabajo antes de que haya dinero real accesible.
No, y nunca deberías hacer eso con ninguna herramienta. Tus claves API se quedan dentro de AlgoVesta, cifradas, creadas sin permiso de retiro. El asistente solo tiene siempre un enlace MCP, que tiene alcance limitado, límite de frecuencia, verificación por políticas, es revocable individualmente e inútil para mover fondos fuera de un exchange.
Puede hacer que el modelo lo intente. No puede hacer que el intento tenga éxito. Las reglas se compilan a JSON y se evalúan del lado del servidor, después de que la solicitud sale del modelo, así que la persuasión no tiene ninguna superficie sobre la cual actuar. Una infracción se rechaza y se escribe en el registro de auditoría, donde puedes ver exactamente qué se intentó.
Nada ocurre dos veces. Toda herramienta de escritura requiere una clave de idempotencia, y repetir la misma clave devuelve la respuesta almacenada en lugar de actuar de nuevo. Esto también es lo que hace seguro que un cliente reintente después de un tiempo de espera de red agotado.
Sí. Ese es precisamente el objetivo. Una sola conexión cubre todas las cuentas de exchange y todas las cuentas de MetaTrader 5 que hayas conectado, y get_portfolio_context devuelve todas en una sola llamada. Cuando tienes más de una cuenta en el mismo mercado, el parámetro account se vuelve obligatorio y una solicitud ambigua se rechaza en lugar de enviarse a una cuenta predeterminada.
Ya no, y esto era un error real, no uno hipotético. Esos campos solían ser obligatorios, lo que forzaba al modelo a inventar valores, y las mediciones mostraron que la configuración del cliente se sobrescribía silenciosamente. Ahora se le indica al asistente que deje vacíos los campos no indicados y el servidor los completa con la configuración guardada en tu panel, informando cuáles usó.
Ninguno de los dos. AlgoVesta ejecuta MetaTrader 5 en sus propios servidores gestionados, conectados a tu bróker las 24 horas, los 7 días de la semana. Ingresas los datos de tu cuenta una sola vez; no hay nada que instalar, alquilar o reiniciar.
No. No se replica nada de nadie. Tú diriges a tu propio asistente, cada orden se verifica contra tus propias reglas, y puedes inspeccionar y verificar cada acción después a través del registro de auditoría y la cadena de recibos firmados.
Usa el interruptor de emergencia en el panel, o POST /api/mcp/freeze. Cada herramienta entonces devuelve user_frozen hasta que lo desactives. Para cortar el acceso de un solo cliente en cambio, revoca solo esa clave — las demás siguen funcionando.
Porque esos productos no ofrecen conectores MCP personalizados. Gemini los admite solo en la CLI, y ChatGPT los ofrece en planes de pago a través del modo desarrollador. Ambas son restricciones del producto de IA y aplican a todos los servidores MCP, no solo a este. Claude, Claude Code y Cursor no tienen esa limitación.
Sí. Cada acción devuelve un recibo firmado con ed25519 que está encadenado mediante hash al anterior. Verifícalo con la herramienta verify_receipt o de forma independiente contra la clave pública en /mcp/receipts/pubkey. Editar un recibo antiguo rompe la cadena para todos los recibos posteriores, que es exactamente lo que hace detectable cualquier manipulación.
No, y no porque haya una verificación de permisos que se pueda configurar mal. Las herramientas simplemente no tienen ningún parámetro para la identidad — la cuenta se deriva de la propia conexión autenticada, así que no existe ningún argumento que un atacante o un modelo confundido pueda proporcionar para llegar a otra persona.
Todavía no. La cripto y el forex de MetaTrader 5 ya están disponibles. Las acciones globales a través de Interactive Brokers, con el objetivo de alcanzar 170 acciones, están planeadas y llegarán como valores de plataforma adicionales bajo las mismas herramientas y el mismo muro de políticas.

Conecta un asistente de IA a tus cuentas

Empieza con el saldo paper de $5,000. Sin tarjeta, nada que instalar, y el límite hacia el dinero real permanece cerrado hasta que lo abras deliberadamente.

Crea una cuenta gratuita Ver la descripción general

Relacionado: MCP para asistentes de IA · Trading MCP: Claude y ChatGPT a 16 Exchanges + MT5 · exchanges compatibles · forex de MetaTrader 5 · automatización de TradingView · qué es un servidor MCP de trading · seguridad · precios.

Operar conlleva riesgo. La automatización no lo elimina, y un asistente de IA no constituye asesoría de inversión. Empieza en modo paper.