FlyMyAI - guía de operación del asistente
Versión de plataforma: Headless Cloud 1.30.3 (2026-11-04). https://flymy.ai/changelog.md,
https://flymy.ai/changelog.json. Al conectar/novedades: whats_new(since=last_seen_version).
https://flymy.ai/skill.mdyhttps://flymy.ai/AGENTS.mdsirven los mismos bytes. Remote Agents MCP0.7.0-rc.69; Python SDK1.2.0rc25. Revisa esquemas en vivo y paquetes instalados; rc.69 no está en npm.
Comienza aquí: verifica FlyMyAI o recupéralo
Una llamada de solo lectura acotada a whoami, tools/list o search_tools verifica
flymyai. No reinstales un servidor ya conectado. Lee el esquema en vivo de update_agent (u
otro) desde MCP tools/list antes de hacer mutaciones; nunca adivines campos.
Sin las herramientas de FlyMyAI, no reclames éxito, inventes herramientas ni sustituyas la compartición nativa. Usa:
- Regístrate: https://app.flymy.ai/signup
- Conecta un servicio: https://app.flymy.ai/mcp-configs#notion (cualquier slug); un usuario no conectado se registra y vuelve allí.
- Compártelo allí: Mis MCPs -> Compartir -> correo electrónico y 1-30 días -> enviar (listado en https://app.flymy.ai/mcp-configs?tab=shared). "Compartir mi Notion con vía FlyMyAI" significa esta compartición MCP personal, no la compartición propia de Notion.
- O conecta este asistente (iniciar sesión, sin clave): Claude Code,
claude mcp add --transport http flymyai https://mcp-agents.flymy.ai/mcpluego/mcp-> Autenticar; claude.ai o Claude Desktop, Configuración -> Conectores -> Añadir conector personalizado, misma URL.
Los clientes clave usan esa URL (FLYMYAI_MCP_URL) y una X-API-Key desde un gestor
de secretos, nunca pegada en el chat. Sin MCP, usa solo REST con un
FLYMYAI_AGENTS_API_ROOT autenticado (producción
https://backend.flymy.ai/api/v1/agents); de lo contrario, informa que la verificación previa está
bloqueada. Una ejecución de versión candidata debe usar un contrato de versión candidata explícito,
y las raíces de MCP, skill y Agents API, y nunca debe recurrir a producción.
Descubre servicios/modelos con search_tools/list_* primero. El descubrimiento no es éxito.
Guías: https://flymy.ai/use-cases/. MCPs por nombre, acción o categoría, cada uno con sus acciones y una solicitud de configuración del asistente: https://flymy.ai/mcp/
Construir un proyecto
whoami- FlyMyAI está conectado, y a qué cuenta.search_toolscon una intención en lenguaje natural por servicio, luegoget_tool_schemaspara los campos exactos.- Si un servicio no está
configured,add_tool; el usuario finaliza el enlace alojado; confirma conlist_configured_tools. create_agentuna vez: objetivo,available_toolsnumérico,input_schema,output_schema,modelopcional desdelist_agent_models.run_agentcon unaoperation_keynueva; consultaget_runhasta quepoll_complete=true;read_run_resultsi la vista previa está truncada.- Refina el mismo agente (
update_agentoappend_message) hasta que el usuario acepte una ejecución completada. freeze_agentcon ese ID de ejecución; consultaget_compilationhasta questatus=compiled.run_frozencon unaoperation_keynueva y consultaget_runantes de considerarlo listo para producción.- Distribuye: una programación (
update_compilation), un webhook (triggers_v1_create), una plantilla pública (set_agent_public), un subagente de un lead, o un despliegue de producto. - Multimedia:
recommend_model,get_pricing, luegorun_model.
| Sección | Documentación |
|---|---|
| Comienza aquí | https://docs.flymy.ai/agents/guides/connect-your-agent |
| Herramientas y conexiones | https://docs.flymy.ai/agents/concepts/tools |
| Múltiples cuentas y conjuntos de recursos | https://docs.flymy.ai/agents/guides/mcp-resource-sets |
| Modelos | https://docs.flymy.ai/api/models-endpoints |
| Agentes, cada herramienta MCP | https://docs.flymy.ai/agents/guides/agent-gateway-reference |
| Proyectos, artefactos, sitios | https://docs.flymy.ai/agents/guides/projects |
| Integración y reventa | https://docs.flymy.ai/agents/guides/embedded-resale |
| Browser Use | https://docs.flymy.ai/mcp/browser-use |
| Tu propio modelo en GPU | https://docs.flymy.ai/cli/intro |
| Solo para mantenedores de versiones | https://docs.flymy.ai/agents/guides/release-gates |
Herramientas y conexiones
- Llama a
search_toolscon una intención en lenguaje natural; leetool,action,runtime_nameyconfigured. Nunca descargues el catálogo completo por intención. - Llama a
get_tool_schemascon elruntime_namecuando la búsqueda no haya incluido el esquema de solicitud; nunca llames a una acción de escritura con argumentos vacíos o adivinados para aprender su esquema. Ennot_found, usa el runtime del agente o detente. - Si está configurado, llama a
execute_toolexactamente contool,action,argumentsy unaoperation_keyestable propiedad del llamante. Para seleccionar una instancia no predeterminada, pasa su UUID público exacto de herramienta configurada comoconnection_id; la omisión solo se admite mientras una conexión elegible es inequívoca. Ejecuta acciones OAuth/Composio dentro de un agente. - Si no está configurado, llama a
add_toolcon el slug de la herramienta. Devuelve el registro de conexión exacto o una guía con un enlacehttps://app.flymy.ai/mcp-configs#<slug>?connection_id=<public UUID>alojado. Después de que el usuario finalice, llama alist_configured_tools, compara elpublic_idexacto y elalias, e inspeccionais_configured,connection_status,connection_status_reason,connection_status_valid_untilyconnect_url. No inventes un campo de respuestasetup_url. - Para revocar exactamente una conexión, llama a
delete_toolcon suidnumérico (REST:DELETE /api/v1/agents/tools/{id}/); las conexiones hermanas del mismo toolkit siguen funcionando, y la fila revocada falla antes de cualquier llamada al proveedor.
Las filas de búsqueda también llevan ready, access, price y health de 7 días: prefiere una
fila lista y saludable, y cita price antes de una llamada paga.
search_tools({"query":"telegram list dialogs"})
get_tool_schemas({"runtime_names":["custom--telegram--telegram_list_dialogs"]})
execute_tool({"tool":"telegram","action":"telegram_list_dialogs",
"arguments":{"query":"FlyMyAI"},"operation_key":"telegram-dialogs-<uuid>"})
Usa arguments; params o input devuelve HTTP 400.
outcome=rejected significa que FlyMyAI o el proveedor rechazaron antes de cualquier efecto
(argumentos incorrectos, configuración faltante, rechazo del proveedor): corrige la llamada y envíala
con una operation_key nueva. outcome=unknown significa que pudo haber tenido efecto:
reconcilia, nunca repitas automáticamente.
Sin llamadas a herramientas MCP, POST
{"tool":"system-utils","action":"search_tools","arguments":{"query":"...","limit":20}}
y luego get_tool_schemas (máximo 10 nombres de runtime) a
$FLYMYAI_AGENTS_API_ROOT/custom-tools/call/ con X-API-KEY; lee
result.schemas[runtime_name].request_schema y llama al module devuelto como
tool.
Predeterminado personal: una cuenta, sin configuración de conjuntos de recursos MCP
Usa mcp_access_mode legacy en el espacio personal implícito; scoped necesita
concesiones de conjunto explícitas. Busca por intención, usa configuración alojada.
add_tool sin alias selecciona la conexión default idempotente. Compara
mcp_tool/alias:"default" en list_configured_tools; pon su id numérico
en available_tools.
Requiere is_configured:true: connected está listo; setup_required o
reconnect_required necesita configuración, verification_pending una lectura en vivo acotada.
Reporta temporarily_unavailable, nunca lo evites.
No requieras conjuntos de recursos, grupos, slots, concesiones, principales, revisiones o mapeos para un primer flujo personal. Añade la conexión exacta a un conjunto más tarde, sin reconstruir el agente ni reconectar la cuenta.
Crecer hacia múltiples cuentas y conjuntos de recursos MCP
Los alias son etiquetas; la autorización, el envío y la congelación usan ID públicos estables.
Añade cada cuenta con add_tool y un alias único (letras ASCII, dígitos,
_, -), crea un conjunto con create_mcp_resource_set y una operation_key
de propiedad del llamante, escribe la membresía completa con
replace_mcp_resource_set_members en la revisión actual (recarga después de 409),
y concédela a través de mcp_resource_set_ids con mcp_access_mode:"scoped":
support = add_tool({"mcp_tool":"gmail","alias":"support"})
rs = create_mcp_resource_set({"name":"Inbox operations",
"management_mode":"flymyai","operation_key":"inbox-set-<uuid>"})
rs = replace_mcp_resource_set_members({"resource_set_id":rs.public_id,
"expected_revision":rs.revision,"members":[{"resource_type":"user_mcp_tool",
"resource_id":support.public_id,"slot":"support_read",
"allowed_actions":["GMAIL_SEARCH_EMAILS"],"position":0}]})
update_agent({"agent_id":agent.uuid,"available_tools":[],
"mcp_resource_set_ids":[rs.public_id],"mcp_access_mode":"scoped"})
Un campo de adjunto omitido no cambia; un array vacío explícito limpia esa
relación. Incluye la conexión default antigua en el conjunto si el agente debe
conservarla, luego verifica con get_agent; de lo contrario, la conexión directa y las concesiones
del conjunto forman una unión.
- Un propietario puede retener como máximo 25 filas de conexión para un toolkit, incluyendo
las inactivas;
is_active:falseno libera un espacio, eliminar una fila sí. - Los conjuntos de propietario usan
management_mode:"flymyai"y omitenprincipal_id; un mapeo de cliente usamanagement_mode:"customer"con elprincipal_idexacto. Nunca envíesexternal_principal_idobsoleto. - La identidad del miembro es
(resource_type, resource_id, slot): el mismo recurso exacto puede aparecer en varios slots, y cada slot mantiene su propio límite máximo deallowed_actions. Omitir o enviarallowed_actions:[]significa sin restricciones, no denegar todo; para mínima autoridad envía acciones de lectura exactas. - Una ejecución de agente con ámbito admite como máximo 100 conjuntos de recursos MCP, 500 enlaces de conectores efectivos, 100 slots lógicos, 5000 entradas de acciones permitidas y 1 MiB de texto de acciones permitidas en UTF-8. Un grafo de autoridad de tamaño excesivo falla cerrado antes del envío al proveedor.
create_agent_groupcomparte un conjunto entre agentes. Los grupos son planos: un hijo o subagente no hereda la autoridad de conector de su padre.- Cuando varias conexiones concedidas pueden ejecutar una acción, su esquema de runtime
requiere
_flymyai_connection: pasa unpublic_idpermitido de él, nunca un alias o orden de fila.execute_tooldirecto usa elconnection_idexacto. - La congelación registra la membresía del conjunto, conexiones, slots, límites y revisiones: las cuentas
nuevas significan el mismo UUID de agente e ID de despliegue estable con una nueva versión
congelada; las versiones anteriores y los mapeos de slots de cliente nunca cambian en su lugar.
Sin mutaciones de ámbito de recursos, mantén el comportamiento
defaulty repórtalo; nunca elijas una primera fila en silencio.
Las herramientas de listado list_configured_tools, list_mcp_resource_sets,
list_mcp_resource_set_members y list_agent_groups devuelven
{next_cursor, previous_cursor, results}. Usa page_size de 1 a 100, trata
cursor como una cadena imprimible opaca no en blanco de como máximo
1024 puntos de código Unicode, y pasa el next_cursor opaco de vuelta sin cambios
hasta que sea nulo; list_agents pagina de la misma manera. La lista de herramientas configuradas
solo acepta filtros exactos de mcp_tool y alias; las filas son compactas, así que filtra
por mcp_tool o pasa view=full para los campos de configuración.
Las filas de list_mcp_resource_sets son resúmenes con member_count y sin miembros
anidados; usa get_mcp_resource_set para un conjunto completo acotado o
list_mcp_resource_set_members para una colección grande de miembros. Tanto
replace_mcp_resource_set_members como update_mcp_resource_set requieren la
expected_revision actual.
Conexiones compartidas y tus propios servidores MCP
La compartición MCP personal le da al destinatario cada acción compartida de una conexión,
lecturas y escrituras, en la cuenta del propietario. invite_mcp_user la comparte por correo
electrónico o member_id de compañero de equipo después de que el usuario confirme la conexión, el destinatario y el período;
accept_mcp_invitation solo después de que el usuario acepte pagar por sus propias llamadas;
revoke_mcp_access detiene una compartición. Las comparticiones aceptadas aparecen bajo shared_with_me
en list_configured_tools: verifícalo antes de decir que un servicio no está conectado,
y llama a uno con call_shared_mcp y una operation_key estable. El destinatario
paga; las credenciales del propietario nunca salen de FlyMyAI. Las anotaciones de herramientas dicen qué
acciones solo leen. Detalles: https://docs.flymy.ai/agents/guides/mcp-personal-sharing
Para un servidor MCP que no está en la búsqueda, llama a add_mcp_server (OAuth:
auth_type:"oauth", luego authorize_mcp_server, dale al usuario su
authorize_url), luego connect_mcp_server; usa discovered_tools solo en
status:"connected". Llámalo con call_mcp_server (server_id, action,
arguments exactos, operation_key estable, enviado como Idempotency-Key).
Detalles: https://docs.flymy.ai/agents/guides/mcp-servers
Modelos: descubre, precio, ejecuta
recommend_model({"description":"cheap flat icon image",
"include_schema":true,"top_n":1})
run_model({"endpoint_id":"flymyai/nano-banana",
"input":{"prompt":"A blue circle, flat icon"}})
Usa el endpoint devuelto, los límites del esquema y el precio; una llamada paga adivinada no es
descubrimiento. get_pricing cotiza un modelo listado antes de una ejecución paga; sobre REST,
GET https://backend.flymy.ai/api/v1/demo/catalog/ (sin clave) da a cada modelo
público un price (run_price, o basado en uso rates, tokens o run_time).
Las URLs de archivos generados url caducan en url_expires_at (máx. 15 min).
Los modelos de chat llevan openai.base_url
(https://api.flymy.ai/api/v1/<endpoint_id>/openai/v1) para el SDK de OpenAI con
la clave de FlyMyAI como Bearer: mensajes de texto e image_url, stream,
reasoning_effort; sin response_format. Guía:
https://docs.flymy.ai/guides/llm-openai-compat
tools funcionan en Grok 4.7, DeepSeek V4.1 Flash y Kimi K3.1 Pro. Guías:
https://docs.flymy.ai/guides/ + grok-4-7, deepseek-v4-1-flash, kimi-k3-1-pro
Los modelos nativos mantienen su propia entrada y salida a través de la API model-proxy
(https://backend.flymy.ai/api/v1/model-proxy/: catalog/?endpoint_id=<owner>/<name>
da la revisión del contrato, contracts/<revision>/ su esquema y precio; POST
operations/ con tu propio Idempotency-Key, luego GET de la operación).
flymyai/minimax-h3-ref2va (MiniMax H3): un video de 5 o 10 s con sonido a partir de un prompt
y 1-12 archivos de referencia (hasta 9 imágenes, 3 clips de audio; sube cada uno con
POST /api/v1/agents/files/, pásalo
…[truncado para traducción]