Agentled MCP Server
Orquestración de flujos de trabajo nativa de IA con memoria a largo plazo. Más de 100 integraciones a través de un sistema de crédito único. 32 herramientas MCP para construir y ejecutar flujos de trabajo empresariales inteligentes: enriquecimiento de leads, publicación de contenido, investigación de empresas, producción de medios. Grafo de conocimiento que aprende entre ejecuciones. Funciona con Claude, Codex, Cursor, Windsurf.
Documentación
@agentled/mcp-server
El motor de automatización construido para agentes de IA. Orquestación inteligente de flujos de trabajo de IA con memoria a largo plazo, más de 100 integraciones y créditos unificados.
¿Qué es Agentled?
Agentled es el motor de automatización construido para agentes de IA. Les da a Claude, Codex, Cursor, Windsurf y a cualquier cliente compatible con MCP acceso directo a orquestación inteligente de flujos de trabajo, memoria a largo plazo y más de 100 integraciones.
Tres cosas lo hacen diferente:
🧠 Memoria a largo plazo — Un Grafo de Conocimiento integrado almacena aprendizajes entre ejecuciones de flujos de trabajo. Tus agentes se vuelven más inteligentes con el tiempo: recuerdan investigaciones pasadas, puntuaciones de prospectos, rendimiento de contenido y contexto de negocio.
⚡ Créditos unificados — Una clave de API, un sistema de créditos, más de 100 servicios. Sin necesidad de registrarte por separado en LinkedIn, correo electrónico, scraping, modelos de IA o generación de video. Conéctate una vez, úsalo todo.
🎯 Orquestación inteligente — La IA razona en cada paso. Los flujos de trabajo no son solo "si esto, entonces aquello": entienden el contexto, toman decisiones y se adaptan a los resultados.
Véalo en acción
$ agentled create "Outbound to fintech CTOs in Europe"
Loading workspace context from Knowledge Graph...
✦ ICP loaded ✦ 3 prior campaigns ✦ 847 contacts in KG
Creating campaign with 3 workflows...
━━ Workflow 1: Prospect Research linkedin · hunter · clearbit
✓ LinkedIn: CTO + fintech + EU → 189 profiles
✓ Enriched via Hunter + Clearbit → 156 matched
✓ ICP scoring → 43 high-intent leads
━━ Workflow 2: Signal Detection web-scraper · crunchbase
✓ Job postings → 12 hiring devops
✓ Crunchbase → 8 recently funded
✓ Cross-match: hiring + funded → 5 hot leads
━━ Workflow 3: Outreach email · linkedin · kg
✓ Personalized emails from context
✓ LinkedIn requests with custom notes
✓ 43 leads saved to Knowledge Graph
Campaign saved. Scheduled: every 48h
Credits used: 720
→ https://www.agentled.app/your-team/fintech-cto-outbound
Un prompt. Tres flujos de trabajo. Enriquecimiento de LinkedIn, búsqueda de correos, puntuación con IA, alcance multicanal: todo orquestado, todo almacenado en el Grafo de Conocimiento para la próxima ejecución.
Inicio rápido
claude mcp add --transport stdio --scope user agentled \
-e AGENTLED_API_KEY=wsk_... \
-- npx -y @agentled/mcp-server
--scope user registra el servidor en tu configuración MCP de usuario para que se cargue en todos los proyectos (no solo en el repositorio donde ejecutaste el comando). Usa un nombre de servidor distinto (p. ej., agentled_my_workspace) si agregas varios espacios de trabajo. Para configuración compartida por equipo en git, usa --scope project y .mcp.json en su lugar (ámbitos MCP de Claude Code).
Plugin de Claude Code (instalación en un paso)
Prefiere el plugin si quieres que el servidor MCP y la habilidad de Agentled se instalen juntos. En Claude Code:
/plugin marketplace add Agentled/mcp-server
/plugin install agentled@agentled
Luego configura tu clave de API en la shell desde la que se ejecuta Claude Code:
export AGENTLED_API_KEY=wsk_...
El plugin incluye la habilidad agentled (guía para crear flujos de trabajo, agentled:agentled con espacio de nombres) y arranca automáticamente el servidor MCP mediante npx -y @agentled/mcp-server. El mismo directorio del plugin también incluye el manifiesto de Codex (.codex-plugin/) y los hooks del ciclo de vida de Codex: un solo paquete, ambos hosts.
Plugin de Grok Build
El mismo plugin portátil incluye un manifiesto de Grok Build en
plugins/agentled/.grok-plugin/plugin.json. Inicia el servidor MCP stdio local publicado declarado en .mcp.json; no contiene una clave de API de AgentLed, secreto de cliente OAuth, ID de espacio de trabajo ni datos de clientes. Autentícate con
tu propio perfil CLI de AgentLed antes de instalarlo en Grok Build, luego comienza
con descubrimiento de herramientas de solo lectura. El material para el marketplace está en
plugins/agentled/GROK_MARKETPLACE_SUBMISSION.md.
Para Codex, el paquete de hooks actúa como guía dentro de la sesión alrededor del bucle CLI/MCP:
el inicio de sesión explica la división del bucle de negocio Agentled/Codex, los hooks de prompt/herramienta
agregan guía a nivel de turno cuando aparecen necesidades del cliente, prioridades, fallos o brechas de producto,
y los hooks de detención impulsan las transferencias de implementación para incluir preparación,
validación, efectos secundarios y la siguiente decisión. Los hooks no almacenan comentarios, no llaman
a las APIs de Agentled, no ejecutan automatizaciones, no gastan créditos ni realizan escrituras
de clientes/espacios de trabajo. En Codex, ejecuta /hooks después de instalar o cambiar el plugin para que las
definiciones de hooks locales sean revisadas y confiables antes de ejecutarse.
Usa las automatizaciones de Codex para la cadencia FDE fuera del espacio de trabajo, como seguimiento
de correos de Outlook/clientes, respuestas de proveedores, verificaciones de repositorio/compilación y revisiones semanales de operadores.
Usa las rutinas de Agentled para verificaciones del espacio de trabajo/tiempo de ejecución de Agentled, como salud
de flujos de trabajo, salud de rutinas, revisión de ejecuciones, resúmenes de espacio de trabajo y operaciones
de agentes gestionados. Usa submit_feedback_to_agentled o agentled feedback submit cuando
el usuario quiera explícitamente capturar comentarios sobre el producto.
Elige una ruta de instalación, no ambas. Si antes ejecutaste
claude mcp add agentled ...o--setup-skills, elimínalos antes (o en lugar de) instalar el plugin; de lo contrario, tendrás dos procesos idénticos del servidor MCP y la habilidad registrada dos veces. Limpieza:claude mcp remove agentledy elimina.claude/skills/agentled/(o~/.claude/skills/agentled/).--setup-skillsahora detecta un plugin instalado y se niega a registrarlo dos veces a menos que pases--force.
Para desarrollar el plugin localmente:
claude --plugin-dir ./plugins/agentled # load from source
claude plugin validate ./plugins/agentled # check manifest + structure
plugins/agentled/skills/es un espejo generado deskills/(sincronizado porpublish.sh): editaskills/agentled/SKILL.md, nunca el espejo.
Desarrollo local
Usa el punto de entrada local compilado cuando quieras probar cambios no publicados contra una
aplicación local. npx -y @agentled/mcp-server siempre usa el paquete npm publicado más reciente.
cd agentled-mcp-server
npm run build
claude mcp add --transport stdio agentled_local \
--env AGENTLED_API_KEY=wsk_... \
--env AGENTLED_URL=http://localhost:8080 \
-- node /absolute/path/to/agentsled-front/agentled-mcp-server/dist/index.js
Cómo obtener tu clave de API
- Regístrate en agentled.app
- Abre Configuración del espacio de trabajo > Desarrollador
- Genera una nueva clave de API (empieza con
wsk_)
¿Por qué Agentled MCP?
Una clave de API. Un sistema de créditos. Más de 100 servicios.
Sin necesidad de registrarte por separado en APIs de LinkedIn, servicios de correo, scrapers web, generadores de video o modelos de IA. Agentled gestiona todas las integraciones mediante un único sistema de créditos.
| Capacidad | Créditos | Sin Agentled |
|---|---|---|
| Enriquecimiento de empresas en LinkedIn | 50 | API de LinkedIn ($99/mes+) |
| Búsqueda y verificación de correos | 5 | Hunter.io ($49/mes) |
| Análisis con IA (Claude/GPT/Gemini) | 10-30 | Múltiples claves de API + facturación |
| Scraping web | 3-10 | Cuenta de Apify ($49/mes+) |
| Generación de imágenes | 30 | Suscripción a DALL-E/Midjourney |
| Generación de video (escena de 8 s) | 300 | RunwayML ($15/mes+) |
| Texto a voz | 60 | ElevenLabs ($22/mes+) |
| Almacenamiento en Grafo de Conocimiento | 1-2 | Infraestructura personalizada |
| Sincronización de CRM (Affinity, HubSpot) | 5-10 | API de CRM + middleware |
Flujos de trabajo que aprenden
Otras herramientas de automatización empiezan desde cero en cada ejecución. El Grafo de Conocimiento de Agentled recuerda entre ejecuciones: qué funcionó, qué no, qué corrigieron los humanos. Los flujos de puntuación pueden usar resúmenes compactos de scoring_profile a nivel de fila y recuperación limitada de memoria de puntuación para que cada ejecución se acumule sobre la anterior sin volcar el historial completo en los prompts.
Run 1: Investor scoring → 62% accuracy (cold start)
Run 5: → 78% (learning from IC feedback)
Run 12: → 89% (compound learning from outcomes, zero manual tuning)
Orquestación inteligente
A diferencia de las herramientas de disparo-acción, los flujos de trabajo de Agentled tienen razonamiento de IA en cada paso. Soporte multimodelo (Claude, GPT-4, Gemini, Mistral, DeepSeek, Moonshot), ejecución adaptativa y puertas de aprobación con intervención humana cuando sea necesario.
Equipos de agentes
Los Equipos de agentes te permiten ejecutar múltiples especialistas de IA en un solo paso del flujo de trabajo. Elige un ajuste preestablecido y describe lo que necesitas: el equipo se encarga de la coordinación, la delegación y la síntesis.
"Add an Agent Team step that researches the company and produces an investment memo"
Seis ajustes preestablecidos integrados cubren los patrones más comunes:
| Ajuste preestablecido | Qué hace |
|---|---|
research-and-summarize | Los especialistas recopilan información, uno sintetiza un resumen |
analyze-and-recommend | Varios analistas evalúan opciones y producen una recomendación clasificada |
generate-then-review | Un generador redacta contenido, los revisores critican y refinan |
compare-options | Los especialistas defienden opciones en competencia, el coordinador arbitra |
investigate-in-parallel | Especialistas independientes exploran diferentes ángulos simultáneamente |
review-and-improve | Los revisores encuentran problemas, un editor aplica mejoras |
Al crear pasos de Equipo de agentes mediante MCP, incluye metadatos del ajuste preestablecido para que el paso se abra correctamente en el constructor:
{
"id": "analyze",
"type": "agentOrchestrator",
"name": "Agent Team",
"orchestratorConfig": {
"pattern": "supervisor",
"workers": [
{ "id": "researcher", "name": "Researcher", "systemPrompt": "Research {{input.company_url}} — team, funding, market position" },
{ "id": "analyst", "name": "Analyst", "systemPrompt": "Analyse the research. Identify risks and growth signals." }
]
},
"metadata": {
"agentTeamPreset": "research-and-summarize",
"agentTeamMode": "simple",
"agentTeamUxVersion": 1
},
"next": { "stepId": "milestone" }
}
Los pasos existentes creados con orchestratorConfig sin procesar y sin metadatos siguen funcionando: se abren en modo avanzado en el constructor sin errores.
Semántica de analítica vs. ROI
Al describir los resultados de los flujos de trabajo, mantén separados estos términos:
pipeline.analyticsConfig= métricas de negocio (estadísticas de resultados de ejecución que se muestran en las tarjetas/gráficos de Métricas de negocio).pipeline.metadata.roi= supuestos/acumulados de ROI (estimaciones de tiempo ahorrado y valor de costo).
Si actualizas uno sin el otro, nombra exactamente qué cambió (p. ej., "métricas de negocio configuradas" vs. "supuestos de ROI configurados").
Protección de paridad CLI
El repositorio incluye una protección de paridad automatizada para que las adiciones de herramientas MCP no se desvíen silenciosamente de la superficie CLI.
- Prueba:
__tests__/cli/cli-mcp-parity.test.ts - Documentos:
docs/CLI_MCP_PARITY.md
Ejecútala con:
yarn test:node -- cli-mcp-parity.test.ts
¿Qué puedes construir?
Enriquecimiento de prospectos y automatización de ventas
"Find fintech CTOs in Europe, enrich via LinkedIn + Hunter, score by ICP fit,
draft personalized outreach, save everything to the Knowledge Graph"
Producción de contenido y medios
"Scrape trending topics in our niche, generate 5 LinkedIn posts with AI,
create thumbnail images, schedule publishing for the week"
Investigación e inteligencia de empresas
"Research this company from its URL — team, funding, market position, competitors.
Generate an investment memo. Store in KG for future reference."
Coincidencia de inversores de capital de riesgo (caso de estudio real)
"Match this startup against our 2,000+ investor database. Score by sector focus,
stage preference, check size, and portfolio synergy. Compare with last round's outcomes."
Más de 3000 perfiles procesados. Informes listos para el comité de inversiones. Aprendizaje de predicción vs. resultado: la precisión pasó del 62 % al 89 % en 12 ejecuciones sin ajuste manual.
Habilidades e integraciones integradas
Producción de medios: Generación de video, generación de imágenes, texto a voz, subtítulos automáticos, ensamblaje de medios
Inteligencia de IA: IA multimodelo (Claude, GPT-4, Gemini, Mistral, DeepSeek, Moonshot, xAI), Grafo de Conocimiento, bucles de retroalimentación, puntuación y analítica
Datos e integración: LinkedIn (búsqueda, enriquecimiento, publicación), correo electrónico (envío, personalización), scraping web, publicación social, sincronización de CRM, análisis de documentos, OCR
Herramientas disponibles
Guías operativas por caso de uso
Cuando el trabajo comienza desde un ID de flujo de trabajo existente, llama a get_workflow primero e
inspecciona useCaseContext. Luego llama a get_use_case con la clave devuelta o el
ID del grafo del flujo de trabajo, y lee cualquier operatingGuides antes de responder
preguntas específicas del flujo de trabajo, ejecutar rellenos retroactivos o editar configuración en vivo. Las advertencias
de guía faltante significan que el README operativo aún no está adjunto y el contexto está
incompleto.
Cuando el trabajo comienza desde el objetivo de negocio de un usuario en lugar de un flujo de trabajo existente,
usa Cómo construir casos de uso a partir de objetivos de usuario.
Cubre el ciclo de vida del agente externo desde el resultado de chat acotado hasta el estado de texto/lista del Grafo de Conocimiento, WorkspaceUseCase, flujos de trabajo, colas de aprobación y actualizaciones del resumen de inicio.
Flujos de trabajo
| Herramienta | Descripción |
|---|---|
list_workflows | Lista todos los flujos de trabajo en el espacio de trabajo |
get_workflow | Obtiene la definición completa del flujo de trabajo por ID, incluido useCaseContext cuando está vinculado |
get_workflow_credits | Obtiene el uso de créditos del flujo de trabajo derivado del libro mayor y etiquetado por período; opta por los impulsores de costo con includeCostDrivers |
create_workflow | Crea un nuevo flujo de trabajo a partir de JSON de pipeline |
update_workflow | Actualiza un flujo de trabajo existente (escalares de nivel superior; para contexto/metadatos prefiere update_workflow_context) |
update_workflow_context | Análogo a nivel de flujo de trabajo de update_step: tres verbos explícitos (updates / replace / unset) en rutas context.* y metadata.*, devuelve diff + warnings |
add_step | Agrega un paso con posicionamiento automático y reconexión del puntero siguiente |
update_step | Fusiona en profundidad actualizaciones en un solo paso por ID |
remove_step | Elimina un paso con reconexión automática del puntero siguiente |
delete_workflow | Elimina permanentemente un flujo de trabajo |
validate_workflow | Valida la estructura del pipeline y devuelve errores por paso |
publish_workflow | Cambia el estado del flujo de trabajo (borrador, en vivo, pausado, archivado) |
export_workflow | Exporta un flujo de trabajo como JSON portátil |
import_workflow | Importa un flujo de trabajo desde JSON exportado |
Enlaces de formularios públicos
Los enlaces de formularios públicos son la superficie de entrada externa para flujos de trabajo con
campos context.executionInputConfig. Úsalos cuando personas fuera del
espacio de trabajo necesiten enviar un formulario de flujo de trabajo sin iniciar sesión: formularios
de prospectos entrantes, envíos de presentaciones, formularios de referidos, ingreso de soporte, cuestionarios
de evaluación o cualquier flujo de trabajo cuyo primer paso sea un disparador manual/de entrada.
No uses un enlace de formulario público para flujos de trabajo secundarios internos. Los flujos de trabajo secundarios
deben usar context.executionInputConfig.internal: true y ser llamados desde
otro flujo de trabajo con agentled.call-workflow.
| Herramienta | Descripción |
|---|---|
list_public_form_links | Lista los enlaces de formularios públicos existentes para un flujo de trabajo |
create_public_form_link | Crea y habilita un enlace de formulario público |
update_public_form_link | Habilita/deshabilita un enlace o actualiza límites, vencimiento, uso compartido automático y texto de agradecimiento. Para revocar el acceso externo, establece enabled: false. |
La eliminación no se expone intencionalmente a través de la API externa ni de MCP. Para revocar un enlace de formulario público, llama a
update_public_form_linkconenabled: false. La eliminación permanente requiere un miembro autenticado del espacio de trabajo que actúe a través de la interfaz de usuario: las operaciones destructivas en la superficie de enlaces de formularios no se otorgan a la clave de API pública.
Flujo típico de agente:
1. get_workflow({ workflowId })
2. Confirm context.executionInputConfig exists and is not internal.
3. list_public_form_links({ workflowId })
4. If none exists, create_public_form_link({ workflowId, enabled: true })
5. Return the publicUrl to the user.
La URL pública es /en/forms/{formLinkId}. Al enviar, Agentled valida el
enlace del formulario, inicia el flujo de trabajo con el input enviado, registra un
PublicFormSubmission e incrementa submissionCount. Configuración opcional:
enabled: deshabilitar sin eliminar el enlace.expiresAt: caducidad de fecha y hora ISO.submissionLimit: número máximo de envíos aceptados.autoShare: cuando es verdadero, la página de estado del formulario público puede mostrar resultados generados después de la finalización. Úsalo solo cuando la salida del flujo de trabajo sea segura para que el remitente la vea.shareExpiresInDays: caducidad para enlaces de resultados compartidos automáticamente.successMessage: mensaje de agradecimiento personalizado después del envío.
Flujos de trabajo solo internos
Marca un flujo de trabajo como hijo/subflujo que solo se ejecuta mediante agentled.call-workflow desde un orquestador estableciendo context.executionInputConfig.internal: true. La interfaz de usuario entonces oculta el botón Ejecutar y reemplaza el formulario de ejecución manual con un banner informativo. Las entradas aún se validan y se pasan mediante orquestadores a través de executionInputData exactamente como antes: esto es una protección de la interfaz de usuario, no una restricción de tiempo de ejecución.
Úsalo para cualquier flujo de trabajo cuyo objetivo/descripción comience con "Subflujo interno", que termine en un paso de return, o que solo pretendas invocar desde otro flujo de trabajo.
{
"context": {
"executionInputConfig": {
"title": "Save Sourced Candidates",
"internal": true,
"fields": [{ "name": "candidates", "label": "Candidates", "type": "text", "required": true }]
}
}
}
Cambia el indicador mediante update_workflow_context: obtén primero, fusiona localmente, reemplaza en el nivel principal (la trampa del orden de fusión de update_step también aplica aquí: consulta docs/MCP_STEP_EDITING.md):
// 1. get_workflow → read context.executionInputConfig
// 2. local: { ...executionInputConfig, internal: true }
// 3.
{
"updates": { "context": { "executionInputConfig": {...full merged value...} } },
"replace": ["context.executionInputConfig"]
}
Edición de flujos de trabajo existentes: modelo de fusión
update_step acepta tres operaciones explícitas en la misma llamada. Al menos una debe estar no vacía.
updates— parche parcial de pasos, fusionado en profundidad UN NIVEL. Los escalares de nivel superior se reemplazan; los objetos anidados (pipelineStepPrompt,stepInputData, etc.) obtienen sus claves directas fusionadas con las claves del valor almacenado. Las claves anidadas a dos niveles de profundidad se sobrescriben como una unidad, no se fusionan.replace: string[]— rutas de puntos cuyos valores deupdatesse asignan al por mayor, omitiendo la fusión profunda. Úsalo para campos con forma de diccionario donde las claves son datos de usuario (no configuración): parchear una clave interna conupdatessolo borra silenciosamente las demás.unset: string[]— rutas de puntos para eliminar. Cada ruta debe existir actualmente en el paso (validado contra el original).
Lee antes de editar campos de diccionario. Antes de cambiar stepInputData.fieldUpdates, pipelineStepPrompt.responseStructure, knowledgeSync.fieldMapping o cualquier campo donde las claves sean datos de usuario: llama a get_step({ workflowId, stepId }) (~1KB), modifica localmente, envía el nuevo objeto completo de vuelta mediante replace[]. Esto evita la trampa de "parcheé una clave, borré silenciosamente las demás".
Diferencia en la respuesta. Cada llamada a update_step devuelve diff: { addedPaths, changedPaths, removedPaths } y warnings[]. Si la fusión elimina silenciosamente ≥6 campos sin un unset explícito, se activa una advertencia.
Qué usar dónde:
| Ruta / campo | API | Cómo editar | Notas |
|---|---|---|---|
name, goal, description, pipelineStepPrompt.template, creditCost | update_step | updates | Escalar simple; seguro de enviar solo. |
next, loopConfig, entryConditions (bloque completo) | update_step | updates | Configuración anidada directa; enviar el nuevo valor al por mayor está bien. |
tools, integrations | update_step | updates | Los arreglos se reemplazan al por mayor por diseño. Para agregar, obtén con get_step, empalma localmente, envía el nuevo arreglo completo. |
stepInputData.fieldUpdates | update_step | get_step → updates (diccionario completo) + replace: ["stepInputData.fieldUpdates"] | Las claves son datos de usuario; la fusión predeterminada de un nivel reemplaza este diccionario y puede eliminar asignaciones hermanas. |
pipelineStepPrompt.responseStructure | update_step | get_step → updates + replace: ["pipelineStepPrompt.responseStructure"] | Diccionario de forma de salida; trátalo como datos de usuario. |
knowledgeSync.fieldMapping | update_step | get_step → updates + replace: ["knowledgeSync.fieldMapping"] | Diccionario de origen→destino; misma trampa que fieldUpdates. |
renderer.config (cuando preservar claves hermanas importa) | update_step | updates (renderer.config completo) + replace: ["renderer.config"] | ⚠ replace: ["renderer.config.layout"] NO protege los hermanos de renderer.config: la fusión profunda de un nivel se ejecuta primero en updates.renderer. Reemplaza en el nivel principal. |
entryConditions.criteria (cuando preservar el resto de entryConditions) | update_step | updates: { entryConditions: {...full block...} } | Envía el bloque entryConditions completo; la fusión de un nivel ya hace lo correcto para hijos directos. |
| Eliminar una entrada de paso o campo obsoleto | update_step | unset: ["stepInputData.oldKey"] | La forma más limpia de eliminar. La ruta debe existir en el original. |
context.inputPages, context.outputPages, context.executionInputConfig | update_workflow_context | Tres verbos explícitos (updates / replace / unset) en rutas relativas al flujo de trabajo. Compatibilidad: { contextKey, value } aún se acepta para reemplazo al por mayor por clave. | Nivel de flujo de trabajo, no de paso. update_step no puede alcanzar context.* y viceversa. |
metadata | update_workflow_context | Los mismos tres verbos en rutas de metadata.* | Nivel de flujo de trabajo. Los metadatos omiten la instantánea de borrador: incluso en flujos de trabajo en vivo, escriben directamente en la fila de Pipeline, inmediatamente. |
Resúmenes ejecutivos para grupos de flujos de trabajo. Cuando un usuario pide guardar un resumen para un flujo de trabajo, grupo de flujos de trabajo, clúster o tarjeta de inicio, escríbelo en metadata.executiveSummary con update_workflow_context. No lo almacenes como texto de Knowledge a menos que el usuario pida explícitamente una nota reutilizable. Para un grupo, escribe exactamente una vez en el pipeline propietario: prefiere metadata.workflowGraph.role === "orchestrator"; de lo contrario, usa el pipeline con el metadata.workflowGraph.order más bajo. Mantén el cuerpo en 1-2 oraciones cortas, incluye conteos/tasas concretos y el período de informe cuando esté disponible, y establece author al agente del espacio de trabajo activo, no a la herramienta externa/agente de codificación.
{
"workflowId": "2e1cdd60-2fcf-441a-856f-583ae76b38a5",
"updates": {
"metadata": {
"executiveSummary": {
"body": "Startup Outreach sent 46 founder emails for the reporting period, with 28 opens and 9 clicks: a 60.9% open rate, 19.6% click rate, and 32.1% click-to-open rate.",
"bullets": ["Clicks: 6 UTM Pitch Night, 2 plain Pitch Night, 1 calendar."],
"generatedAt": "2026-06-03T00:00:00.000Z",
"author": "AngelHive Assistant"
}
}
}
}
Cambios de tipo. step.type es técnicamente mutable, pero los campos específicos de tipo obsoletos (pipelineStepPrompt, app, tools, orchestratorConfig) persisten a menos que los unset. Para conversiones limpias, prefiere remove_step + add_step.
Flujos de trabajo en vivo. Las ediciones se enrutan a una instantánea de borrador. La respuesta incluye editingDraft: true. Inspecciona mediante get_draft, publica mediante promote_draft, descarta mediante discard_draft. Para ediciones de alto riesgo, create_snapshot primero como punto de control manual.
Obsolescencia del borrador. Cuando existe un borrador, cada respuesta de update_step y get_step incluye un resumen de draft con exists, draftCreatedAt, liveUpdatedAt, stale, modifiedStepIds y modifiedFields. Si draft.stale === true, el flujo de trabajo en vivo avanzó después de que se creó el borrador: promover aplicará los valores más antiguos del borrador para campos que no tocaste. update_step también emite una advertencia de obsolescencia. Recuperación: discard_draft y vuelve a aplicar.
⚠ discard_draft solo revierte cambios pendientes de contexto (y pasos), NO metadatos. Las escrituras de metadatos mediante update_workflow_context omiten el borrador y se aplican inmediatamente a la fila de Pipeline en vivo. Si necesitas un único punto de reversión que cubra también metadatos, create_snapshot antes de la edición. Consulta docs/MCP_STEP_EDITING.md para el contrato completo de atomicidad.
Nunca envíes un arreglo completo de steps[] mediante update_workflow. Usa update_step, add_step, remove_step en su lugar.
Para la referencia profunda (códigos de StepMergeError, reglas de validación de rutas de puntos, semántica completa de diferencias) consulta docs/MCP_STEP_EDITING.md.
Borradores e instantáneas
| Herramienta | Descripción |
|---|---|
get_draft | Obtener la versión de borrador actual de un flujo de trabajo |
promote_draft | Promover un borrador a la versión en vivo |
discard_draft | Descartar el borrador actual |
create_snapshot | Crear una instantánea de configuración manual |
delete_snapshot | Eliminar una instantánea de configuración específica |
list_snapshots | Listar instantáneas de versión para un flujo de trabajo |
get_snapshot_content | Leer la configuración completa de una instantánea (pasos, contexto, etc.) sin restaurarla |
restore_snapshot | Restaurar un flujo de trabajo a una instantánea anterior |
Ejecuciones
| Herramienta | Descripción |
|---|---|
start_workflow | Iniciar una ejecución de flujo de trabajo con entrada. Devuelve executionInputId siempre y executionId solo cuando la fila de ejecución asíncrona ya está disponible. Pasa useMocks: false para forzar una ejecución real (que consume créditos) que ignora los datos simulados por paso; por defecto respeta los simulacros configurados del flujo de trabajo. |
list_executions | Listar ejecuciones para un flujo de trabajo (paginado mediante nextToken), incluyendo pipelineExecutionInputId para coincidir con un resultado de inicio que solo devolvió executionInputId. |
get_execution | Obtener detalles de ejecución con resultados de pasos. Requiere el executionId real, no executionInputId; si es necesario, llama a list_executions y coincide con pipelineExecutionInputId. |
list_timelines | Listar registros de ejecución de pasos (líneas de tiempo) para una ejecución (paginado mediante nextToken) |
get_timeline | Obtener una sola línea de tiempo por ID con salida completa del paso |
stop_execution | Detener una ejecución en curso |
retry_execution | Reintentar un paso fallido: detecta automáticamente la falla más reciente si no se proporciona un ID de línea de tiempo |
rerun | Volver a ejecutar o reintentar cualquier paso por timelineId: funciona para pasos fallidos Y exitosos, desambigua iteraciones de bucle |
Los enlaces profundos de ejecución usan /<locale>/<workspace>/<workflowPathname>/runs?runId=<executionId>&step=<stepId>.
El parámetro de consulta step es opcional solo para transferencias a nivel de ejecución. Cuando una respuesta
apunta a una tarjeta de aprobación específica, salida, falla o paso actual, incluye
&step=<stepId> y no pidas al humano que abra el paso manualmente después de una
URL solo de ejecución. Cuando está presente, la aplicación expande ese paso del flujo de trabajo y se desplaza
hacia él. stepId es el ID del paso del flujo de trabajo, no el ID de la línea de tiempo. Dentro de la
superficie de herramientas de chat/navegación de la aplicación, navigateToExecutionPage acepta el mismo
stepId.
Los enlaces profundos de filas de Knowledge usan /<locale>/<workspace>/knowledge-and-data/<listKey>?rowId=<rowId>.
La aplicación abre la página de lista de Knowledge & Data y abre la hoja del editor de filas para
esa fila. La ruta compatible con versiones anteriores
/<locale>/<workspace>/knowledge-and-data/<listKey>/row/<rowId> redirige a la
URL canónica de parámetros de consulta.
Los enlaces profundos de texto de Knowledge usan /<locale>/<workspace>/knowledge-and-data/<key>.
La ruta compatible con versiones anteriores
/<locale>/<workspace>/knowledge-and-data/text/<key> redirige a la URL
canónica del elemento.
Aplicaciones y pruebas
| Herramienta | Descripción |
|---|---|
list_apps | Listar aplicaciones e integraciones disponibles |
get_app_actions | Obtener esquemas de acciones para una aplicación |
test_app_action | Probar una acción de aplicación sin crear un flujo de trabajo |
test_ai_action | Probar un prompt de IA sin crear un flujo de trabajo |
test_code_action | Probar código JavaScript en la misma VM en espacio aislado que producción |
get_step_schema | Obtener campos permitidos de PipelineStep agrupados por categoría |
Tipos de pasos de IA: aiAction vs aiActionWithTools
Elige el tipo correcto: validate_workflow rechazará el incorrecto:
| Necesitas… | Usa |
|---|---|
| Razonar sobre entradas ya presentes en las variables del prompt | aiAction (una sola llamada LLM, sin bucle de herramientas) |
| Búsqueda web en vivo, recuperación/escritura de memoria del espacio de trabajo, búsqueda en grafo de conocimiento | aiActionWithTools con el builtinType correspondiente |
| Que la IA decida en tiempo de ejecución qué entradas pasar a una acción de aplicación | aiActionWithTools con una herramienta appActionConfig |
aiActionWithTools requiere al menos una herramienta — colocada bajo step.tools o step.agent.tools (ambas se fusionan en tiempo de ejecución). Si omites herramientas en ambas ubicaciones, validate_workflow devuelve un bloqueador AI_STEP_TOOLS_REQUIRED. Si el prompt dice "buscar en la web" / "recordar memoria" / "grafo de conocimiento" sin la herramienta correspondiente adjunta, recibes una advertencia AI_STEP_TOOL_PROMPT_MISMATCH: los prompts de búsqueda web necesitan web_search; los prompts de memoria necesitan workspace_memory; los prompts de consulta KG necesitan kg_search o kg_traverse. fetch_website_content obtiene una URL conocida y kg_write escribe datos KG, por lo que ninguno satisface esos prompts de consulta/búsqueda. |
Valores válidos de builtinType: web_search, file_search, code_interpreter, fetch_website_content, kg_search, kg_traverse, kg_nodes, kg_write, workspace_memory.
Caché de prompts para pasos repetidos de IA
Agentled habilita el caché de prompts del proveedor donde sea compatible. El caché reutiliza el procesamiento de prompts para un prefijo idéntico; no almacena ni reproduce la respuesta de IA. Para beneficiarse en flujos de trabajo masivos, especialmente en bucles de puntuación/coincidencia, escribe los prompts con el material estable primero:
[stable role and task]
[stable rubric / scoring dimensions]
[stable output JSON schema]
[stable examples or decision rules]
Runtime inputs:
{{currentItem}}
{{steps.previous.output}}
{{input.field}}
No comiences prompts de alto volumen con INPUTS, {{currentItem}}, {{steps.*}}, {{input.*}}, {{execution.id}}, {{now}} o {{today}}. Mantén las cargas útiles cambiantes, fechas, IDs de ejecución y registros por elemento al final para que OpenAI/Anthropic puedan almacenar en caché el prefijo compartido.
// aiActionWithTools example
{
"id": "research",
"type": "aiActionWithTools",
"name": "Research Company",
"tools": [
{ "type": "builtin", "builtinType": "web_search", "name": "Web Search" }
],
"pipelineStepPrompt": {
"template": "Search the web for the founder of {{input.company}} and return their name.",
"responseStructure": { "firstName": "string", "lastName": "string" }
},
"creditCost": 10,
"next": { "stepId": "find-email" }
}
Conocimiento y Datos
| Herramienta | Descripción |
|---|---|
get_workspace | Obtener información del espacio de trabajo, configuración de la empresa, miembros activos del equipo, invitaciones pendientes y esquemas de listas de conocimiento |
get_workspace_company_profile | Obtener el perfil de empresa editable del espacio de trabajo y el texto de conocimiento de la empresa |
update_workspace_company_profile | Actualizar campos de nivel superior del perfil de empresa como nombre, URLs, logotipo, industria, tamaño e información adicional |
update_workspace_executive_summary | Escribir el resumen ejecutivo de todo el espacio de trabajo en la tarjeta del Asistente del Espacio de Trabajo |
list_pinned_outputs | Listar páginas de salida fijadas en la página de inicio/barra lateral del espacio de trabajo |
set_output_page_pin | Fijar o desfijar una página de salida de flujo de trabajo en la página de inicio/barra lateral del espacio de trabajo |
list_workspace_views | Listar manifiestos de vistas guardadas del espacio de trabajo y guía de fuentes/acciones |
create_workspace_view | Crear un manifiesto de superficie operativa guardado sobre KG, flujos de trabajo, aprobaciones, agentes, rutinas, acciones, páginas de salida, APIs externas o fuentes personalizadas |
get_workspace_view | Obtener una vista guardada del espacio de trabajo por id o clave |
update_workspace_view | Actualizar un manifiesto de vista guardada del espacio de trabajo sin mutar datos de origen ni ejecutar acciones |
archive_workspace_view | Archivar una vista del espacio de trabajo sin eliminar datos vinculados |
list_knowledge_lists | Listar listas de conocimiento en el espacio de trabajo |
get_knowledge_rows | Obtener filas de una lista de conocimiento (paginado mediante nextToken, máximo 200) |
get_knowledge_rows_by_ids | Obtener filas específicas por ID (máximo 200) — usar después de query_kg_edges |
get_knowledge_text | Obtener contenido de texto de una entrada de conocimiento |
create_knowledge_list | Crear una nueva lista de conocimiento con un esquema tipado (idempotente en colisión de clave) |
update_knowledge_list_schema | Agregar o eliminar campos en un esquema de lista existente |
delete_knowledge_list | Eliminar permanentemente una lista y todas sus filas |
upsert_knowledge_rows | Insertar o actualizar filas en una lista (máximo 500/llamada, informe de errores por fila) |
delete_knowledge_rows | Eliminar filas por ID |
upsert_knowledge_text | Crear o actualizar una entrada de conocimiento de texto |
delete_knowledge_text | Eliminar una entrada de conocimiento de texto por clave |
query_kg_edges | Consultar aristas del grafo de conocimiento |
get_scoring_history | Obtener historial de puntuación para una entidad |
Créditos y Factores de Costo
Las herramientas de informe de créditos son opcionales para el detalle de factores de costo, de modo que las verificaciones de saldo existentes se mantengan compactas.
Cada total de crédito se deriva del libro mayor y se devuelve con un objeto period que contiene label, display, start y end; muestra siempre esa etiqueta de período junto a los totales.
Para una verificación de UI humana/operador, abre la página de uso de créditos del espacio de trabajo:
https://www.agentled.app/en/{workspace}/account/billing/credits-usage
Ejemplo: https://www.agentled.app/en/inovexus/account/billing/credits-usage.
| Herramienta | Descripción |
|---|---|
get_workspace_credits | Saldo del espacio de trabajo, uso, ejecuciones y filas recientes del libro mayor. Argumentos opcionales: period, includeCostDrivers, includeRecentUsage, limit. |
get_workspace_credit_cost_drivers | Informe de conveniencia con includeCostDrivers=true por defecto. Devuelve flujos de trabajo, pasos, modelos y aplicaciones principales limitados. |
get_workflow_credits | Uso a nivel de flujo de trabajo y factores de costo opcionales, limitado a flujos de trabajo en el espacio de trabajo de la clave API autenticada. |
Períodos admitidos:
rolling-30-days: ventana móvil de 30 días que termina en el momento de la solicitud.rolling-7-days: ventana móvil de 7 días que termina en el momento de la solicitud.current-month/month-to-date: mes calendario UTC hasta la fecha, no el período de renovación de facturación.previous-month: mes calendario UTC anterior.all-time: libro mayor completo antes del momento de la solicitud; úsalo intencionalmente porque puede escanear más filas.
Ejemplos:
// Compact balance/burn-rate check
{ "tool": "get_workspace_credits", "arguments": { "period": "rolling-30-days" } }
// Workspace cost drivers for a calendar month-to-date window
{ "tool": "get_workspace_credit_cost_drivers", "arguments": { "period": "current-month", "limit": 5 } }
// Workflow cost drivers
{ "tool": "get_workflow_credits", "arguments": { "workflowId": "wf_abc123", "period": "rolling-30-days", "includeCostDrivers": true } }
Equivalentes de API externa:
GET /api/external/workspace/credits?period=rolling-30-days&include=costDrivers&limit=5
GET /api/external/workflows/{workflowId}/credits?period=current-month&include=costDrivers
El informe del período de facturación es separado del informe del mes calendario y no debe implicarse a menos que una API futura agregue una etiqueta explícita de período de facturación.
Marca (Whitelabel)
| Herramienta | Descripción |
|---|---|
get_branding | Obtener la configuración de marca whitelabel del espacio de trabajo (displayName, logo, colores, favicon, insignia) |
update_branding | Actualizar la marca — establecer displayName, logoUrl, tagline, primaryColor, primaryColorDark, faviconUrl, hideBadge |
Agentes
Agentes de espacio de trabajo de primera clase con identidad, instrucciones, herramientas, archivos de configuración y flujos de trabajo asignados. Todos los agentes son conversacionales (solo chat). Para trabajo programado/autónomo, adjunta rutinas mediante create_routine. SOUL.md y TOOLS.md viven en configFiles; el contexto de reflexión (JOURNAL.md, OBJECTIVES.md, PEOPLE.md) vive como AgentFiles vinculados y se siembra automáticamente para agentes de reflexión activos solo chat. Los agentes deciden qué señal duradera pertenece en esos archivos; AgentLed solo proporciona almacenamiento con alcance y Reflexión programada. Un agente creado completamente mediante MCP se renderiza idénticamente a uno construido en el Asistente de Agentes.
| Herramienta | Descripción |
|---|---|
list_agents | Listar agentes en el espacio de trabajo (filtrar por estado: activo, pausado, borrador) |
get_agent | Obtener configuración completa del agente — instrucciones, archivos, flujos de trabajo, rutinas adjuntas |
create_agent | Crear un agente. Acepta ajustes preestablecidos de agentType (asistente-personal, investigador-competitivo, comercializador-redes-sociales, soporte-cliente, creador-contenido, calificador-clientes-potenciales, buscador-acuerdos, personalizado), enabledApps, appPermissions, assignedWorkflowIds, linkedFileIds, configFiles (SOUL.md/TOOLS.md), avatar_icon_name, avatar_color, chatModel, activate: true |
update_agent | Actualización parcial — mismos campos que create_agent; updates.slug renombra el slug de correo del agente, mueve el id de AgentEntity a {slug}@{workspace} y reenlaza rutinas/enlaces de archivos/sesiones de canal/sesiones de chat donde esté disponible |
activate_agent | Activar un agente (borrador/pausado → activo). Las rutinas adjuntas comienzan a ejecutarse según el horario |
pause_agent | Pausar un agente activo. Las rutinas adjuntas se detienen hasta que se reanuden |
manage_agent_workflows | Agregar/eliminar/establecer los flujos de trabajo asignados a un agente sin reescribir la configuración completa |
delete_agent | Eliminar permanentemente un agente y todos sus archivos |
chat_with_agent | Enviar un mensaje a un agente específico. Multi-turno mediante session_id |
Convención de slug: slug es el ID de rol corto utilizado en URLs y direcciones de correo. Mantén Agent en el nombre para mostrar cuando sea útil, pero no agregues -agent al slug solo porque el nombre para mostrar lo incluya; por ejemplo, Deal Sourcing Agent debería usar deal-sourcing@{workspace}.agentled.ai, no deal-sourcing-agent@{workspace}.agentled.ai.
Archivos de Agente
| Herramienta | Descripción |
|---|---|
list_agent_files | Listar archivos adjuntos a un agente (conocimiento, contexto, documentos de referencia) |
get_agent_file | Obtener el contenido de un archivo de agente específico |
upload_agent_file | Subir un archivo (máximo 400KB texto/markdown) a un agente |
update_agent_file | Actualizar un archivo ya adjunto a un agente; usar esto después de get_agent_file para ediciones de JOURNAL.md, OBJECTIVES.md y PEOPLE.md |
delete_agent_file | Eliminar un archivo de un agente |
Los archivos de reflexión siguen el mismo patrón de markdown duradero utilizado por las superficies de memoria de OpenClaw y Hermes: mantén JOURNAL.md como un registro fechado conciso, OBJECTIVES.md como objetivos activos/completados y PEOPLE.md como contexto de relación estable. Lee primero, actualiza solo cuando haya señal duradera y envía contenido de reemplazo completo. Consulta docs/AGENT_REFLECTION_FILES.md para el contrato de edición de UI, MCP y CLI.
Rutinas
Las rutinas son prompts programados adjuntos a un agente — el agente evalúa el prompt en un intervalo establecido y puede activar flujos de trabajo o enviar notificaciones.
Ejemplo — agregar una rutina diaria de buscador de acuerdos a un agente existente:
# Step 1: create the agent
create_agent({
name: "Daily Deal Sourcer",
agentType: "deal-sourcer",
enabledApps: ["agentled", "kg", "web-scraping"],
appPermissions: {
kg: { access: "write", writeApprovalRequired: true },
"web-scraping": { access: "read" }
},
assignedWorkflowIds: ["<opportunity-scoring-workflow-id>"],
activate: true
})
# Step 2: attach a routine
create_routine({
agent_id: "<agent-id>",
name: "Daily Sourcing Run",
prompt: "Find 5 new SaaS startups that match our deal criteria and trigger the scoring workflow for each.",
interval: "daily"
})
El acceso de lectura es implícito y nunca requiere aprobación. La aplicación interna agentled se selecciona como una aplicación cuando es necesario, pero no es configurable en appPermissions.
| Herramienta | Descripción |
|---|---|
list_routines | Listar todas las rutinas de un agente |
create_routine | Crear una rutina (nombre, prompt, intervalo) |
update_routine | Actualizar campos de rutina; recalcula nextRunAt si el intervalo cambia |
pause_routine | Pausar una rutina |
resume_routine | Reanudar una rutina pausada |
trigger_routine | Ejecutar una rutina inmediatamente sin cambiar su horario |
delete_routine | Eliminar permanentemente una rutina |
Valores de intervalo: weekday-morning, weekday-evening, weekly-monday, weekly-tuesday-evening, weekly-friday-evening, daily, monthly, 6h, 48h.
Runtime de Bajo Nivel Obsoleto
Las herramientas MCP directas de monitor-runtime de bajo nivel están obsoletas y ya no se registran. Usa create_agent / update_agent más rutinas para trabajo autónomo.
Canales (Email, Slack, WhatsApp, Signal)
Los canales enrutan mensajes entrantes al runtime de chat del agente. Cada canal tiene un defaultAgentId que decide qué agente maneja la conversación. Las respuestas se envían de vuelta a través del canal de origen.
| Herramienta | Descripción |
|---|---|
list_channels | Listar canales configurados con su defaultAgentId, estado habilitado y configuración no secreta (secretos redactados) |
set_channel_default_agent | Asignar el agente que maneja las conversaciones entrantes de un canal |
configure_channel | Actualizar configuración de canal no secreta — enabled, defaultAgentId, allowedSenders (email), defaultChannelId (slack) |
set_channel_defaults | Actualizar valores predeterminados de todo el espacio de trabajo: maxSessionsPerDay, sessionTimeoutMinutes, toolMode |
Las credenciales secretas (tokens de bot de Slack, secretos de firma, tokens de acceso de WhatsApp, secretos de webhook de Signal) NUNCA son legibles ni escribibles mediante la API externa. Conéctalas a través de Configuración → Canales en la UI — los flujos OAuth las almacenan cifradas en reposo.
Agente Conversacional
| Herramienta | Descripción |
|---|---|
chat | Enviar un mensaje al agente de IA de AgentLed. Construye flujos de trabajo mediante lenguaje natural — no se requiere JSON. Admite conversaciones multi-turno mediante session_id. |
Herramienta de Chat — Uso y Ejemplos
La herramienta chat es un agente de IA conversacional que puede razonar, planificar y construir flujos de trabajo mediante diálogo. Piénsalo como la diferencia entre gh api (crudo) y gh copilot (inteligente).
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
message | string | Sí | El mensaje a enviar al agente de IA |
session_id | string | No | ID de sesión de una respuesta anterior, para conversaciones multi-turno |
Formato de respuesta:
{
"response": "The agent's reply — may include workflow suggestions, explanations, or confirmation of actions taken",
"sessionId": "mcp-chat-ws123-1711929600000"
}
Conversación de múltiples turnos:
# Turn 1: Describe what you want
chat("Build me a workflow that enriches LinkedIn companies and scores them by ICP fit")
# → Agent responds with a plan and creates a draft workflow
# → Response includes sessionId: "mcp-chat-ws123-1711..."
# Turn 2: Iterate on the design
chat("Add an email finding step using the company domain", session_id: "mcp-chat-ws123-1711...")
# → Agent modifies the workflow, maintaining conversation context
# Turn 3: Finalize
chat("Looks good, publish it as live", session_id: "mcp-chat-ws123-1711...")
# → Agent publishes the workflow
Cuándo usar chat frente a herramientas estructuradas:
Usa chat cuando... | Usa herramientas estructuradas cuando... |
|---|---|
| Tienes un objetivo de alto nivel | Conoces el JSON exacto del pipeline |
| Quieres recomendaciones de IA | Necesitas control preciso |
| Estás explorando habilidades o integraciones disponibles | Estás automatizando un patrón conocido |
| Quieres iterar mediante diálogo | Estás realizando operaciones masivas |
Notas:
- Tiempo de espera de 5 minutos: divide solicitudes complejas en pasos más pequeños si es necesario
- Las respuestas no son de transmisión (se recopilan y luego se devuelven) para compatibilidad con clientes MCP
- El agente tiene acceso completo a herramientas de planificación, constructor de flujos de trabajo y contexto del espacio de trabajo
- Las respuestas de error incluyen mensajes accionables (p. ej., tiempo de espera → "intenta dividirlo en pasos más pequeños")
Enrutador de intenciones
| Herramienta | Descripción |
|---|---|
do | Enrutador de intenciones en lenguaje natural: describe lo que quieres y selecciona y ejecuta automáticamente la herramienta adecuada |
Ayuda y comentarios: habla con el equipo de Agentled
Para agentes de IA: elige el canal correcto:
| Qué encuentras | A dónde va |
|---|---|
| Flujo de trabajo que no se comporta como se esperaba, pregunta sobre la aplicación/integración, pregunta sobre la plataforma/facturación, función faltante, cualquier cosa sobre cómo funciona Agentled | Llama a submit_feedback_to_agentled (abajo). Se enruta directamente al equipo. |
Error en la CLI en sí (el comando agentled falla, escribe datos incorrectos en .agentled/, una bandera no funciona): un defecto de código reproducible de la CLI | Presenta un problema en GitHub en https://github.com/agentled/mcp-server/issues. Incluye la versión de la CLI y los pasos de reproducción. |
| Cualquier otra cosa, o no estás seguro | submit_feedback_to_agentled: el equipo lo reenrutará si es necesario. |
No busques metadatos de npm, rasques GitHub ni ejecutes
ghpara "encontrar" un rastreador de errores: las rutas anteriores son las únicas. El campobugsen el paquete apunta a la página de contacto humano (https://www.agentled.ai/en/contact-us) a propósito.
Para humanos: envía un correo a contact@agentled.ai o visita https://www.agentled.ai/en/contact-us.
| Herramienta | Descripción |
|---|---|
submit_feedback_to_agentled | Haz una pregunta, reporta un error, solicita una función o escala un problema. Tipos: ask, bug, feature_request, escalation. Proporciona userEmail si deseas una respuesta. |
¿Vienes de n8n?
Importa flujos de trabajo existentes de n8n y hazlos nativos de IA:
| Herramienta | Descripción |
|---|---|
preview_n8n_import | Vista previa de una importación de flujo de trabajo de n8n (ejecución de prueba) |
import_n8n_workflow | Importa un flujo de trabajo de n8n a Agentled |
Consulta de datos con ámbito de entidad
Cuando necesites todos los registros relacionados con una entidad específica, usa la cadena de dos herramientas en lugar de paginar get_knowledge_rows:
Ejemplo 1: todos los acuerdos calificados por un inversor:
1. query_kg_edges({ entityName: "Investor Name", relationshipType: "SCORED" })
→ returns edges with targetNodeIds
2. get_knowledge_rows_by_ids({ rowIds: <targetNodeIds from step 1> })
→ returns full row data for each matched deal
Ejemplo 2: todos los clientes potenciales originados de una campaña:
1. query_kg_edges({ entityName: "Campaign Name", relationshipType: "SOURCED" })
→ returns edges with targetNodeIds
2. get_knowledge_rows_by_ids({ rowIds: <targetNodeIds from step 1> })
→ returns full contact/lead rows
Por qué esto importa: get_knowledge_rows está limitado a 200 filas por llamada. Con 3 mil filas, eso significa 15 viajes de ida y vuelta; con 10 mil, significa 50. La ruta de borde KG es O(bordes para esa entidad), independiente del tamaño total de la lista, por lo que se mantiene rápida sin importar cuán grande crezca la lista.
Convención de ID de nodo: los valores de source_node_id y target_node_id de query_kg_edges son IDs de filas de conocimiento. Las filas fuera del espacio de trabajo autenticado se excluyen silenciosamente.
Para agencias: listo para marca blanca
Crea flujos de trabajo una vez, impleméntalos en múltiples clientes bajo tu propia marca. Configura la marca directamente desde el servidor MCP:
"Set my workspace branding: displayName 'Acme AI', primaryColor '#6366f1', tagline 'Powered by Acme'"
Usa get_branding y update_branding para gestionar displayName, logo, colores, favicon, eslogan y visibilidad de insignias. La apariencia del portal del cliente se actualiza al instante.
Memoria persistente: ejemplos
Las memorias permiten que los flujos de trabajo aprendan entre ejecuciones. Guarda lo que funcionó, recupéralo la próxima vez.
Guarda un hecho después del enriquecimiento
"Store a memory: key 'icp_criteria', value { industry: 'fintech', minEmployees: 50, region: 'EU' },
category 'preference', scope 'workspace'"
Recupera antes de calificar
"Recall memory 'icp_criteria' at workspace scope — use it to score this batch of leads"
Busca resultados pasados
"Search memories for 'conversion rate' in the 'outcome' category"
Rastrea una métrica en curso
"Store memory: key 'total_leads_processed', value 43, merge 'increment', scope 'workspace'"
Cada llamada posterior con merge: 'increment' se suma al valor existente: no se necesita lectura-modificación-escritura.
PCPL de divulgación
Para flujos de trabajo de correo electrónico o salientes, rastrea PCPL como métrica comercial:
PCPL = prospects contacted / positive replies
Usa analyticsConfig para prospectos contactados, respuestas positivas y PCPL. El PCPL literal debe usar una métrica ratio con ratioMode: "raw"; la tasa de respuesta positiva debe usar la proporción porcentual predeterminada.
Rutinas: ejemplos
Las rutinas son indicaciones programadas adjuntas a agentes. Úsalas para trabajo autónomo, como verificaciones diarias, resúmenes semanales y seguimiento de flujos de trabajo.
Crea un agente con una rutina diaria de abastecimiento
"Create a deal sourcing agent, then add a daily routine that checks the
incoming-leads knowledge list and starts the lead-enrichment workflow for
qualified new rows. Limit the routine to 10 workflow starts per day."
Secuencia de herramientas:
create_agent({
name: "Daily Deal Sourcer",
agentType: "deal-sourcer",
enabledApps: ["agentled", "kg"],
assignedWorkflowIds: ["wf_abc123"],
activate: true
})
create_routine({
agent_id: "<agent-id-or-slug>",
name: "Daily New Lead Review",
prompt: "Review incoming-leads, identify qualified new rows, and start the lead-enrichment workflow for each. Do not start more than 10 workflow runs in one day.",
interval: "daily",
max_steps_per_run: 20,
max_credits_per_day: 50
})
Crea una rutina semanal de salud del flujo de trabajo
"Add a weekly routine to the operations agent that reviews workflow execution
history, flags abnormal failures, and notifies me only when action is needed."
create_routine({
agent_id: "operations",
name: "Weekly Workflow Health Review",
prompt: "Review recent workflow execution history. If failures or stalls require action, summarize the affected workflows, likely impact, and recommended next step. Otherwise record that no action is needed.",
interval: "weekly-monday"
})
Pausar y reanudar
"Pause routine <routine-id>"
"Resume routine <routine-id>"
"Run routine <routine-id> now"
Funciona con
- Claude Code (Anthropic)
- Codex (OpenAI)
- Cursor
- Windsurf
- Cualquier cliente compatible con MCP
Enlaces
Compilación desde el código fuente
git clone https://github.com/Agentled/mcp-server.git
cd mcp-server
npm install
npm run build
Licencia
MIT