Skip to main content
URL: https://mcp.chatsailer.com/mcp/studio Inspecciona y prueba agentes de Sailer AI. Las ediciones aplican a la working copy. Las conversaciones en vivo siguen corriendo la versión publicada hasta que alguien publique. Conecta este servidor solo si realmente editas agentes. Es un audience OAuth separado — un token de CRM es 401 aquí, no “scope faltante”. Vuelve a conectar; no reintentes.
La primera conexión es solo lectura. publish_agent y el sandbox no van a aparecer hasta que vuelvas a conectar con agents:publish y sandbox:run.
whoami también está montado aquí. La misma tool que en CRM: qué workspace, quién autorizó, qué scopes.

Inspeccionar

list_agents

Scope: agents:read. Más nuevos primero, limit 1–100 (default 25). Devuelve id, name, is_published. Úsalo para obtener un agent_id.
Which agents are in this workspace?

get_agent_graph

Scope: agents:read. Nodos y connections de la working copy. Los nodos se dirigen por una key estable (con fallback al name) — habla en esas keys, no en ids internos. El resultado incluye un head_hash; pásalo de vuelta en cualquier write para que una edición concurrente se detecte en vez de sobrescribirse en silencio.
Show me this agent’s graph.

validate_agent

Scope: agents:read. Cada problema de una vez, dirigido por node key. Una lista vacía significa que el graph publicaría limpio.
Is this agent’s graph valid?

diff_agent_vs_production

Scope: agents:read. Qué cambiaría si publicaras ahora mismo, más el head_hash y el change_count que publish_agent exige.
What would change if I published this agent?
Llama esto antes de hacer ship. Publicar sin haber leído el diff recién se rechaza.

Publicar

publish_agent

Scope: agents:publish. Destructivo. Las conversaciones en vivo de clientes empiezan a usar la working copy de inmediato. Envia todos los cambios no publicados, no un subconjunto seleccionado. Required, y verificado del lado del servidor:
  • expected_head_hash — de get_agent_graph o diff_agent_vs_production
  • acknowledged_change_count — de diff_agent_vs_production
Si alguien más editó el agente en el medio, la llamada falla y te dice que hagas diff de nuevo. version_name / version_description opcionales aterrizan en el historial de versiones. agents:publish está separado de read a propósito: puedes entregar una conexión que itera sobre un draft y no puede hacerle ship.
Diff this agent against production, then publish it.

Sandbox

El sandbox corre la working copy. Nada aquí toca clientes reales. Un turno toma decenas de segundos, así que son dos tools en vez de una: una llamada bloqueante moriría en el load balancer después de que el trabajo ya se hubiera committed.

start_sandbox_turn

Scope: sandbox:run. Envía un mensaje (máximo 4,000 caracteres). Devuelve de inmediato un turn_id. El comportamiento multi-turno depende del historial. Un graph que solo se porta mal en el tercer turno no se reproduce un mensaje a la vez — pasa el mismo conversation_key de vuelta.
In the sandbox, say hi to this agent as a new contact.

get_sandbox_turn

Scope: sandbox:run. Haz poll con el turn_id. Mientras settled sea false, el agente todavía puede responder — eso no es silencio. Una vez settled, outcome dice qué pasó y remedy dice qué hacer al respecto. “No reply” tiene varias causas; no son el mismo arreglo.
Has that sandbox turn finished?

get_turn_trace

Scopes: sandbox:run y inference:read. Llama después de que el turno se haya settled. Qué edges se evaluaron, cuál se tomó, y por cada uno que perdió, qué condición falló y qué valor tenía realmente el campo comparado. Esta es la tool para “¿por qué no avanzó?”. Suele ser un gate que comparó un campo que nunca se recolectó — actual es null y likely_cause nombra el campo. No incluye prompts ni completions del modelo.
Why didn’t the agent leave that node?