Huly

Servidor MCP para el sistema de gestión de proyectos Huly

Documentación

Huly MCP

npm npm downloads License: MIT MCP TypeScript Glama score MCP Servercooked at Monadical

Huly MCP es un servidor MCP completo para la integración con Huly. Publicado en npm como @firfi/huly-mcp.

Se conecta a implementaciones de la Plataforma Huly y también debería funcionar con las bifurcaciones Platform Collective y TraceX. Intabia 0.8.33 / modelo 0.8.4 ha sido probado para compatibilidad; las brechas conocidas se rastrean en el problema #279. El soporte para bifurcaciones sigue siendo no oficial.

Alternativa a Huly CLI

¿Buscas una CLI de Huly, integración de Huly nativa de terminal, o una alternativa de scripting y automatización a ejecutar un servidor MCP? Huly CLI es una interfaz de línea de comandos completa para Huly, publicada como @firfi/huly-cli, con paridad total de operaciones de Huly con Huly MCP. Expone las mismas operaciones de Huly como comandos nativos y conscientes del esquema con salida legible por humanos o JSON, entradas respaldadas por archivos, cargas y descargas.

Huly MCP y Huly CLI se mantienen juntos en este monorepo y derivan del mismo registro de operaciones compartido, manteniendo alineadas las entradas, salidas, advertencias y fallos tipados de las operaciones. Consulta la documentación de Huly CLI para la referencia completa de comandos generada, o explora ejemplos de CLI, patrones de automatización de Huly y la comparación entre Huly MCP y CLI.

Instalación

Requisito de Node.js

Huly MCP requiere Node.js 22.19.0 o posterior. Los clientes MCP no proporcionan un entorno de ejecución de Node.js: node, npx, y el ejecutable del paquete #!/usr/bin/env node resuelven Node.js desde el entorno en el que se ejecuta el cliente MCP. Verifica ese entorno antes de la instalación:

node --version

Si un cliente MCP inicia Huly MCP con un entorno de ejecución más antiguo, Huly MCP inicializa una superficie MCP solo de diagnóstico en lugar de cargar la aplicación incompatible. Sus instrucciones de servidor y la herramienta get_huly_startup_diagnostic informan el ejecutable detectado y la versión requerida, y el mismo diagnóstico unsupported Node.js runtime se escribe en stderr. Actualiza Node.js o configura el comando del servidor MCP para usar la ruta absoluta de un ejecutable de Node.js compatible, luego reinicia el servidor MCP. Las operaciones de Huly permanecen no disponibles hasta que se actualice el entorno de ejecución.

La configuración estándar usa un token de API de Huly y funciona con la mayoría de los clientes MCP:

{
  "mcpServers": {
    "huly": {
      "command": "npx",
      "args": ["-y", "@firfi/huly-mcp@latest"],
      "env": {
        "HULY_URL": "https://your-huly-instance.example.com",
        "HULY_TOKEN": "your-huly-api-token",
        "HULY_WORKSPACE": "yourworkspace"
      }
    }
  }
}

Prefiere un token de API administrado creado en la configuración de la cuenta de Huly cuando la implementación de destino lo admita. Los tokens administrados están vinculados a un espacio de trabajo, tienen una caducidad asignada y pueden revocarse sin cambiar la contraseña de la cuenta. Aún heredan los derechos completos de la cuenta en ese espacio de trabajo, así que usa una cuenta de integración dedicada solo con el rol de espacio de trabajo, las membresías de espacio y el acceso a datos que la automatización necesite. Las implementaciones más antiguas de Huly pueden no exponer la configuración de tokens administrados; la autenticación por correo electrónico/contraseña sigue disponible como respaldo de compatibilidad.

Valores Predeterminados de Exposición de Herramientas

De forma predeterminada (HULY_TOOL_MODE=auto), Huly MCP optimiza para los clientes MCP actuales evitando una lista eager de 470 herramientas. Las sesiones exactas de claude-code reciben herramientas nativas de Huly. Codex, Cursor, Windsurf, Copilot, OpenCode, clientes estilo Claude AI/Desktop y clientes desconocidos reciben una pequeña superficie proxy: list_tool_categories, search_tools, get_tool_schema y invoke_tool.

Los nombres exactos de herramientas nativas aún se despachan cuando un cliente las llama directamente, pero muchos clientes solo llaman a las herramientas devueltas por tools/list. Establece HULY_TOOL_MODE=native para que cada herramienta de Huly aparezca de primera clase, o usa TOOLSETS / TOOLS para fijar herramientas nativas de uso frecuente mientras mantienes disponible el descubrimiento proxy.

Codex

Usa el administrador MCP de Codex:

codex mcp add huly \
  --env HULY_URL=https://your-huly-instance.example.com \
  --env HULY_TOKEN=your-huly-api-token \
  --env HULY_WORKSPACE=yourworkspace \
  -- npx -y @firfi/huly-mcp@latest

O agrégalo directamente a ~/.codex/config.toml:

[mcp_servers.huly]
command = "npx"
args = ["-y", "@firfi/huly-mcp@latest"]

[mcp_servers.huly.env]
HULY_URL = "https://your-huly-instance.example.com"
HULY_TOKEN = "your-huly-api-token"
HULY_WORKSPACE = "yourworkspace"
Claude Code
claude mcp add huly \
  -e HULY_URL=https://your-huly-instance.example.com \
  -e HULY_TOKEN=your-huly-api-token \
  -e HULY_WORKSPACE=yourworkspace \
  -- npx -y @firfi/huly-mcp@latest

O agrégalo a ~/.claude.json usando la configuración estándar anterior.

Claude Desktop

Agrega la configuración estándar a tu claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
VS Code

Agrega con la Paleta de Comandos → "MCP: Agregar Servidor", o coloca esto en una configuración MCP de VS Code como .vscode/mcp.json. No confirmes archivos de configuración del espacio de trabajo que contengan credenciales reales.

{
  "servers": {
    "huly": {
      "command": "npx",
      "args": ["-y", "@firfi/huly-mcp@latest"],
      "env": {
        "HULY_URL": "https://your-huly-instance.example.com",
        "HULY_TOKEN": "your-huly-api-token",
        "HULY_WORKSPACE": "yourworkspace"
      }
    }
  }
}
Cursor

Agrega la configuración estándar a ~/.cursor/mcp.json, o mediante Configuración → Herramientas e Integraciones → Nuevo Servidor MCP.

Windsurf

Agrega la configuración estándar a tu archivo de configuración MCP de Windsurf.

OpenCode

Abre el archivo de configuración global (~/.config/opencode/opencode.json) y fusiona esta entrada en tu configuración:

{
  "mcp": {
    "huly": {
      "type": "local",
      "command": ["npx", "-y", "@firfi/huly-mcp@latest"],
      "environment": {
        "HULY_URL": "https://your-huly-instance.example.com",
        "HULY_TOKEN": "your-huly-api-token",
        "HULY_WORKSPACE": "yourworkspace"
      }
    }
  }
}
Pi

Pi requiere un adaptador MCP. Instálalo, luego usa Huly MCP en modo auto con las cuatro herramientas proxy promovidas a la lista de herramientas nativas de Pi:

pi install npm:pi-mcp-adapter

Consulta la guía de configuración de Pi para la configuración global de usuario, los pines nativos opcionales TOOLSETS/TOOLS y los pasos de verificación.

Actualización

La etiqueta @latest le pide al ejecutor de paquetes la versión más reciente. Algunos clientes MCP mantienen procesos de servidor o instalaciones resueltas activos, así que reinicia o vuelve a agregar el servidor al actualizar:

ClienteCómo actualizar
Codexcodex mcp remove huly y luego vuelve a agregar con el comando de instalación anterior. Si tu contraseña tiene caracteres sensibles al shell, edita ~/.codex/config.toml directamente en su lugar
Claude Codeclaude mcp remove huly y luego vuelve a agregar con el comando de instalación anterior
Claude DesktopReinicia la aplicación (ejecuta npx al inicio)
VS Code / CursorReinicia el servidor MCP desde la paleta de comandos/cliente configurado o recarga la ventana
OpenCodeReinicia OpenCode o inicia una nueva sesión después de los cambios de configuración
PiEjecuta /mcp reconnect huly, luego /reload si la superficie de herramientas directas registrada cambió
npx (manual)npx -y @firfi/huly-mcp@latest — la bandera -y confirma automáticamente los avisos de instalación

Publicación de Mantenimiento en Producción

Publica desde un checkout limpio y actual de master con el entorno de ejecución de Node.js certificado preferido:

mise exec node@24.15.0 -- pnpm local-release

Usa este comando exacto incluso si una versión más nueva de Node.js está activa en el host. La compilación de publicación acepta solo las versiones exactas de Node.js certificadas por CI; esto es intencionalmente más estricto que el requisito de entorno de ejecución del paquete. Consulta la guía de publicación en producción para verificaciones previas, comportamiento de reejecución y verificación.

Transporte HTTP

De forma predeterminada, el servidor usa transporte stdio. Para transporte HTTP:

HULY_URL=https://your-huly-instance.example.com \
HULY_TOKEN=your-huly-api-token \
HULY_WORKSPACE=yourworkspace \
MCP_TRANSPORT=http \
npx -y @firfi/huly-mcp@latest

El servidor escucha en http://127.0.0.1:3000/mcp de forma predeterminada.

Configura con MCP_HTTP_PORT y MCP_HTTP_HOST:

MCP_TRANSPORT=http MCP_HTTP_PORT=8080 MCP_HTTP_HOST=0.0.0.0 npx -y @firfi/huly-mcp@latest

Soporte de Protocolo MCP HTTP

Ambos transportes se implementan con el servidor MCP y los adaptadores de protocolo de Effect AI. El servidor configura el protocolo sin estado MCP 2026-07-28 publicado y el protocolo de compatibilidad MCP 2025-06-18. HTTP moderno requiere un mensaje JSON-RPC por POST, Accept: application/json, text/event-stream, MCP-Protocol-Version: 2026-07-28, Mcp-Method, metadatos de cliente Mcp-Name específicos del método y _meta.io.modelcontextprotocol/* por solicitud. HTTP heredado admite sesiones inicializadas usando el Mcp-Session-Id devuelto y llamadas sin estado con enlaces locales a la solicitud. Las credenciales de Huly se configuran por separado a través de variables de entorno o encabezados x-huly-* admitidos.

Consulta arquitectura y certificación de transporte MCP para el límite de implementación y el registro de verificación actual.

Para implementaciones HTTP alojadas o tunelizadas, puedes requerir un token de portador de endpoint MCP:

MCP_TRANSPORT=http \
MCP_AUTH_TOKEN="$(openssl rand -hex 32)" \
npx -y @firfi/huly-mcp@latest

Los clientes HTTP deben entonces enviar:

Authorization: Bearer <MCP_AUTH_TOKEN>

MCP_AUTH_TOKEN protege solo el endpoint MCP HTTP /mcp. No está relacionado con HULY_TOKEN, no autentica ante Huly y no reemplaza HULY_EMAIL / HULY_PASSWORD / HULY_TOKEN. Las credenciales de Huly aún se requieren a través de variables de entorno del proceso o, para implementaciones de URL alojadas, los encabezados x-huly-* admitidos. Las implementaciones stdio no usan MCP_AUTH_TOKEN.

Perfiles CLI y stdio compartidos

Guarda un perfil con huly auth login --profile work, luego establece HULY_PROFILE=work en el entorno del servidor MCP stdio. Ambos procesos deben ejecutarse bajo el mismo usuario de SO y directorio de configuración. Stdio nunca sigue el perfil CLI activo implícitamente. Los tokens guardados están vinculados a su URL de instancia y espacio de trabajo; los cambios requieren iniciar sesión nuevamente o una inyección completa de credenciales de entorno. Consulta las instrucciones de perfil CLI. La configuración HTTP permanece sin cambios.

Configuración de Encabezados HTTP Alojados

Para implementaciones de URL alojadas, mantén el proceso del servidor configurado con MCP_TRANSPORT=http. Una capa de alojamiento puede reenviar credenciales de Huly por sesión como encabezados de solicitud, de modo que un servidor alojado pueda atender diferentes espacios de trabajo de Huly sin variables de entorno HULY_* a nivel de proceso.

Encabezados v1 admitidos:

EncabezadoRequeridoDescripción
x-huly-urlSíURL de instancia de Huly
x-huly-workspaceSíIdentificador de espacio de trabajo
x-huly-tokenSíToken de API de Huly
x-huly-connection-timeoutNoTiempo de espera de conexión en ms

Si está presente cualquier encabezado x-huly-* admitido, todos los encabezados requeridos deben estar presentes y los encabezados x-huly-* no admitidos se rechazan. Las solicitudes con solo encabezados x-huly-* no admitidos (por ejemplo, un ID de seguimiento de proxy) usan la configuración de entorno del proceso. Los valores faltantes no se completan desde variables de entorno. La autenticación por correo electrónico/contraseña no se admite en la configuración de encabezados alojados v1.

Para un ejemplo de esquema de publicación de Smithery, consulta docs/SMITHERY_URL_PUBLISH.md.

Variables de Entorno

VariableRequeridoDescripción
HULY_URLSíURL de instancia de Huly autoalojada o alojada de reemplazo accesible
HULY_TOKENAuth*Preferido: token de API de Huly administrado donde sea compatible
HULY_EMAILAuth*Respaldo de compatibilidad: correo electrónico de la cuenta
HULY_PASSWORDAuth*Respaldo de compatibilidad: contraseña de la cuenta
HULY_WORKSPACESíIdentificador del espacio de trabajo
HULY_CONNECTION_TIMEOUTNoTiempo de espera de conexión en ms. Omitir para usar el valor predeterminado del paquete.
MCP_TRANSPORTNoTipo de transporte: stdio (predeterminado) o http
MCP_HTTP_PORTNoPuerto del servidor HTTP (se usa PORT como respaldo y luego 3000)
MCP_HTTP_HOSTNoHost del servidor HTTP. Omitir para vincular al host de bucle local predeterminado del paquete.
MCP_AUTH_TOKENNoToken de portador opcional requerido por los clientes HTTP para /mcp. Esto protege solo el endpoint de MCP; no es un token de API de Huly.
HULY_TOOL_MODENoModo de exposición de herramientas: auto (predeterminado), native o proxy. auto mantiene exactamente el modo nativo de claude-code y resuelve Codex, Cursor, Windsurf, Copilot, opencode, Claude AI y clientes desconocidos al modo proxy.
PROXY_OUTPUT_STRICTNoRigurosidad de candidatos proxy: false (predeterminado) mantiene amplio el descubrimiento de proxy; true convierte TOOLSETS / TOOLS activos en una lista de permitidos estricta para búsqueda de proxy, consulta de esquemas e invocación.
TOOLSETSNoCategorías de herramientas separadas por comas para exponer. Si ni TOOLSETS ni TOOLS están configurados, se exponen todas las herramientas nativas de Huly. Ejemplo: issues,projects,search
TOOLSNoNombres exactos de herramientas separados por comas para exponer además de los conjuntos de herramientas seleccionados. Ejemplo: list_documents,create_issue
HULY_MCP_TELEMETRYNoAnálisis de uso agregado (PostHog), activado por defecto. Establezca 0 para desactivar. DO_NOT_TRACK=1 también lo desactiva.

*Auth: Prefiera HULY_TOKEN. Use HULY_EMAIL + HULY_PASSWORD solo cuando la implementación de Huly no admita un token de API administrado u otra restricción de compatibilidad requiera autenticación por contraseña.

Herramientas de Diagnóstico Integradas

get_version devuelve la versión actual del servidor y la última versión de npm.

get_huly_context devuelve contexto de configuración/tiempo de ejecución saneado para la sesión MCP actual sin conectarse a Huly. Informa la versión del paquete, transporte, modo de autenticación, origen/host/protocolo de URL de Huly saneado, espacio de trabajo, tiempo de espera, fuentes de configuración, filtrado de alcance de herramientas nativas y exposición resuelta de herramientas nativas/proxy. Los tokens, contraseñas, valores de correo electrónico, encabezados de credenciales, rutas de URL, cadenas de consulta de URL y credenciales de URL nunca se devuelven.

Recursos MCP

El servidor expone Recursos MCP de solo lectura como contexto JSON para clientes que admiten resources/read.

PlantillaNombreDescripciónTipo MIME
huly://projects/{project}huly-projectLeer detalles completos de un proyecto de tracker de Huly por identificador de proyecto, por ejemplo huly://projects/HULY.application/json
huly://issues/{issue}huly-issueLeer detalles completos de un problema de Huly por identificador completo de problema, por ejemplo huly://issues/HULY-123.application/json
huly://projects/{project}/issues/{issue}huly-project-issueLeer detalles completos de un problema de Huly por identificador de proyecto y número de problema, por ejemplo huly://projects/HULY/issues/123.application/json

resources/list devuelve recursos de proyecto activos concretos. Los recursos de problemas se basan en plantillas: use resources/templates/list para descubrir plantillas de URI de problemas compatibles y luego lea una URI de problema conocida.

Trabajo Pendiente

Las notas de trabajo pendiente de funciones y paridad de SDK están en docs/BACKLOG.md.

Herramientas Disponibles

Cuando la exposición de herramientas resuelta es proxy, los clientes ven las herramientas integradas más estas meta-herramientas de proxy. Las herramientas nativas de Huly se descubren e invocan a través del catálogo de candidatos proxy. Los nombres exactos de herramientas nativas también se despachan cuando un cliente las llama directamente, sujeto a las reglas de alcance de PROXY_OUTPUT_STRICT, pero las herramientas nativas ocultas no se anuncian a través de tools/list.

Meta-Herramientas de Proxy

HerramientaDescripción
list_tool_categoriesLista las categorías de herramientas de Huly disponibles a través de este proxy. Úsela primero cuando necesite un mapa amplio de capacidades antes de buscar una herramienta específica de Huly.
search_toolsBusca en el catálogo actual de herramientas de Huly visibles por proxy por nombre de herramienta, categoría, descripción y nombres de parámetros. Devuelve nombres exactos de herramientas más nombres de parámetros requeridos y opcionales para seguimiento de una sola llamada con get_tool_schema o invoke_tool.
get_tool_schemaDevuelve el esquema exacto de entrada y salida para una herramienta de Huly visible por proxy. Úsela antes de invoke_tool cuando no esté seguro sobre los nombres de argumentos requeridos o la forma del resultado.
invoke_toolInvoca una herramienta de Huly visible por proxy por nombre exacto con sus argumentos. Esta herramienta puede llamar operaciones de lectura o escritura de Huly; consulte get_tool_schema y las anotaciones de la herramienta objetivo cuando la seguridad sea importante.

Categorías de TOOLSETS: projects, issues, comments, milestones, documents, storage, attachments, contacts, channels, calendar, time tracking, search, associations, activity, notifications, workspace, approvals, boards, cards, collaborators, custom-fields, drive, hr, inventory, labels, leads, mail, templates, model-administration, planner, preferences, processes, recruiting, sdk-discovery, security-administration, sequence-administration, spaces, support, tag-categories, tags, task-management, test-management, user-statuses, views, virtual-office, workbench, workflow-statuses

Proyectos

HerramientaDescripción
list_project_target_preferencesLista registros de preferencias de objetivo de tracker de bajo nivel por proyecto. Estos registros ProjectTargetPreference de Huly están adjuntos a proyectos y son usados por la interfaz de usuario/flujos de trabajo del tracker para recordar propiedades de preferencia relacionadas con objetivos. Omita el proyecto para listar preferencias recientes entre proyectos, o pase un identificador de proyecto para inspeccionar las preferencias de un proyecto. Las propiedades son cargas útiles de clave/valor abiertas al SDK.
upsert_project_target_preferenceCrea o actualiza el registro ProjectTargetPreference de bajo nivel para un proyecto. Esto actualiza usedOn y fusiona propiedades de preferencia de objetivo abiertas al SDK por clave. Úselo para paridad de SDK del tracker o administración avanzada; los flujos de trabajo ordinarios de proyectos y problemas generalmente no necesitan esta herramienta.
list_projectsLista todos los proyectos de Huly. Devuelve proyectos ordenados por nombre. Admite filtrado por estado de archivado.
get_projectObtiene detalles completos de un proyecto de Huly incluidos sus estados. Devuelve nombre del proyecto, descripción, indicador de archivado, estado predeterminado y todos los estados disponibles.
list_statusesLista todos los estados de problemas para un proyecto de Huly con categoría de flujo de trabajo e información predeterminada. Devuelve nombre del estado, categoría e isDefault. Úselo para descubrir estados válidos antes de crear o actualizar problemas.
create_projectCrea un nuevo proyecto de tracker de Huly. Idempotente: devuelve el proyecto existente si ya existe uno con el mismo identificador (created=false). El identificador debe tener de 1 a 5 caracteres alfanuméricos en mayúsculas que comiencen con una letra.
update_projectActualiza un proyecto de Huly. Solo se modifican los campos proporcionados. Establezca la descripción en null para borrarla.
delete_projectElimina permanentemente un proyecto de Huly. Todos los problemas, hitos y componentes en este proyecto quedarán huérfanos. Esta acción no se puede deshacer.

Problemas

HerramientaDescripción
preview_deletionPrevisualiza el impacto de eliminar una entidad de Huly antes de eliminarla realmente. Muestra sub-entidades afectadas, relaciones y advertencias. Admite issues, proyectos, componentes e hitos. Úsalo para comprender los efectos en cascada antes de llamar a una operación de eliminación.
list_external_tracker_targetsLista los objetivos de rastreadores de issues externos asignados a un proyecto de Huly. Omite el proveedor para listar todos los proveedores compatibles con este servidor, o pasa provider:'github' para listar los repositorios de GitHub asignados. Devuelve el proveedor, tipo, ID estable de Huly, nombre exacto, estado habilitado y una razón accionable de indisponibilidad cuando se conoce. Esto descubre solo la configuración de Huly; no llama al proveedor externo ni demuestra que el trabajador de sincronización esté en ejecución.
publish_issue_to_external_trackerSolicita la publicación de un issue existente de Huly como un nuevo issue en el rastreador externo configurado de Huly. Identifica el issue con el proyecto y su identificador humano (por ejemplo, HULY-123); el proveedor actualmente solo acepta 'github'. Selecciona el objetivo por ID estable de Huly o nombre exacto, u omite el objetivo solo cuando exactamente un objetivo habilitado está asignado al proyecto. La publicación es asíncrona: pendiente significa que Huly aceptó la solicitud, no que exista un issue externo. Repetir el mismo objetivo es seguro mientras esté pendiente o publicado; una solicitud fallida al mismo objetivo se reintenta, mientras que un objetivo diferente se rechaza. Usa get_issue_publication_status para observar la finalización.
get_issue_publication_statusLee el estado de publicación externa persistido por Huly para un issue identificado por proyecto e identificador humano de issue. Devuelve not_requested, pending, published o failed; pending incluye la marca de tiempo ISO del cambio de estado y el tiempo transcurrido, mientras que published incluye una URL externa y un número de issue positivo. Un tiempo de espera se proyecta como fallido solo después de la espera limitada, y una publicación posterior persistida tiene prioridad. Esto lee el estado de Huly y nunca llama directamente al proveedor externo.
list_componentsLista los componentes en un proyecto de Huly. Los componentes organizan los issues por área/característica. Devuelve los componentes ordenados por fecha de modificación (más recientes primero).
get_componentRecupera los detalles completos de un componente de Huly. Úsalo para ver el contenido y los metadatos del componente.
create_componentCrea un nuevo componente en un proyecto de Huly. Los componentes ayudan a organizar los issues por área/característica. La descripción admite markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Devuelve el ID y la etiqueta del componente creado.
update_componentActualiza campos en un componente existente de Huly. Solo se modifican los campos proporcionados. La descripción admite markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
set_issue_componentEstablece o limpia el componente en un issue de Huly. Pasa null para el componente para limpiarlo.
delete_componentElimina permanentemente un componente de Huly. Esta acción no se puede deshacer.
list_issuesConsulta issues de Huly con filtros opcionales. Devuelve los issues ordenados por fecha de modificación (más recientes primero). Admite filtrado por proyecto, nombre exacto del estado del flujo de trabajo (status), clave de statusCategory del SDK de Huly (statusCategory: UnStarted, ToDo, Active, Won, Lost), asignado (correo electrónico, nombre para mostrar de Person o título exacto de UserProfile del agente), creador (ID de Person sin procesar, correo electrónico exacto o nombre para mostrar exacto), componente, un título de etiqueta adjunta legible por humanos (label, exacto y sin distinción de mayúsculas), hito (ID con ámbito de proyecto o etiqueta exacta sin distinción de mayúsculas), presencia de hito (hasMilestone), parentIssue (para listar hijos de un issue específico) e isTopLevel (para devolver solo issues nativos de nivel superior). Los filtros de creador, etiqueta e hito se aplican antes del límite de resultados; los nombres para mostrar ambiguos del creador fallan de manera accionable y los creadores desconocidos devuelven una lista vacía. Cada resultado incluye al creador como una referencia estable de Person { id, name?, email? } cuando se puede resolver y el hito asignado como { id, label } cuando se puede resolver. Admite búsqueda por subcadena de título (titleSearch) y contenido de descripción (descriptionSearch). Cada resultado incluye resúmenes deterministas de etiquetas con título y color disponible; las etiquetas faltantes son una matriz vacía, los títulos duplicados se colapsan sin distinción de mayúsculas prefiriendo un color válido, y los adjuntos parciales inutilizables se omiten con una advertencia de herramienta.
get_issueRecupera los detalles completos de un issue de Huly, incluida la descripción en markdown, su creador como una referencia estable de Person { id, name?, email? } cuando se puede resolver, su hito asignado como { id, label } cuando se puede resolver, y resúmenes deterministas de etiquetas adjuntas con título y color disponible. Las etiquetas faltantes son una matriz vacía, los títulos duplicados se colapsan sin distinción de mayúsculas prefiriendo un color válido, y los metadatos parciales inutilizables del creador o de la etiqueta se omiten con una advertencia de herramienta limitada. Úsalo para ver el contenido del issue, comentarios, clasificación o metadatos completos.
create_issueCrea un nuevo issue en un proyecto de Huly. El asignado acepta un correo electrónico, nombre para mostrar de Person o título exacto de UserProfile del agente y siempre almacena la Person vinculada. Omite parentIssue para un issue nativo de nivel superior, o especifica parentIssue para crear un sub-issue. Opcionalmente, establece taskType por ID o nombre para mostrar; se resuelve dentro del tipo de proyecto del proyecto objetivo, y el estado se valida contra el flujo de trabajo de ese tipo de tarea. Usa list_task_types o get_project_type para descubrir tipos de tarea y estados válidos. La descripción admite formato markdown; los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas, mientras que las URLs externas permanecen como enlaces normales. Devuelve el identificador del issue creado.
update_issueActualiza campos en un issue existente de Huly. El asignado acepta un correo electrónico, nombre para mostrar de Person o título exacto de UserProfile del agente y siempre almacena la Person vinculada; usa null para desasignar. Opcionalmente, establece taskType por ID o nombre para mostrar; se resuelve dentro del tipo de proyecto del proyecto objetivo, y el estado se conserva solo cuando es válido para el nuevo tipo de tarea. Usa list_task_types o get_project_type para descubrir tipos de tarea y estados válidos. Solo se modifican los campos proporcionados. Las actualizaciones de descripción admiten markdown; los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas, mientras que las URLs externas permanecen como enlaces normales.
add_issue_labelAgrega una etiqueta a un issue de Huly. Crea la etiqueta si no existe en el proyecto.
remove_issue_labelElimina una etiqueta de un issue de Huly. Desvincula la referencia de la etiqueta; no elimina la definición de la etiqueta.
delete_issueElimina permanentemente un issue de Huly. Esta acción no se puede deshacer.
move_issueMueve un issue a un nuevo padre (convirtiéndolo en un sub-issue), o pasa null para restaurar su forma nativa de nivel superior. Actualiza las relaciones padre/hijo y los recuentos de sub-issues.
list_issue_templatesLista las plantillas de issues en un proyecto de Huly. Las plantillas definen configuraciones de issues reutilizables. Devuelve las plantillas ordenadas por fecha de modificación (más recientes primero).
get_issue_templateRecupera los detalles completos de una plantilla de issue de Huly, incluidos los hijos (plantillas de sub-tareas). Úsalo para ver el contenido de la plantilla, los valores predeterminados y los IDs de plantillas hijas.
create_issue_templateCrea una nueva plantilla de issue en un proyecto de Huly. Las plantillas definen valores predeterminados para nuevos issues. Las descripciones de la plantilla y de los hijos admiten markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Opcionalmente, incluye hijos (plantillas de sub-tareas) que se convertirán en sub-issues al crear issues desde esta plantilla. Devuelve el ID y el título de la plantilla creada.
create_issue_from_templateCrea un nuevo issue desde una plantilla. Aplica los valores predeterminados de la plantilla, permitiendo anulaciones para campos específicos. La anulación de la descripción admite markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Si la plantilla tiene hijos (plantillas de sub-tareas), los sub-issues se crean automáticamente a menos que includeChildren se establezca en false. Devuelve el identificador del issue creado y el recuento de hijos creados.
update_issue_templateActualiza campos en una plantilla de issue existente de Huly. Solo se modifican los campos proporcionados. La descripción admite markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
delete_issue_templateElimina permanentemente una plantilla de issue de Huly. Esta acción no se puede deshacer.
add_template_childAgrega una plantilla hija (sub-tarea) a una plantilla de issue. La hija define valores predeterminados para los sub-issues creados al usar create_issue_from_template. La descripción de la hija admite markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Devuelve el ID de la plantilla hija.
remove_template_childElimina una plantilla hija (sub-tarea) de una plantilla de issue por su ID de hija. Obtén los IDs de hijas de la respuesta de get_issue_template.
add_issue_relationAgrega una relación entre dos issues. Tipos de relación: 'blocks' (la fuente bloquea al objetivo — se inserta en el blockedBy del objetivo), 'is-blocked-by' (la fuente está bloqueada por el objetivo — se inserta en el blockedBy de la fuente), 'relates-to' (enlace bidireccional — actualiza ambos lados). targetIssue acepta identificadores entre proyectos como 'OTHER-42'. No-op si la relación ya existe.
remove_issue_relationElimina una relación entre dos issues. Refleja add_issue_relation: 'blocks' extrae del blockedBy del objetivo, 'is-blocked-by' extrae del blockedBy de la fuente, 'relates-to' extrae de ambos lados. No-op si la relación no existe.
list_issue_relationsLista todas las relaciones de un issue. Devuelve blockedBy (issues que bloquean este), blocks (issues que este bloquea), relations (enlaces de issues bidireccionales) y documents (documentos vinculados con título/teamspace).
link_document_to_issueVincula un documento de Huly a un issue. El enlace aparece en el panel de Relaciones del issue en la interfaz de usuario. Idempotente: no-op si el documento ya está vinculado. Usa list_issue_relations para ver los documentos vinculados.
unlink_document_from_issueElimina un enlace de documento de un issue. Idempotente: no-op si el documento no está vinculado.
list_related_issue_targetsLista las reglas que eligen el proyecto de destino predeterminado para issues relacionados. Una spaceRule dice que los issues relacionados de un espacio tienen como predeterminado targetProject. Una classRule dice que los issues relacionados de una clase de objeto tienen como predeterminado targetProject. targetProject es un identificador de proyecto, o null para ningún proyecto de destino predeterminado.
set_related_issue_targetEstablece el proyecto de destino predeterminado para issues relacionados de un espacio o clase de objeto. Para espacio, crea o actualiza una spaceRule. Para objectClass, solo actualiza una classRule existente; esta herramienta nunca crea objetivos de classRule. Pasa targetProject como un identificador de proyecto, o null para limpiar el proyecto de destino predeterminado.
delete_related_issue_space_targetElimina la spaceRule que elige el proyecto de destino predeterminado para issues relacionados de un espacio. Esto solo elimina objetivos de spaceRule; la eliminación de classRule no es compatible intencionalmente porque las reglas de clase pueden ser proporcionadas por el modelo.

Comentarios

HerramientaDescripción
list_commentsLista los comentarios de un issue de Huly. Devuelve los comentarios ordenados por fecha de creación (los más antiguos primero).
add_commentAñade un comentario a un issue de Huly. El cuerpo del comentario admite formato markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_commentActualiza un comentario existente en un issue de Huly. El cuerpo del comentario admite formato markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
delete_commentElimina un comentario de un issue de Huly. Esta acción no se puede deshacer.

Hitos

HerramientaDescripción
list_milestonesLista los hitos de un proyecto de Huly. Devuelve los hitos ordenados por fecha de modificación (los más recientes primero).
get_milestoneRecupera los detalles completos de un hito de Huly. Úsalo para ver el contenido y los metadatos del hito.
create_milestoneCrea un nuevo hito en un proyecto de Huly. La descripción admite markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Devuelve el ID y la etiqueta del hito creado.
update_milestoneActualiza campos de un hito existente de Huly. Solo se modifican los campos proporcionados. La descripción admite markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
set_issue_milestoneEstablece o limpia el hito de un issue de Huly. Pasa null como hito para limpiarlo.
delete_milestoneElimina permanentemente un hito de Huly. Esta acción no se puede deshacer.

Documentos

HerramientaDescripción
list_document_snapshotsLista las instantáneas del historial de versiones de un documento de Huly. Una instantánea es una copia guardada en un punto en el tiempo del historial de cambios del documento. Resuelve el documento por teamspace más título o ID del documento. Devuelve snapshotId, documentId, teamspaceId, title, parentDocumentId y marcas de tiempo; el contenido markdown se omite intencionalmente. Usa get_document_snapshot con snapshotId al leer el contenido.
get_document_snapshotObtiene una instantánea del historial de un documento de Huly en un punto en el tiempo y devuelve el contenido markdown. Resuelve el documento por teamspace más título o ID del documento; resuelve la instantánea por snapshotId, título exacto de la instantánea o marca de tiempo createdOn exacta. Prefiere snapshotId de list_document_snapshots cuando los títulos o las fechas puedan coincidir. La restauración está fuera del alcance.
list_teamspacesLista todos los teamspaces de documentos de Huly. Devuelve los teamspaces ordenados por nombre. Admite filtrado por estado de archivado.
get_teamspaceObtiene los detalles de un teamspace de documentos de Huly, incluido el recuento de documentos. Busca por nombre o ID, incluidos los teamspaces archivados.
create_teamspaceCrea un nuevo teamspace de documentos de Huly. Idempotente: devuelve el teamspace existente si ya existe uno con el mismo nombre.
update_teamspaceActualiza campos de un teamspace de documentos de Huly existente. Solo se modifican los campos proporcionados. Establece description en null para limpiarla.
delete_teamspaceElimina permanentemente un teamspace de documentos de Huly. Esta acción no se puede deshacer.
list_documentsLista los documentos de un teamspace de Huly. Devuelve los documentos ordenados por fecha de modificación (los más recientes primero). Cada resultado incluye un campo 'url' que apunta al documento en la aplicación web de Huly. Admite búsqueda por subcadena del título (titleSearch) y contenido (contentSearch).
get_documentRecupera los detalles completos de un documento de Huly, incluido el contenido markdown y un campo 'url' que apunta al documento en la aplicación web de Huly. Úsalo para ver el contenido y los metadatos del documento.
create_documentCrea un nuevo documento en un teamspace de Huly. El contenido es markdown y admite diagramas Mermaid nativos (los bloques ```mermaid se renderizan interactivamente en la interfaz de Huly). Usa enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual para referencias nativas; los enlaces de navegación de Huly devueltos en el contenido de get_document se convierten en referencias nativas. La URL identifica el objeto; el texto del enlace es el texto mostrado; las claves de issue simples permanecen como texto. Las URLs externas permanecen como enlaces markdown normales. Opcionalmente, pasa parent como título o ID de documento para crear un documento hijo anidado; los padres no válidos fallan en lugar de crear silenciosamente un documento de nivel superior. Devuelve el ID del documento creado y un campo 'url' que apunta al documento en la aplicación web de Huly. Usa link_document_to_issue solo si también deseas una asociación issue-documento.
edit_documentEdita un documento de Huly existente. Puedes renombrar con title y/o editar el cuerpo. La edición del cuerpo tiene dos modos mutuamente excluyentes: (1) content reemplaza todo el cuerpo markdown, (2) old_text + new_text realiza una búsqueda y reemplazo dirigida exacta. Usa enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual para referencias nativas; los enlaces de navegación de Huly devueltos en el contenido de get_document se convierten en referencias nativas. La URL identifica el objeto; el texto del enlace es el texto mostrado; las claves de issue simples permanecen como texto. Las URLs externas permanecen como enlaces markdown normales. Para el reemplazo dirigido, múltiples coincidencias generan error a menos que replace_all sea true; new_text vacío elimina el texto coincidente. El contenido admite diagramas Mermaid nativos. Devuelve un campo 'url' que apunta al documento en la aplicación web de Huly.
list_inline_commentsLista los hilos de comentarios en línea de un documento de Huly. Extrae los comentarios incrustados en el contenido del documento como marcas de ProseMirror. Cada comentario incluye el texto resaltado y el ID del hilo. Establece includeReplies=true para obtener también los mensajes de respuesta del hilo con los nombres de los remitentes.
delete_documentElimina permanentemente un documento de Huly. Esta acción no se puede deshacer.
list_document_label_definitionsLista las definiciones de etiquetas disponibles para documentos ordinarios de Huly por subcadena opcional del título. No expone la mecánica bruta de clase de destino o categoría.
list_document_labelsLista las etiquetas adjuntas a un documento ordinario de Huly. Resuelve el teamspace por nombre o ID y el documento por título o ID; no se necesitan valores brutos de clase, espacio o colección.
add_document_labelAdjunta de forma idempotente una etiqueta a un documento ordinario de Huly resuelto por teamspace y título o ID. label acepta un ID de definición o un título exacto; un título faltante crea primero la definición de etiqueta del documento, mientras que los títulos exactos duplicados devuelven IDs candidatos.
remove_document_labelDesadjunta una etiqueta de un documento ordinario de Huly sin eliminar la definición de etiqueta reutilizable. Devuelve detached=false cuando la etiqueta existe pero no está adjunta; los títulos exactos duplicados devuelven IDs candidatos.

Almacenamiento

HerramientaDescripción
upload_fileSube un archivo al almacenamiento de Huly. Proporciona una fuente: filePath se resuelve en el host del servidor MCP, data es contenido base64 local del cliente y fileUrl es obtenido por el servidor MCP. Devuelve el ID del blob y la URL.

Adjuntos

HerramientaDescripción
list_attachmentsLista los adjuntos de un objeto de Huly (issue, documento, etc.). Devuelve los adjuntos ordenados por fecha de modificación (los más recientes primero).
get_attachmentRecupera los detalles completos de un adjunto de Huly, incluida la URL de descarga.
add_attachmentAñade un adjunto a un objeto de Huly. Proporciona una fuente: filePath se resuelve en el host del servidor MCP, data es contenido base64 local del cliente y fileUrl es obtenido por el servidor MCP. Devuelve el ID del adjunto y la URL de descarga.
update_attachmentActualiza los metadatos del adjunto (descripción, estado de fijado).
delete_attachmentElimina permanentemente un adjunto. Esta acción no se puede deshacer.
pin_attachmentFija o desfija un adjunto.
download_attachmentObtiene la URL de descarga de un adjunto junto con los metadatos del archivo (nombre, tipo, tamaño).
read_attachment_contentDevuelve un adjunto de imagen compatible (JPEG, PNG, GIF o WebP; máximo 4 MiB) como un bloque de contenido de imagen MCP más contenido estructurado solo con metadatos. Úsalo para inspeccionar capturas de pantalla o imágenes directamente. Para archivos que no son imágenes, no compatibles o demasiado grandes, llama a download_attachment para obtener una URL en su lugar.
add_issue_attachmentAñade un adjunto a un issue de Huly resuelto por proyecto e identificador. Proporciona una fuente: filePath se resuelve en el host del servidor MCP, data es contenido base64 local del cliente y fileUrl es obtenido por el servidor MCP.
add_document_attachmentAñade un adjunto a un documento de Huly resuelto por teamspace y título/ID. Proporciona una fuente: filePath se resuelve en el host del servidor MCP, data es contenido base64 local del cliente y fileUrl es obtenido por el servidor MCP.
save_attachmentGuarda/marca un adjunto para referencia posterior. Idempotente cuando ya está guardado.
unsave_attachmentElimina un adjunto de guardados/marcadores.
list_saved_attachmentsLista los adjuntos guardados/marcados para el usuario actual.
list_drawingsLista los dibujos adjuntos a un objeto padre bruto de Huly.
get_drawingObtiene un dibujo por ID.
create_drawingCrea un dibujo bajo un objeto padre bruto de Huly.
update_drawingActualiza el contenido del dibujo. Pasa null como contenido para limpiarlo.
delete_drawingElimina un dibujo. Esta acción no se puede deshacer.

Contactos

HerramientaDescripción
list_employeesLista a los empleados (personas que son miembros del equipo), ordenados por fecha de modificación (más recientes primero). Cada resumen expone los campos estables de Contact Employee: city, email, role, statuses count, personUuid, position, active y modifiedOn. Los avatarType/avatar/avatarProps del SDK son metadatos de proveedor/blob; los contadores de attachment/comment/channel y las colecciones de identidades sociales son derivados; birthday/profile requieren contratos separados; createdOn/createdBy/modifiedBy y las referencias de class/space son metadatos internos y no se admiten intencionalmente en esta proyección.
set_employee_positionEstablece de forma idempotente la posición oficial de un empleado en contact.mixin.Employee. employee debe ser un objeto con exactamente un campo localizador: {id}, {email} o {name}; las modalidades de localizador combinadas se rechazan. El ID, correo electrónico o nombre para mostrar seleccionado es exacto, y las coincidencias duplicadas de correo electrónico/nombre se rechazan. El campo position es obligatorio: pasa una cadena para establecerlo, o null/una cadena vacía para limpiarlo. Omitir position falla en el análisis del esquema y no realiza ninguna mutación. Esto actualiza el mixin de Contact Employee, no un registro de HR Staff.
invite_employeeCrea o promueve e invita a un empleado, o reenvía una invitación de empleado inactivo. mode=create-or-promote requiere el nombre para mostrar exacto de Huly y el correo electrónico; una transacción atómica verificada crea o actualiza la Person, la SocialIdentity de correo electrónico y el Employee activo antes de enviar. Una condición previa autoritativa cambiada no envía invitación y dirige al llamante a reintentar en una sesión nueva. mode=invite-existing requiere un localizador exacto de correo electrónico/nombre y rechaza objetivos activos o que no sean Employee. Un role omitido preserva el rol de Employee; un rol diferente explícito se persiste atómicamente antes del reenvío. No devuelve enlace de invitación, credencial ni token; una falla del proveedor de invitación informa preparación completada.
list_inactive_employeesLista cada Employee inactivo antes de aplicar la paginación de salida. Cada resultado distingue el enlace de cuenta, la membresía y el rol del espacio de trabajo, la identidad de Person y el estado activo de Employee para que un agente pueda elegir reinvitar, desactivar o expulsar de forma segura.
deactivate_employeePrevisualiza o ejecuta un cambio de ciclo de vida de empleado resuelto por correo electrónico exacto o nombre para mostrar exacto. action=deactivate solo establece Employee.active=false y conserva la membresía del espacio de trabajo; action=kick luego elimina la cuenta vinculada del espacio de trabajo. Si la eliminación del espacio de trabajo falla después de la desactivación, la falla parcial tipada lista los cambios completados y dirige a una previsualización y reintento seguros. La previsualización es el valor predeterminado. La ejecución requiere execute=true más un objeto de relación esperada exacto copiado de la previsualización: unlinked, linked-without-membership o workspace-member. Cualquier ID de Person, UUID de cuenta, indicador activo de Employee, membresía o rol de espacio de trabajo cambiado se rechaza. El empleado autenticado no puede dirigirse a sí mismo.
list_personsLista todas las personas en el espacio de trabajo de Huly. Devuelve personas ordenadas por fecha de modificación (más recientes primero). Admite búsqueda por subcadena de nombre (nameSearch) y subcadena de correo electrónico (emailSearch).
get_personRecupera detalles completos de una persona, incluidos los canales de contacto. Usa personId o email para identificar a la persona.
create_personCrea una nueva persona en Huly. Devuelve el ID de la persona creada.
update_personActualiza campos en una persona existente. Solo se modifican los campos proporcionados.
delete_personElimina permanentemente una persona de Huly. Esta acción no se puede deshacer.
list_contact_channel_providersLista las etiquetas de proveedor de canales de contacto admitidas para las herramientas de canales de persona y organización.
list_person_channelsLista los canales de contacto de una persona. Person acepta ID de persona, dirección de correo electrónico exacta o nombre para mostrar exacto de Huly; los nombres ambiguos fallan y deben reintentarse con correo electrónico o ID de persona.
add_person_channelAgrega de forma idempotente un canal de contacto a una persona. Person acepta ID de persona, dirección de correo electrónico exacta o nombre para mostrar exacto de Huly. Las etiquetas de proveedor coinciden con list_contact_channel_providers. Devuelve added=false y el canal existente cuando el proveedor+valor exacto ya existe.
update_person_channelActualiza un canal de contacto en una persona. Person acepta ID de persona, correo electrónico exacto o nombre para mostrar exacto. Identifica el canal con exactamente un localizador: channelId, o proveedor más valor. Proporciona newProvider, newValue o ambos. Actualizar a un proveedor+valor existente en la misma persona falla con un conflicto.
remove_person_channelElimina un canal de contacto de una persona. Person acepta ID de persona, correo electrónico exacto o nombre para mostrar exacto. Identifica el canal con exactamente un localizador: channelId, o proveedor más valor. Devuelve removed=false cuando el localizador está ausente para esa persona.
list_organizationsLista todas las organizaciones en el espacio de trabajo de Huly. Devuelve organizaciones ordenadas por fecha de modificación (más recientes primero).
create_organizationCrea una nueva organización en Huly. Opcionalmente agrega miembros por ID de persona o correo electrónico. Falla si algún miembro solicitado no se puede resolver. Devuelve el ID de la organización creada.
get_organizationRecupera detalles completos de una organización por ID o nombre exacto cuando ese nombre es único, incluidos city, description, member count y marca de tiempo de modificación. Si varias organizaciones comparten el mismo nombre, usa el ID de la organización.
update_organizationActualiza campos en una organización existente identificada por ID o nombre exacto cuando ese nombre es único. Solo se modifican los campos proporcionados. Description admite markdown para notas de CRM / resúmenes de ingresos / contexto. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Pasa null para limpiar city o description. Si varias organizaciones comparten el mismo nombre, usa el ID de la organización.
delete_organizationElimina permanentemente una organización identificada por ID o nombre exacto cuando ese nombre es único. Úsalo con cuidado: esto no se puede deshacer. Útil para limpiar organizaciones duplicadas después de fusionar sus datos en otro lugar. Si varias organizaciones comparten el mismo nombre, usa el ID de la organización.
make_organization_customerAplica el mixin Customer a una organización para que aparezca en Huly Leads > Customers. Idempotente: seguro de llamar en organizaciones que ya son clientes. Toma el ID de la organización o el nombre exacto cuando ese nombre es único.
make_person_customerAplica el mixin nativo Customer a una persona existente para que aparezca en Huly Leads > Customers. Resuelve por ID de persona, dirección de correo electrónico exacta o nombre para mostrar exacto; los identificadores ambiguos fallan, no se crea ninguna persona y las llamadas repetidas son idempotentes.
add_organization_channelAgrega de forma idempotente un canal de contacto a una organización identificada por ID o nombre único exacto. Etiquetas de proveedor: email, phone, linkedin, twitter, github, facebook, telegram, homepage, whatsapp, skype, profile, viber. Devuelve added=false y el canal existente cuando el proveedor+valor exacto ya existe.
list_organization_channelsLista los canales de contacto de una organización identificada por ID o nombre de organización único exacto. Devuelve channelId, etiqueta de proveedor, valor y metadatos de actividad opcionales.
update_organization_channelActualiza un canal de contacto en una organización identificada por ID o nombre único exacto. Identifica el canal con exactamente un localizador: channelId, o proveedor más valor. Proporciona newProvider, newValue o ambos. Actualizar a un proveedor+valor existente en la misma organización falla con un conflicto.
remove_organization_channelElimina un canal de contacto de una organización identificada por ID o nombre único exacto. Identifica el canal con exactamente un localizador: channelId, o proveedor más valor. Devuelve removed=false cuando el localizador está ausente para esa organización.
add_organization_memberVincula a una persona como miembro de una organización. La persona aparece en la pestaña Members de la organización en Huly. Usa ID de persona o correo electrónico para identificar a la persona. Idempotente: devuelve added=false si esa persona ya es miembro.
list_organization_membersLista todas las personas que son miembros de una organización. Devuelve el ID de persona, nombre y correo electrónico principal (si lo hay) de cada miembro. Al usar un nombre en lugar de un ID, ese nombre debe identificar exactamente una organización.
list_person_organizationsLista todas las organizaciones de las que una persona es miembro. Proporciona personId o email. Devuelve el ID y el nombre de cada organización.
remove_organization_memberDesvincula a una persona de los miembros de una organización. Invierte add_organization_member. Devuelve removed: false si la persona no era miembro. Al usar un nombre de organización en lugar de un ID, ese nombre debe identificar exactamente una organización.
merge_peoplePrevisualiza o ejecuta una fusión de personas que preserva referencias nativas con una fuente y superviviente seleccionadas explícitamente; la fuente y el superviviente deben contener cada uno exactamente un localizador exacto: {id}, {email} o {name}; las coincidencias duplicadas de correo electrónico/nombre fallan como ambiguas. La previsualización es el valor predeterminado e informa identidades, canales, membresías, comentarios, adjuntos, cada otra referencia Person/Contact/Employee declarada por el modelo, elegibilidad de cuenta, campos escalares retenidos y un token de preflight exacto vinculado a IDs de documentos afectados canónicos, campos de enrutamiento de escritura y valores escalares/array. La ejecución requiere execute=true más ese token actual, rechaza cualquier desviación de instantánea antes de escribir, recablea referencias escalares y de array sin eliminar otros miembros del array e invoca la fusión global de Person de Huly cuando corresponde. El registro de Person del espacio de trabajo fuente se conserva porque la fusión nativa de Huly no lo elimina en cascada.
get_person_administrationInspecciona la superficie de administración de identidad y perfil de una persona; person debe contener exactamente un localizador exacto: {id}, {email} o {name}; las coincidencias duplicadas de correo electrónico/nombre fallan como ambiguas. Devuelve estados de contacto, membresía del espacio de trabajo, metadatos de avatar, birthday, identidades sociales, perfil de cuenta, actividad de canal y un libro mayor explícito de soporte de campos estables.
list_social_identity_providersLista los proveedores de SocialIdentity instalados en este espacio de trabajo de Huly, devolviendo IDs y tipos de proveedor nativos.
repair_person_social_identitiesAplica solo las reparaciones nativas seguras e idempotentes de SocialIdentity de Huly desde el registro de cuenta autoritativo de la persona autenticada: recrea proyecciones activas faltantes, promueve verificación, reasigna una identidad no verificada después de una fusión de cuenta y propaga eliminación autoritativa; person debe contener exactamente un localizador exacto: {id}, {email} o {name}; las coincidencias duplicadas de correo electrónico/nombre fallan como ambiguas. Otra persona vinculada a cuenta, reasignación verificada entre personas, cambios arbitrarios de tipo/valor/clave activos, eliminación de identidades solo del espacio de trabajo y colisiones de clave devuelven una razón no admitida específica de Huly en lugar de sobrescribirse.
list_person_commentsLista notas/comentarios genuinamente adjuntos a una persona, de más antiguos a más recientes; person debe contener exactamente un localizador exacto: {id}, {email} o {name}; las coincidencias duplicadas de correo electrónico/nombre fallan como ambiguas.
add_person_commentAgrega una nota/comentario markdown a una persona; person debe contener exactamente un localizador exacto: {id}, {email} o {name}; las coincidencias duplicadas de correo electrónico/nombre fallan como ambiguas. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_person_commentActualiza de forma idempotente una nota/comentario que pertenece a una persona resuelta; person debe contener exactamente un localizador exacto: {id}, {email} o {name}; las coincidencias duplicadas de correo electrónico/nombre fallan como ambiguas. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
delete_person_commentElimina permanentemente una nota/comentario solo cuando pertenece a una persona resuelta; person debe contener exactamente un localizador exacto: {id}, {email} o {name}; las coincidencias duplicadas de correo electrónico/nombre fallan como ambiguas.
list_person_attachmentsLista los archivos adjuntos genuinamente vinculados a una persona; la persona debe contener exactamente un localizador exacto: {id}, {email} o {name}; las coincidencias duplicadas de email/name fallan como ambiguas.
add_person_attachmentSube y adjunta un archivo a una persona desde exactamente una de las siguientes opciones: filePath, fileUrl o datos base64; la persona debe contener exactamente un localizador exacto: {id}, {email} o {name}; las coincidencias duplicadas de email/name fallan como ambiguas.
get_person_attachmentObtén un archivo adjunto solo cuando pertenezca a una persona resuelta; la persona debe contener exactamente un localizador exacto: {id}, {email} o {name}; las coincidencias duplicadas de email/name fallan como ambiguas.
update_person_attachmentActualiza la descripción o el estado de fijado solo cuando el archivo adjunto pertenezca a una persona resuelta; la persona debe contener exactamente un localizador exacto: {id}, {email} o {name}; las coincidencias duplicadas de email/name fallan como ambiguas.
delete_person_attachmentElimina permanentemente un archivo adjunto solo cuando pertenezca a una persona resuelta; la persona debe contener exactamente un localizador exacto: {id}, {email} o {name}; las coincidencias duplicadas de email/name fallan como ambiguas.

Canales

HerramientaDescripción
list_chat_message_attachmentsLista los archivos adjuntos directamente a un objetivo de mensaje de chat de Huly. target.kind admite channel_message, dm_message y thread_reply; la herramienta resuelve los nombres de los canales y los nombres para mostrar de los participantes de DM uno a uno por ti.
get_chat_message_attachmentObtiene un archivo adjunto directamente a un mensaje de canal de Huly, un mensaje de mensaje directo o una respuesta de hilo. El attachmentId debe pertenecer al objetivo resuelto.
add_chat_message_attachmentAdjunta un archivo directamente a un mensaje de canal de Huly, un mensaje de mensaje directo o una respuesta de hilo. Proporciona filename, contentType y exactamente una fuente: filePath se resuelve en el host del servidor MCP, data es contenido base64 local del cliente y fileUrl es obtenido por el servidor MCP.
update_chat_message_attachmentActualiza la descripción y/o el estado de fijado de un archivo adjunto directamente a un mensaje de canal de Huly, un mensaje de mensaje directo o una respuesta de hilo. El attachmentId debe pertenecer al objetivo resuelto.
delete_chat_message_attachmentElimina un archivo adjunto directamente a un mensaje de canal de Huly, un mensaje de mensaje directo o una respuesta de hilo. El attachmentId debe pertenecer al objetivo resuelto.
list_channel_membersLista los miembros de un canal de Huly por nombre o ID del canal. Devuelve el UUID de la cuenta de cada miembro y el nombre para mostrar del espacio de trabajo cuando esté disponible.
add_channel_membersAgrega miembros de forma idempotente a un canal de Huly no archivado. Los miembros aceptan UUID de cuenta, correo electrónico exacto o nombre para mostrar exacto de la persona y se resuelven a UUID de cuenta de Huly antes de reemplazar la matriz completa de miembros ordenados.
remove_channel_membersElimina miembros de forma idempotente de un canal de Huly no archivado. Los miembros aceptan UUID de cuenta, correo electrónico exacto o nombre para mostrar exacto de la persona. Rechaza eliminaciones que dejarían el canal con cero miembros o, cuando existen propietarios, sin propietario entre los miembros restantes.
join_channelÚnete a un canal de Huly no archivado como la cuenta autenticada. Es idempotente cuando la cuenta ya es miembro.
leave_channelAbandona un canal de Huly no archivado como la cuenta autenticada. Es idempotente cuando ya está ausente. Rechaza abandonar si eso dejaría el canal vacío o sin ningún propietario restante.
archive_channelArchiva un canal de Huly por nombre o ID del canal. Esto es reversible con unarchive_channel y es idempotente cuando el canal ya está archivado.
unarchive_channelDesarchiva un canal de Huly por nombre o ID del canal. Es idempotente cuando el canal ya está activo.
create_group_direct_messageAbre una conversación de mensaje directo grupal con al menos otros dos miembros del espacio de trabajo. La matriz people acepta correos electrónicos exactos o nombres para mostrar exactos; la cuenta autenticada se incluye automáticamente. Es idempotente por conjunto exacto de miembros ordenados: devuelve un DM grupal existente con created: false cuando ya existe uno. Para otra persona, usa create_direct_message.
set_conversation_starredEstablece el estado de fijado del usuario autenticado para exactamente una conversación. Proporciona channel (nombre o ID del canal) o dm (ID de DM, o nombre para mostrar del participante uno a uno), además de starred. Crea el contexto de notificación faltante cuando sea necesario.
set_conversation_closedEstablece el estado cerrado/visible del usuario autenticado para exactamente una conversación. Proporciona channel o dm, además de closed. Cerrar solo oculta el contexto de notificación del usuario actual; no abandona canales ni elimina miembros.
list_pinned_chat_messagesLista los mensajes de nivel superior fijados y las respuestas de hilo fijadas en exactamente un canal de Huly o conversación de mensaje directo. Proporciona channel (nombre o ID) o dm (ID de DM o nombre del participante uno a uno), no ambos. Los resultados son más recientes primero en ambos tipos de mensajes.
set_chat_message_pinnedFija o desfija de forma idempotente un mensaje de nivel superior o una respuesta de hilo ubicada dentro de exactamente un canal de Huly o conversación de mensaje directo. Proporciona channel o dm, además del messageId; el mensaje debe pertenecer a la conversación resuelta.
request_channel_accessIntenta el flujo de trabajo de solicitud de acceso a canal privado de Huly por nombre o ID del canal. El SDK/modelo actual de Chunter no tiene un registro estable de solicitud de acceso o acción de servidor, por lo que esta compilación devuelve supported=false con un reasonCode estable y no realiza ninguna mutación.
translate_chat_messageIntenta traducir un mensaje de canal/DM de Huly ubicado a targetLanguage. La traducción actual de Huly es solo de navegador, usa un endpoint de IA opcional y almacena resultados solo en el estado de la interfaz de usuario; esta compilación devuelve supported=false con un reasonCode estable y no fabrica texto traducido.
list_channelsLista todos los canales de Huly. Devuelve los canales ordenados por nombre. Admite filtrado por estado de archivado. Admite búsqueda por subcadena de nombre (nameSearch) y subcadena de tema (topicSearch).
get_channelRecupera detalles completos de un canal de Huly, incluidos el tema y la lista de miembros.
create_channelCrea un nuevo canal en Huly. Devuelve el ID y el nombre del canal creado.
update_channelActualiza campos en un canal de Huly existente. Solo se modifican los campos proporcionados.
delete_channelElimina permanentemente un canal de Huly. Esta acción no se puede deshacer. Para cambios reversibles en el ciclo de vida del canal, usa archive_channel y unarchive_channel en su lugar.
list_channel_messagesLista los mensajes en un canal de Huly. Devuelve los mensajes ordenados por fecha (más recientes primero).
list_external_channel_messagesLee los mensajes de canal de contacto de Telegram persistidos o evalúa por qué un proveedor externo no se puede leer de forma segura. Para provider=telegram, resuelve el canal por valor almacenado exacto o ID de canal de contacto estable y devuelve el contentMarkdown más reciente, la dirección, la marca de tiempo sendOn almacenada de Huly y el recuento de adjuntos; devuelve supported=false cuando el modelo del espacio de trabajo o el canal no están disponibles. La creación de adjuntos entrantes es asíncrona, por lo que attachmentCount puede retrasarse temporalmente con respecto al mensaje; los bytes de adjuntos no se devuelven. Esto solo prueba los registros almacenados en Huly, no la frescura del proveedor, una conexión activa de Telegram o el estado de entrega/lectura del proveedor. Gmail devuelve supported=false porque Huly no expone la versión de escritor v1/v2 en vivo de toda la implementación necesaria para distinguir los registros heredados actuales de los datos obsoletos. El límite predeterminado es 50 y está limitado a 200. Esta herramienta nunca envía, responde, elimina ni muta.
send_channel_messageEnvía un mensaje a un canal de Huly. El cuerpo del mensaje admite formato markdown. Los enlaces markdown a URL de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URL externas y las URL de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_channel_messageActualiza un mensaje de canal. Solo se puede modificar el cuerpo; el cuerpo admite formato markdown. Los enlaces markdown a URL de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URL externas y las URL de navegación de otros espacios de trabajo permanecen como enlaces normales.
delete_channel_messageElimina permanentemente un mensaje de canal. Esta acción no se puede deshacer.
list_direct_messagesLista las conversaciones de mensaje directo en Huly. Devuelve las conversaciones ordenadas por fecha (más recientes primero).
create_direct_messageAbre una conversación de mensaje directo uno a uno con un miembro del espacio de trabajo. El argumento person acepta un correo electrónico o un nombre para mostrar exacto (por ejemplo, Smith,Bill). Es idempotente: si ya existe un DM con ese participante, lo devuelve (created: false); de lo contrario, crea un nuevo DM (created: true). El id devuelto se puede pasar como dm a send_dm_message, list_dm_messages, etc.
list_dm_messagesLista los mensajes en una conversación de mensaje directo, más recientes primero. El argumento dm acepta el _id del DM o un nombre para mostrar del participante (por ejemplo, Kerr,Shannon); un nombre se resuelve solo a un DM uno a uno con la cuenta autenticada.
send_dm_messageEnvía un mensaje a una conversación de mensaje directo. El argumento dm acepta el _id del DM o un nombre para mostrar del participante; un nombre se resuelve solo a un DM uno a uno con la cuenta autenticada. El cuerpo del mensaje admite formato markdown. Los enlaces markdown a URL de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URL externas y las URL de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_dm_messageActualiza un mensaje de mensaje directo. El argumento dm acepta el _id del DM o un nombre para mostrar del participante; un nombre se resuelve solo a un DM uno a uno con la cuenta autenticada. Solo se puede modificar el cuerpo; el cuerpo admite formato markdown. Los enlaces markdown a URL de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URL externas y las URL de navegación de otros espacios de trabajo permanecen como enlaces normales.
delete_dm_messageElimina permanentemente un mensaje de mensaje directo. El argumento dm acepta el _id del DM o un nombre para mostrar del participante; un nombre se resuelve solo a un DM uno a uno con la cuenta autenticada. Esta acción no se puede deshacer.
list_thread_repliesLista las respuestas en un hilo de mensaje. Devuelve las respuestas ordenadas por fecha (más antiguas primero).
add_thread_replyAgrega una respuesta a un hilo de mensaje. El cuerpo de la respuesta admite formato markdown. Los enlaces markdown a URL de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URL externas y las URL de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_thread_replyActualiza una respuesta de hilo. Solo se puede modificar el cuerpo; el cuerpo admite formato markdown. Los enlaces markdown a URL de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URL externas y las URL de navegación de otros espacios de trabajo permanecen como enlaces normales.
delete_thread_replyElimina permanentemente una respuesta de hilo. Esta acción no se puede deshacer.

Calendario

HerramientaDescripción
list_eventsLista los eventos de calendario ordenados por fecha, con identidad de sala de reuniones cuando un Evento tiene la composición nativa de Reunión. Admite filtrado por rango de fechas.
list_calendarsLista calendarios escribibles y no ocultos que pueden usarse como destinos de create_event o create_recurring_event. Úsalo antes de crear eventos cuando necesites elegir un calendarId de destino explícitamente.
list_calendar_settingsLista la configuración de Calendario del llamador autenticado, incluidos los calendarios ocultos y de solo lectura propiedad del llamador. Devuelve el ID estable, nombre, tipo, estado oculto, visibilidad, acceso y estado principal calculado de cada calendario. Se omiten los identificadores de proveedor y los valores predeterminados. Usa list_calendars para destinos de eventos escribibles y no ocultos.
set_primary_calendarEstablece el calendario personal principal del llamador autenticado mediante calendarId o un calendarName exacto e inequívoco. El destino debe ser propiedad del llamador, visible y con acceso de Escritor o Propietario. Crea o actualiza la única preferencia de Calendario Principal y nunca cambia los valores predeterminados del proveedor.
update_calendar_settingsActualiza la visibilidad local y/o la configuración de ocultamiento en un calendario propiedad del llamador autenticado. La visibilidad acepta public, freeBusy o private. Los cambios de ocultamiento solo se permiten para filas de ExternalCalendar y requieren acceso de Escritor o Propietario; se rechazan el ocultamiento de calendarios internos y los campos propiedad del proveedor.
get_eventRecupera los detalles completos de un evento de calendario, incluidos la descripción y la identidad de sala de reuniones cuando tiene la composición nativa de Reunión.
create_eventCrea un nuevo evento de calendario. La descripción admite formato markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. El calendarId opcional apunta a un calendario específico; cuando se omite, el evento usa el calendario personal principal del usuario autenticado. El meetingRoom.room opcional resuelve primero un ID y luego un nombre exacto e inequívoco; meetingRoom.floor desambigua nombres únicamente. Crea la asignación nativa de Reunión para cada hermano eventId sin reemplazar la ubicación. Devuelve el ID del evento creado.
update_eventActualiza campos en un evento de calendario existente. Solo se modifican los campos proporcionados. Las actualizaciones de descripción admiten markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. meetingRoom cambia una Reunión nativa existente únicamente (los Eventos ordinarios se rechazan), resuelve primero el ID de la sala y luego el nombre exacto con desambiguación opcional de piso, y actualiza cada hermano eventId sin reemplazar la ubicación. No se admite la eliminación de la sala.
delete_eventElimina permanentemente un evento de calendario. Esta acción no se puede deshacer.
list_schedulesLista los enlaces de programación de calendario y los horarios de disponibilidad. El propietario opcional acepta un ID de empleado/persona, nombre exacto o correo electrónico.
get_scheduleRecupera un horario de calendario, incluidos propietario, disponibilidad, destino del calendario, zona horaria e información de la sala cuando es un horario de reunión.
create_scheduleCrea un horario de calendario. El propietario acepta un ID de empleado/persona, nombre exacto o correo electrónico; el calendario puede especificarse mediante calendarId o calendarName. El meetingRoom.room opcional resuelve primero un ID y luego un nombre exacto e inequívoco; meetingRoom.floor desambigua nombres únicamente y crea la composición nativa de MeetingSchedule. Los horarios de salas de reuniones deben ser propiedad del llamador autenticado.
update_scheduleActualiza un horario de calendario. Admite propietario, título, descripción, duración, intervalo, disponibilidad, timeZone y movimiento de calendario mediante calendarId o calendarName. meetingRoom cambia un MeetingSchedule nativo existente propiedad del llamador únicamente, usando resolución de ID primero y luego nombre exacto con desambiguación opcional de piso; no se admite la eliminación de la sala.
delete_scheduleElimina un horario de calendario mediante scheduleId.
list_recurring_eventsLista las definiciones de eventos recurrentes. Devuelve los eventos recurrentes ordenados por fecha de modificación (más recientes primero).
create_recurring_eventCrea un nuevo evento recurrente de calendario con reglas RRULE de RFC5545. La descripción admite formato markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. El calendarId opcional apunta a un calendario específico; cuando se omite, el evento usa el calendario personal principal del usuario autenticado. Devuelve el ID del evento creado.
list_event_instancesLista las instancias de un evento recurrente. Devuelve las instancias ordenadas por fecha. Admite filtrado por rango de fechas. Usa includeParticipants=true para obtener información completa de los participantes (búsquedas adicionales).

Seguimiento de tiempo

HerramientaDescripción
log_timeRegistra el tiempo dedicado a un issue de Huly. Registra una entrada de tiempo con descripción opcional. Los valores están en horas (unidad nativa de Huly): 0.25 = 15 minutos; 8 = un día laboral.
get_time_reportObtén el informe de seguimiento de tiempo para un issue específico de Huly. Muestra el tiempo total, la estimación, el tiempo restante y todas las entradas de tiempo. Los valores están en horas (unidad nativa de Huly): 0.25 = 15 minutos; 8 = un día laboral.
list_time_spend_reportsLista todas las entradas de tiempo en los issues. Admite filtrado por proyecto y rango de fechas. Devuelve las entradas ordenadas por fecha (más recientes primero). Los valores están en horas (unidad nativa de Huly): 0.25 = 15 minutos; 8 = un día laboral.
get_detailed_time_reportObtén el desglose detallado de tiempo para un proyecto. Muestra el tiempo total agrupado por issue y por empleado. Admite filtrado por rango de fechas. Los valores están en horas (unidad nativa de Huly): 0.25 = 15 minutos; 8 = un día laboral.
list_work_slotsLista los bloques de trabajo programados creados por schedule_todo, la interfaz de Huly u otros clientes. Muestra los bloques de tiempo planificados adjuntos a los ToDos. Admite filtrado por empleado y rango de fechas.
start_timerInicia un temporizador del lado del cliente en un issue de Huly. Valida que el issue exista y devuelve una marca de tiempo de inicio. Usa log_time para registrar el tiempo transcurrido cuando termines.
stop_timerDetiene un temporizador del lado del cliente en un issue de Huly. Devuelve la marca de tiempo de detención. Calcula el tiempo transcurrido a partir de las marcas de inicio/detención y usa log_time para registrarlo.

Búsqueda

HerramientaDescripción
fulltext_searchRealiza una búsqueda global de texto completo en todo el contenido de Huly. Busca en issues, documentos, mensajes y otro contenido indexado. Devuelve los elementos coincidentes ordenados por relevancia (más recientes primero).

Asociaciones

HerramientaDescripción
list_associationsLista las definiciones de asociaciones de Huly: enlaces tipados a nivel de clase que definen qué clases de documentos pueden estar relacionadas. Úsalo antes de create_relation para descubrir los IDs de asociación, las clases de origen/destino y si se admiten escrituras de relaciones.
create_associationCrea de forma idempotente una definición de asociación de Huly entre dos clases que no sean del sistema. Usa sourceClass/targetClass con sourceRole/targetRole y cardinalidad; devuelve una asociación idéntica existente de forma predeterminada.
delete_associationElimina de forma idempotente una definición de asociación de Huly solo cuando ninguna relación concreta la referencia. Si existen relaciones, delete_relation debe limpiarlas primero; eliminar una asociación que ya no existe es un no-op exitoso.
list_relationsLista las instancias concretas de relaciones de Huly bajo una asociación, opcionalmente filtradas por documentos de origen y destino. Los localizadores de endpoints admiten destinos raw, issue, document, card y lead exacto con ámbito de funnel. Requiere al menos un filtro para evitar escaneos amplios del espacio de trabajo.
create_relationCrea de forma idempotente una relación concreta entre dos documentos resueltos para una asociación escribible. Los localizadores de endpoints admiten destinos raw, issue, document, card y lead exacto con ámbito de funnel. Aplica clases de endpoints de asociación, dirección, manejo de duplicados, restricciones solo de automatización y cardinalidad. Los endpoints de Relación publicados no tienen campo mutable; reemplaza una relación con delete_relation y luego create_relation.
delete_relationElimina de forma idempotente una relación concreta por ID de relación o por el triplete exacto de asociación/origen/destino. Los localizadores de endpoints de triplete admiten destinos raw, issue, document, card y lead exacto con ámbito de funnel. Las eliminaciones por triplete usan la misma semántica de dirección que create_relation y fallan si el selector es ambiguo.

Actividad

HerramientaDescripción
list_activityLista los mensajes de actividad para un issue, documento, canal u objeto Huly sin procesar. Prefiere destinos amigables: project+issueIdentifier para issues, teamspace+document para documentos o channel para canales. Los llamadores avanzados pueden pasar objectId+objectClass directamente. Devuelve la actividad ordenada por fecha (más recientes primero). Los campos opcionales de actor, mensaje, clase y metadatos legítimamente ausentes o nulos se omiten de cada elemento.
get_activity_messageObtén un único mensaje de actividad por ID, incluidos los metadatos de subclase cuando estén disponibles.
pin_activity_messageFija o desfija un mensaje de actividad. Es idempotente cuando el estado de fijación ya coincide.
list_activity_filtersLista los filtros de actividad configurados en orden de visualización.
list_activity_referencesLista las referencias de actividad conectadas a un objeto Huly sin procesar. Usa direction para listar referencias desde el objeto, hacia el objeto o ambas.
list_activity_repliesLista las respuestas de hilo en cualquier mensaje de actividad, no solo en mensajes de canal.
add_activity_replyAgrega una respuesta en Markdown a cualquier mensaje de actividad. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_activity_replyActualiza el cuerpo de una respuesta de actividad genérica. El cuerpo admite markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
delete_activity_replyElimina una respuesta de actividad genérica.
add_reactionAgrega una reacción de emoji a un mensaje de actividad.
remove_reactionElimina una reacción de emoji de un mensaje de actividad.
list_reactionsLista las reacciones en un mensaje de actividad.
save_messageGuarda/marca un mensaje de actividad para referencia futura.
unsave_messageElimina un mensaje de actividad de guardados/marcadores.
list_saved_messagesLista los mensajes de actividad guardados/marcados.
list_mentionsLista las @menciones del usuario actual en mensajes de actividad.

Notificaciones

HerramientaDescripción
list_notification_providersLista los proveedores de notificaciones declarados por el modelo, como bandeja de entrada, push y sonido. Usa los IDs de proveedor devueltos para configurar actualizaciones. Los servidores REST antiguos pueden devolver metadatos de compatibilidad con una advertencia explícita de herramienta.
list_notification_typesLista los tipos de notificaciones declarados por el modelo. Usa los IDs de tipo devueltos para actualizaciones de configuración específicas del proveedor. Los servidores REST antiguos pueden devolver metadatos de compatibilidad con una advertencia explícita de herramienta.
list_notificationsLista las notificaciones de la bandeja de entrada. Devuelve notificaciones ordenadas por fecha de modificación (más recientes primero). Admite filtrado por estado de leído/archivado.
get_notificationRecupera los detalles completos de una notificación. Usa esto para ver el contenido y los metadatos de la notificación.
mark_notification_readMarca una notificación como leída. Idempotente: devuelve éxito cuando la notificación ya está leída.
mark_notification_unreadMarca una notificación como no leída. Idempotente: devuelve éxito cuando la notificación ya está no leída.
mark_all_notifications_readMarca todas las notificaciones no leídas como leídas. Devuelve el recuento de notificaciones marcadas.
archive_notificationArchiva una notificación. Las notificaciones archivadas se ocultan de la vista principal de la bandeja de entrada. Idempotente cuando ya está archivada.
unarchive_notificationDesarchiva una notificación para que pueda aparecer nuevamente en las listas de notificaciones activas. Idempotente cuando ya está activa.
archive_all_notificationsArchiva todas las notificaciones. Devuelve el recuento de notificaciones archivadas.
delete_notificationElimina permanentemente una notificación. Esta acción no se puede deshacer.
get_notification_contextObtiene el contexto de notificación para una entidad. Devuelve información de seguimiento para un objeto específico.
list_notification_contextsLista los contextos de notificación. Devuelve contextos ordenados por la última marca de tiempo de actualización (más recientes primero). Admite filtrado por estado de fijado y puede incluir contextos ocultos.
pin_notification_contextFija o desfija un contexto de notificación. Los contextos fijados se resaltan en la bandeja de entrada. Idempotente cuando el estado de fijado ya coincide.
hide_notification_contextOculta o muestra un contexto de notificación. Los contextos ocultos se omiten de list_notification_contexts a menos que includeHidden sea verdadero. Idempotente cuando el estado de oculto ya coincide.
archive_notification_contextArchiva todas las notificaciones de la bandeja de entrada en un contexto de notificación. Idempotente: devuelve el recuento 0 cuando no quedan notificaciones activas.
unarchive_notification_contextDesarchiva todas las notificaciones archivadas de la bandeja de entrada en un contexto de notificación. Idempotente: devuelve el recuento 0 cuando no quedan notificaciones archivadas.
subscribe_to_object_notificationsSuscribe la cuenta autenticada a notificaciones de un objeto Huly sin procesar agregando una fila de colaborador principal. Idempotente cuando ya está suscrito.
unsubscribe_from_object_notificationsCancela la suscripción de la cuenta autenticada a notificaciones de un objeto Huly sin procesar eliminando su fila de colaborador. Idempotente cuando ya está ausente.
list_notification_settingsLista la configuración de proveedores de notificaciones. Devuelve las preferencias de notificación actuales.
update_notification_provider_settingHabilita o deshabilita una configuración de proveedor de notificaciones. Valida providerId contra definiciones de modelo autorizadas cuando estén disponibles; se conserva la alternativa REST compatible y se advierte explícitamente.
update_notification_type_settingHabilita o deshabilita un tipo de notificación para un proveedor. Valida ambos IDs contra definiciones de modelo autorizadas cuando estén disponibles, y crea una configuración de tipo solo cuando el proveedor es configurable. Se conserva la alternativa REST compatible y se advierte explícitamente.
get_unread_notification_countObtiene el recuento de notificaciones no leídas.

Espacio de trabajo

HerramientaDescripción
list_workspace_membersLista los miembros del espacio de trabajo Huly actual con sus roles. Devuelve miembros con IDs de cuenta y roles.
update_member_roleActualiza el rol de un miembro del espacio de trabajo. Requiere permisos apropiados. Roles válidos: READONLYGUEST, DocGuest, GUEST, USER, MAINTAINER, OWNER, ADMIN.
get_workspace_infoObtiene información sobre el espacio de trabajo actual, incluidos nombre, URL, región y configuración.
list_workspacesLista todos los espacios de trabajo accesibles para el usuario actual. Devuelve resúmenes de espacios de trabajo ordenados por la última visita.
create_workspaceCrea un nuevo espacio de trabajo Huly. Devuelve el UUID y la URL del espacio de trabajo. Opcionalmente, especifica una región.
delete_workspaceElimina permanentemente el espacio de trabajo actual. Esta acción no se puede deshacer. Úsala con extrema precaución.
get_user_profileObtiene la información del perfil del usuario actual, incluidos biografía, ubicación y enlaces sociales.
update_user_profileActualiza el perfil del usuario actual. Admite biografía, ciudad, país, sitio web, enlaces sociales y visibilidad pública.
update_guest_settingsActualiza la configuración de invitados del espacio de trabajo. Controla el acceso de solo lectura para invitados y los permisos de registro de invitados.
create_access_linkCrea un enlace de acceso al espacio de trabajo Huly. Cuando se omite el rol, rol=GUEST. Admite enlaces de invitado reutilizables anónimos configurando personalized=false con notBefore y expiration, y puede restringir el acceso a IDs de espacios Huly específicos mediante spaces.
get_regionsObtiene las regiones disponibles para la creación de espacios de trabajo. Devuelve códigos de región y nombres para mostrar.

Aprobaciones

HerramientaDescripción
list_approval_requestsLista documentos genéricos de solicitud de aprobación Huly del paquete SDK publicado @hcengineering/request. Esto es descubrimiento de solo lectura: filtra por estado, ID de documento attachedTo sin procesar y/o ID de clase attachedToClass sin procesar cuando conoces el documento de destino. Omite filtros para inspeccionar solicitudes de aprobación recientes en todos los módulos.
get_approval_requestLee un documento genérico de solicitud de aprobación Huly por _id de solicitud sin procesar. Devuelve referencias de persona con metadatos de contacto de mejor esfuerzo más las cargas útiles opacas de SDK tx/rejectedTx para inspección; las mutaciones de aprobación no se exponen intencionalmente mediante esta herramienta de solo lectura.
add_approval_requestCrea una solicitud de aprobación genérica de Huly adjunta a cualquier documento de destino. Proporciona attachedTo y attachedToClass sin procesar del destino, personas solicitadas como IDs de Persona o identificadores exactos de correo electrónico/nombre, y una carga útil real opaca de SDK Huly tx. Omite space para resolverlo desde el destino; collection se establece por defecto en requests. Devuelve el nuevo ID de solicitud sin realizar una lectura posterior a escritura propensa a obsolescencia inmediata.
add_approval_request_commentAgrega un comentario de markdown simple a una solicitud de aprobación por _id de solicitud. Los enlaces de markdown a URLs de navegación Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Esto no aprueba, rechaza, cancela ni crea un mixin de comentario de decisión.
approve_approval_requestAprueba una solicitud de aprobación activa como el usuario Huly actual. La referencia de Empleado/Persona del usuario actual debe estar en la lista de solicitados de la solicitud. Opcionalmente, adjunta un comentario de decisión en markdown antes de la aprobación. Los enlaces de markdown a URLs de navegación Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Si el usuario actual ya la aprobó, devuelve changed=false.
reject_approval_requestRechaza una solicitud de aprobación activa como el usuario Huly actual y adjunta el comentario de decisión de rechazo en markdown requerido. Los enlaces de markdown a URLs de navegación Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Huly aplica rejectedTx cuando está presente.
cancel_approval_requestCancela una solicitud de aprobación activa creada por el usuario Huly actual. Esta es la operación segura de eliminación del flujo de trabajo; la eliminación dura no se expone intencionalmente.

Tableros

HerramientaDescripción
list_boardsLista los tableros Huly de @hcengineering/board, ordenados por nombre. Los tableros son espacios respaldados por task.Project; este no es el módulo separado de Tarjetas Huly.
get_boardObtiene un tablero Huly por _id de tablero o nombre exacto de tablero. Devuelve metadatos del tablero, tipo de proyecto y recuento de tarjetas.
create_boardCrea un tablero Huly. Idempotente por nombre exacto de tablero activo; pasa projectType por _id o nombre exacto solo cuando el tipo de proyecto predeterminado del tablero es ambiguo.
update_boardActualiza el nombre, la descripción o la privacidad de un tablero Huly. board acepta _id de tablero o nombre exacto de tablero.
archive_boardArchiva un tablero Huly por _id de tablero o nombre exacto de tablero. Esto oculta el tablero pero no elimina tarjetas.
unarchive_boardDesarchiva un tablero Huly por _id de tablero o nombre exacto de tablero.
list_board_cardsLista las tarjetas en un tablero de @hcengineering/board. board acepta _id de tablero o nombre exacto de tablero; las tarjetas se ordenan primero por modificación más reciente.
get_board_cardObtiene una tarjeta de tablero. board acepta _id de tablero o nombre exacto de tablero; card acepta _id de tarjeta, CARD-123, número simple 123 o título exacto limitado al tablero.
create_board_cardCrea una tarjeta de tablero con valores predeterminados seguros. Resuelve kind/status desde el tipo de proyecto del tablero, incrementa la secuencia de número CARD y almacena la descripción en markdown como Markup Huly en línea. Los enlaces de markdown a URLs de navegación Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_board_cardActualiza campos de tarjeta de tablero: título, descripción en markdown, estado, asignado, miembros, ubicación, portada, startDate y dueDate. Los enlaces de markdown a URLs de navegación Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Usa null para borrar campos borrables.
archive_board_cardArchiva una tarjeta de tablero. card acepta _id, CARD-123, número simple o título exacto limitado al tablero.
unarchive_board_cardDesarchiva una tarjeta de tablero. card acepta _id, CARD-123, número simple o título exacto limitado al tablero.
delete_board_cardElimina permanentemente una tarjeta de tablero ya archivada usando Huly removeCollection. Las tarjetas activas se rechazan; llama a archive_board_card primero.
list_board_labelsLista las definiciones de etiquetas de tablero. Las etiquetas de tablero son filas TagElement de @hcengineering/tags para tarjetas de tablero, con targetClass = @hcengineering/board Card.
create_board_labelCrea una definición de etiqueta de tablero para tarjetas de tablero. Idempotente por título exacto cuando una etiqueta coincide; usa board.category.Other cuando no existe una categoría predeterminada.
update_board_labelActualiza una definición de etiqueta de tablero por _id de TagElement o título exacto. Se requiere al menos uno de título, color, descripción o categoría.
delete_board_labelElimina una definición de etiqueta de tablero por _id de TagElement o título exacto. Esto elimina la definición de etiqueta, no una tarjeta de tablero.
list_board_card_labelsLista las etiquetas de tablero adjuntas a una tarjeta de tablero. Resuelve el tablero por _id/nombre y la tarjeta por _id, CARD-123, número simple o título exacto.
add_board_card_labelAdjunta una etiqueta de tablero a una tarjeta de tablero. Si la etiqueta es un título nuevo, crea primero la definición de etiqueta de tarjeta de tablero; las llamadas repetidas son idempotentes.
remove_board_card_labelDesadjunta una etiqueta de tablero de una tarjeta de tablero. Devuelve detached=false cuando la etiqueta existe pero no está adjunta a esa tarjeta.
list_board_menu_pagesLista de solo lectura de documentos del modelo de página de menú del tablero. Filtros de página opcionales por _id de MenuPage, pageId sin procesar, alias main/archive o etiqueta exacta.
list_board_saved_viewsLista de solo lectura de vistas filtradas guardadas del tablero. Consulta view.class.FilteredView donde attachedTo = board.app.Board e informa visibilidad propia/compartida.
get_board_saved_viewLee una vista filtrada guardada del tablero por _id de FilteredView o nombre exacto, limitada a attachedTo = board.app.Board. No se realizan escrituras de vistas guardadas.
list_board_viewletsLista de solo lectura de viewlets de tarjetas de tablero. Consulta view.class.Viewlet con attachTo = board.class.Card e incluye metadatos de descriptor más configuraciones coincidentes de ViewletPreference.
get_board_common_preferenceLee la fila CommonBoardPreference adjunta a board.app.Board. Devuelve present=false cuando la fila de preferencia está ausente y nunca la crea.

Tarjetas

HerramientaDescripción
list_card_commentsLista los comentarios genuinamente adjuntos a una tarjeta de Huly, del más antiguo al más reciente. Resuelve el espacio de la tarjeta por nombre o ID exacto y la tarjeta por título o ID exacto. Incluye comentarios creados por este servidor MCP y convenciones compatibles de comentarios de tarjetas de la interfaz de Huly.
add_card_commentAñade un comentario en markdown a una tarjeta de Huly, resolviendo el espacio de la tarjeta por nombre o ID exacto y la tarjeta por título o ID exacto. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_card_commentActualiza un comentario que pertenece a la tarjeta de Huly resuelta. Resuelve el espacio de la tarjeta por nombre o ID exacto y la tarjeta por título o ID exacto. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
delete_card_commentElimina permanentemente un comentario que pertenece a la tarjeta de Huly resuelta. Resuelve el espacio de la tarjeta por nombre o ID exacto y la tarjeta por título o ID exacto. Esta acción no se puede deshacer.
list_card_spacesLista todos los espacios de tarjetas de Huly. Devuelve los espacios de tarjetas ordenados por nombre. Los espacios de tarjetas son contenedores para tarjetas.
list_master_tagsLista las etiquetas maestras (tipos de tarjeta) disponibles en un espacio de tarjetas de Huly. Las etiquetas maestras definen el tipo/esquema de las tarjetas que se pueden crear en un espacio.
list_cardsLista las tarjetas en un espacio de tarjetas de Huly. Devuelve las tarjetas ordenadas por fecha de modificación (más recientes primero). Admite filtrado por tipo (etiqueta maestra), subcadena de título y búsqueda de contenido.
get_cardRecupera los detalles completos de una tarjeta de Huly, incluido el contenido en markdown. Cuando Huly proporciona un número de versión coherente y una identidad de cadena, los devuelve juntos en un solo objeto de versión; los campos de versión parciales o nulos se omiten.
list_card_versionsLee una página del historial de versiones de una tarjeta de Huly utilizando cualquier ID de tarjeta de versión o título exacto. Devuelve entradas deterministas ordenadas de la más antigua a la más reciente, un total autoritativo para el historial completo y hasMore cuando el límite trunca la página. Las tarjetas sin versiones devuelven una entrada sin metadatos de versión. Esta herramienta nunca crea ni restaura versiones.
create_cardCrea una nueva tarjeta en un espacio de tarjetas de Huly. Requiere una etiqueta maestra (tipo de tarjeta). El contenido admite formato markdown. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Devuelve el id de la tarjeta creada.
update_cardActualiza campos en una tarjeta de Huly existente. Solo se modifican los campos proporcionados. Las actualizaciones de contenido admiten markdown. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
delete_cardElimina permanentemente una tarjeta de Huly. Esta acción no se puede deshacer.

Colaboradores

HerramientaDescripción
list_object_collaboratorsLista los colaboradores de notificación en un problema, documento u objeto sin procesar de Huly. Prefiere objetivos amigables: proyecto+identificadorDeProblema para problemas o espacioDeEquipo+documento para documentos. Los llamadores avanzados pueden pasar objectId+objectClass directamente.
add_object_collaboratorSuscribe a un miembro del espacio de trabajo a las notificaciones de objetos añadiendo una fila de colaborador principal. El miembro puede ser un UUID de cuenta, un nombre exacto de empleado/persona o un correo electrónico. Idempotente cuando ya está suscrito.
remove_object_collaboratorCancela la suscripción de un miembro del espacio de trabajo a las notificaciones de objetos eliminando su fila de colaborador. El miembro puede ser un UUID de cuenta, un nombre exacto de empleado/persona o un correo electrónico. Idempotente cuando ya está ausente.

Campos-Personalizados

HerramientaDescripción
list_custom_fieldsLista las definiciones de campos personalizados en el espacio de trabajo. Devuelve los campos con sus etiquetas, tipos e información de clase propietaria. Los campos personalizados se crean en la interfaz de Huly en Tipos de tarjeta, Tipos de problema u otras clases. Usa targetClass para filtrar campos para una clase específica.
get_custom_field_valuesLee los valores de campos personalizados de un documento. Pasa el ID y la clase del documento (de list_cards, list_issues, etc.). Devuelve todos los valores de campos personalizados encontrados en el documento con sus etiquetas y tipos.
set_custom_fieldEstablece un valor de campo personalizado en un documento. Requiere el ID del documento, la clase, el ID del campo (de list_custom_fields) y el valor. Los valores se analizan antes de que Huly los escriba: números de cadenas numéricas, booleanos de 'true'/'false' y cadenas tal cual. Los campos de fecha aceptan solo una fecha de calendario real YYYY-MM-DD (medianoche UTC) o una cadena canónica no negativa de milisegundos de época de 0 a 8640000000000000. Si se rechaza una fecha, elimina cualquier hora, sufijo de zona horaria, signo, espacio en blanco, decimal o exponente y reintenta con una de esas formas exactas.

Drive

HerramientaDescripción
list_drivesLista los espacios de Huly Drive. Cuando se omite includeArchived, includeArchived=undefined. Usa esto antes de operaciones de ruta cuando no conoces el id exacto del drive o el nombre exacto del drive.
get_driveObtiene un Huly Drive por id exacto del drive o nombre exacto del drive. Si un nombre exacto es ambiguo, el error incluye ids candidatos para que la siguiente llamada pueda usar el id.
create_driveCrea idempotentemente un espacio de Huly Drive. Si ya existe un Drive activo con el mismo nombre exacto, lo devuelve con created=false. Los miembros y propietarios iniciales aceptan UUIDs de cuenta, correos electrónicos exactos o nombres de persona exactos; las listas omitidas se establecen por defecto al llamador.
update_driveActualiza metadatos seguros en un Drive existente: nombre, descripción, privado, archivado o autoJoin. Proporciona al menos un campo de actualización. Esto cambia el espacio del Drive, no los archivos o carpetas dentro de él.
delete_driveElimina permanentemente un espacio de Huly Drive vacío. El Drive no debe contener archivos ni carpetas; los Drives no vacíos fallan con el recuento de hijos y resúmenes de elementos. Esto es eliminación permanente, no archivo o papelera.
add_drive_membersAñade idempotentemente miembros a un Drive existente. Los miembros aceptan UUIDs de cuenta, correos electrónicos exactos o nombres de persona exactos y se resuelven a UUIDs de cuenta de Huly antes de reemplazar la lista de miembros del Drive.
remove_drive_membersElimina idempotentemente miembros de un Drive existente. Los miembros aceptan UUIDs de cuenta, correos electrónicos exactos o nombres de persona exactos y se resuelven a UUIDs de cuenta de Huly antes de reemplazar la lista de miembros del Drive.
set_drive_ownersReemplaza los propietarios en un Drive existente. Los propietarios aceptan UUIDs de cuenta, correos electrónicos exactos o nombres de persona exactos. Por defecto, cada propietario también se asegura como miembro del Drive. Pasa owners=[] para limpiar los propietarios.
list_drive_itemsLista los hijos bajo una ruta de carpeta en un Drive. Las rutas son similares a POSIX y se normalizan a absolutas; '/' lista la raíz. Los títulos duplicados del mismo padre fallan con ids candidatos en lugar de adivinar.
get_drive_itemObtiene una carpeta o archivo de Drive por itemId exacto o ruta. Proporciona solo un localizador. Los resultados de archivos incluyen la versión actual, tamaño, tipo MIME y URL de descarga cuando está disponible.
list_drive_file_commentsLista los comentarios en un archivo de Drive resuelto por filePath o fileId. Proporciona solo un localizador. Devuelve los comentarios ordenados por fecha de creación, del más antiguo al más reciente.
add_drive_file_commentAñade un comentario en Markdown a un archivo de Drive resuelto por filePath o fileId. Proporciona solo un localizador. El comentario se adjunta directamente al archivo. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_drive_file_commentActualiza un comentario en un archivo de Drive resuelto por filePath o fileId. Proporciona solo un localizador. Idempotente cuando el cuerpo del comentario no cambia. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
delete_drive_file_commentElimina permanentemente un comentario de un archivo de Drive resuelto por filePath o fileId. Proporciona solo un localizador. Esto elimina el comentario, no el archivo.
list_drive_file_activityLista los mensajes de actividad de un archivo de Drive resuelto por filePath o fileId. Proporciona solo un localizador. Devuelve la actividad ordenada por fecha, de la más reciente a la más antigua.
create_drive_folderCrea idempotentemente una ruta de carpeta de Drive, creando los padres faltantes como mkdir -p. Devuelve created=false cuando la ruta de carpeta completa ya existe.
upload_drive_fileSube un archivo a Drive en una ruta completa incluido el nombre del archivo. Proporciona exactamente una fuente: filePath se resuelve en el host del servidor MCP, data es contenido base64 local del cliente y fileUrl es obtenido por el servidor MCP. Por defecto, createParents=true crea las carpetas padre faltantes y las informa.
upload_drive_file_versionSube una nueva versión para un archivo de Drive existente resuelto por id de archivo o ruta de archivo. Proporciona exactamente una fuente: filePath se resuelve en el host del servidor MCP, data es contenido base64 local del cliente y fileUrl es obtenido por el servidor MCP. Esto incrementa el contador de versiones del archivo y hace que la versión subida sea la actual.
move_drive_itemMueve un elemento de Drive, es decir, un archivo o carpeta, a otra ruta de carpeta existente en el mismo Drive sin renombrarlo. Idempotente cuando el elemento ya está en esa carpeta. Rechaza colisiones de títulos hermanos y rechaza mover una carpeta dentro de sí misma o de un descendiente.
rename_drive_itemRenombra un elemento de Drive, es decir, un archivo o carpeta, en su carpeta actual. Idempotente cuando el título no cambia. Rechaza colisiones de títulos hermanos; usa move_drive_item para cambiar de carpeta.
delete_drive_itemElimina permanentemente un elemento de Drive, es decir, un archivo o carpeta. Los archivos se eliminan con sus registros de versión. Las carpetas deben estar vacías; las carpetas no vacías fallan con el recuento de hijos y resúmenes de hijos. Esto es eliminación permanente, no archivo o papelera.
list_drive_file_versionsLista las versiones de un archivo de Drive resuelto por id de archivo o ruta de archivo. Marca la versión actual e incluye id de blob, tamaño, tipo MIME, lastModified y URL de descarga.
restore_drive_file_versionRestaura una versión existente de un archivo de Drive por id de versión o versión numérica. Idempotente cuando la versión solicitada ya es la actual y no incrementa el contador de versiones del archivo.

Hr

HerramientaDescripción
list_departmentsLista los departamentos de RR. HH. con rutas completas exactas, jerarquía, gerentes, suscriptores, líder de equipo, asignaciones directas de Staff, recuento de miembros derivado del servidor y contadores estables. Alcance por ruta/ID de padre exacto; recursive=false devuelve hijos directos.
get_departmentObtiene un departamento de RR. HH. por ruta exacta separada por barras o ID de departamento.
create_departmentCrea un departamento de RR. HH. de nivel superior o anidado. El padre y las personas usan rutas/IDs/nombres/correos exactos y rechazan ambigüedad. Los nombres no pueden contener '/'. Department.members comienza vacío y permanece derivado del servidor.
update_departmentRenombra, mueve o reemplaza metadatos y personas del departamento. Rechaza nombres duplicados entre hermanos, ciclos de padre y movimientos de subárboles con miembros derivados del servidor; limpia las asignaciones Staff.department antes de mover un subárbol poblado. newParent=null mueve a nivel superior; teamLead=null lo limpia. Nunca escribe Department.members.
delete_departmentPrevisualiza el impacto destructivo por defecto. La ejecución requiere execute=true más recuentos exactos previsualizados de descendientes y Staff asignado; Huly luego elimina en cascada los descendientes y limpia las asignaciones de Staff afectadas.
list_staffLista el Staff de RR. HH. y las asignaciones de departamento autoritativas. Opcionalmente, alcance por ruta/ID de departamento exacto, incluya descendientes y filtre el estado activo del Empleado.
assign_staff_departmentAsigna un ID/correo/nombre visible de empleado exacto escribiendo solo Staff.department autoritativo. Use department=null para limpiar. La propagación de la jerarquía de Department.members se realiza de forma asíncrona mediante el disparador del servidor de Huly.
list_hr_request_commentsLista los comentarios adjuntos directamente a un ID de solicitud de RR. HH. exacto, con metadatos de total y truncamiento.
add_hr_request_commentAgrega un comentario Markdown directamente a un ID de solicitud de RR. HH. exacto.
update_hr_request_commentActualiza un comentario que pertenece directamente a una solicitud de RR. HH. exacta.
delete_hr_request_commentElimina un comentario que pertenece directamente a una solicitud de RR. HH. exacta.
list_hr_request_attachmentsLista los archivos adjuntos directamente a un ID de solicitud de RR. HH. exacto, con metadatos de total y truncamiento.
get_hr_request_attachmentObtiene un archivo que pertenece directamente a una solicitud de RR. HH. exacta.
add_hr_request_attachmentAdjunta un archivo a una solicitud de RR. HH. exacta. Proporcione filename, contentType y exactamente uno de filePath, fileUrl o datos base64.
update_hr_request_attachmentActualiza la descripción y/o el estado fijado de un archivo que pertenece directamente a una solicitud de RR. HH. exacta.
delete_hr_request_attachmentElimina un archivo que pertenece directamente a una solicitud de RR. HH. exacta.
list_hr_request_typesDescubre los tipos de solicitud de RR. HH. instalados por ID estable y etiqueta humana traducida por Huly. Establezca locale a un locale de Huly compatible, como fr; las etiquetas de cualquier locale compatible pueden ser usadas por las herramientas de solicitud, mientras que las etiquetas ambiguas se rechazan. La mutación de tipos de solicitud no es compatible intencionalmente porque Huly los instala como documentos de espacio de modelo y no expone un contrato de mutación de tiempo de ejecución estable.
list_hr_requestsLista las solicitudes de RR. HH. con filtros exactos opcionales de empleado, departamento y tipo de solicitud. Las fechas de calendario son valores inclusivos YYYY-MM-DD almacenados con desplazamiento UTC 0. Cada coincidencia se carga desde Huly antes de aplicar la página de salida intencional; los resultados incluyen metadatos de total, truncamiento y continuación nextOffset.
get_hr_requestObtiene una solicitud de RR. HH. por el ID de solicitud sin procesar exacto devuelto por list_hr_requests.
create_hr_requestCrea una solicitud de RR. HH. adjunta a un empleado usando resolución exacta de empleado, departamento y tipo de solicitud. Las fechas son fechas de calendario inclusivas en formato YYYY-MM-DD y las descripciones aceptan Markdown con referencias nativas de Huly.
update_hr_requestActualiza campos seleccionados de una solicitud de RR. HH. por ID de solicitud exacto. Los localizadores de departamento y tipo se resuelven exactamente; los campos omitidos se conservan. Las fechas permanecen como fechas de calendario inclusivas YYYY-MM-DD.
delete_hr_requestElimina una solicitud de RR. HH. exacta. Sus comentarios y archivos adjuntos son colecciones adjuntas propiedad de Huly y siguen el ciclo de vida de eliminación de la solicitud.
list_public_holidaysLista los documentos de días festivos públicos con filtros opcionales exactos de departamento y fecha inclusiva. includeInherited agrega explícitamente cada departamento ancestro; nunca agrega descendientes. Los resultados se cargan completamente desde Huly antes de aplicar la página de salida intencional, e incluyen metadatos de total, truncado y nextOffset.
get_public_holidayObtiene un documento de día festivo público por el ID sin procesar exacto devuelto por list_public_holidays.
create_public_holidayCrea un día festivo público para un ID de departamento exacto o ruta completa. La fecha es un día de calendario gregoriano independiente de la zona horaria almacenado como Huly TzDate con desplazamiento UTC 0; los pares duplicados departamento/fecha se rechazan.
update_public_holidayActualiza campos seleccionados de un ID de día festivo público exacto. Las rutas de departamento se resuelven exactamente y los pares duplicados departamento/fecha se rechazan. Los campos omitidos se conservan sin una consulta de lectura después de escritura.
delete_public_holidayElimina permanentemente un documento de día festivo público por ID sin procesar exacto.
get_hr_scheduleDevuelve cada solicitud de RR. HH. que se superpone con un rango de fechas de calendario UTC inclusivo, cada documento de día festivo aplicable y una celda de día por fecha. El alcance del departamento incluye departamentos anidados por defecto; la herencia de días festivos asciende desde cada departamento con alcance por defecto. No se aplica límite de resultados y complete=true certifica la paginación completa del cursor.
get_hr_tableDevuelve una tabla de empleados completa para un rango de fechas de calendario UTC inclusivo. Los días laborables base son de lunes a viernes menos las fechas de días festivos heredados aplicables; los tipos de solicitud negativos consumen días laborables no festivos, los tipos positivos agregan unidades de días de calendario y los tipos cero no agregan nada. No se aplica límite de resultados.
get_hr_summary_reportDevuelve totales de solicitudes completos agrupados por departamento exacto y tipo de solicitud para un rango de fechas UTC inclusivo. Las solicitudes se recortan al rango; los días de calendario incluyen fines de semana, los días laborables excluyen fines de semana y días festivos heredados aplicables, y las unidades firmadas siguen los valores de tipo de solicitud de Huly. No se aplica límite de resultados.

Inventario

HerramientaDescripción
list_inventory_product_attachmentsLista los archivos adjuntos directamente a un producto de inventario resuelto por ID de producto o nombre exacto. Pase category para desambiguar nombres de producto duplicados.
get_inventory_product_attachmentObtiene un archivo adjunto directamente a un producto de inventario. El attachmentId debe pertenecer al producto resuelto.
add_inventory_product_attachmentAgrega un archivo a un producto de inventario resuelto por ID de producto o nombre exacto. Proporcione exactamente una fuente: filePath se resuelve en el host del servidor MCP, data es contenido base64 local del cliente y fileUrl es obtenido por el servidor MCP.
update_inventory_product_attachmentActualiza la descripción y/o el estado fijado de un archivo adjunto directamente a un producto de inventario. El attachmentId debe pertenecer al producto resuelto.
delete_inventory_product_attachmentElimina permanentemente un archivo adjunto directamente a un producto de inventario. El attachmentId debe pertenecer al producto resuelto.
list_inventory_product_photosLista las fotos adjuntas directamente a un producto de inventario resuelto por ID de producto o nombre exacto. Pase category para desambiguar nombres de producto duplicados.
get_inventory_product_photoObtiene una foto adjunta directamente a un producto de inventario. El photoId debe pertenecer al producto resuelto.
add_inventory_product_photoAgrega una foto a un producto de inventario usando la colección de fotos de productos de Huly. Proporcione exactamente una fuente: filePath se resuelve en el host del servidor MCP, data es contenido base64 local del cliente y fileUrl es obtenido por el servidor MCP.
update_inventory_product_photoActualiza la descripción y/o el estado fijado de una foto adjunta directamente a un producto de inventario. El photoId debe pertenecer al producto resuelto.
delete_inventory_product_photoElimina permanentemente una foto adjunta directamente a un producto de inventario. El photoId debe pertenecer al producto resuelto.
list_inventory_product_commentsLista los comentarios adjuntos directamente a un producto de inventario resuelto por ID de producto o nombre exacto. Devuelve los comentarios del más antiguo al más reciente.
add_inventory_product_commentAgrega un comentario Markdown directamente a un producto de inventario resuelto por ID de producto o nombre exacto. Pase category para desambiguar nombres duplicados. Los enlaces Markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_inventory_product_commentActualiza un comentario adjunto directamente a un producto de inventario. El commentId debe pertenecer al producto resuelto. Los enlaces Markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
delete_inventory_product_commentElimina permanentemente un comentario adjunto directamente a un producto de inventario. El commentId debe pertenecer al producto resuelto.
list_inventory_product_activityLista los mensajes de actividad para un producto de inventario resuelto por ID de producto o nombre exacto. Esto es historial de auditoría/actividad de solo lectura, del más reciente al más antiguo.
list_inventory_categoriesLista las categorías de inventario ordenadas por nombre. Omita parentCategory para buscar todas las categorías, o pase un ID/nombre exacto/raíz de categoría padre para listar hijos directos. query filtra nombres sin distinción de mayúsculas y minúsculas.
get_inventory_categoryObtiene una categoría de inventario por ID o nombre exacto. Si el nombre está duplicado bajo diferentes padres, pase parentCategory o use el ID de categoría.
create_inventory_categoryCrea una categoría de inventario. Establece parentCategory por defecto a la raíz de Inventario. Rechaza nombres de categoría duplicados bajo el mismo padre.
update_inventory_categoryRenombra y/o mueve una categoría de inventario. category acepta ID o nombre exacto; pase parentCategory cuando un nombre pueda estar duplicado. Rechaza nombres duplicados en el padre de destino y movimientos a sí mismo/descendientes.
delete_inventory_categoryElimina una categoría de inventario vacía por ID o nombre exacto. Rechaza categorías que aún contengan categorías hijas o productos; esta acción no se propaga en cascada.
list_inventory_productsLista los productos de inventario ordenados por nombre. Opcionalmente, alcance a categoría por ID/nombre exacto y filtre nombres de producto con query.
get_inventory_productObtiene un producto de inventario por ID o nombre de producto exacto. Si los nombres de producto están duplicados, pase category o use el ID de producto.
create_inventory_productCrea un producto de inventario en una categoría resuelta por ID o nombre exacto. Rechaza nombres de producto duplicados en la misma categoría.
update_inventory_productRenombra y/o mueve un producto de inventario. product acepta ID o nombre exacto; pase category cuando un nombre pueda estar duplicado. Rechaza nombres duplicados en la categoría de destino.
delete_inventory_productElimina un producto de inventario por ID o nombre exacto. Rechaza productos con variantes, fotos, archivos adjuntos o comentarios; esta acción no se propaga en cascada.
list_inventory_variantsLista las variantes/SKUs de inventario ordenadas por nombre. Opcionalmente, alcance a producto por ID/nombre exacto; category puede desambiguar nombres de producto. query filtra nombres de variante y SKUs.
get_inventory_variantObtiene una variante de inventario por ID, nombre de variante exacto o SKU exacto. Si el nombre/SKU está duplicado, pase product o use el ID de variante.
create_inventory_variantCrea una variante/SKU de inventario bajo un producto resuelto por ID o nombre exacto. Rechaza nombres de variante o SKUs duplicados en el mismo producto.
update_inventory_variantRenombra y/o cambia el SKU de una variante de inventario. variant acepta ID, nombre exacto o SKU exacto; pase product cuando sea necesario. Rechaza nombres o SKUs duplicados en el mismo producto.
delete_inventory_variantElimina una variante/SKU de inventario por ID, nombre de variante exacto o SKU exacto. Esta acción no elimina su producto.

Etiquetas

HerramientaDescripción
list_labelsLista las definiciones de etiquetas/etiquetas en el espacio de trabajo. Las etiquetas son globales (no están limitadas a un proyecto). Devuelve las etiquetas de los problemas del rastreador ordenadas por fecha de modificación (más recientes primero).
create_labelCrea una nueva definición de etiqueta/etiqueta en el espacio de trabajo. Las etiquetas son globales y se pueden adjuntar a cualquier problema. Devuelve la etiqueta existente si ya existe una con el mismo título (creado=false). Usa add_issue_label para adjuntar una etiqueta a un problema específico.
update_labelActualiza una definición de etiqueta/etiqueta. Acepta el ID o el título de la etiqueta. Solo se modifican los campos proporcionados.
delete_labelElimina permanentemente una definición de etiqueta/etiqueta. Acepta el ID o el título de la etiqueta. Esta acción no se puede deshacer.

Leads

HerramientaDescripción
list_lead_commentsLista los comentarios nativos en un lead resuelto por ID/nombre exacto del embudo y LEAD-. Devuelve Markdown con las referencias nativas de Huly preservadas.
add_lead_commentAgrega un comentario en Markdown a un lead exacto. Los enlaces de Huly del espacio de trabajo actual se almacenan como referencias nativas.
update_lead_commentActualiza un comentario que pertenece a un lead exacto; los comentarios adjuntos en otro lugar son rechazados. Las referencias nativas de Markdown se preservan.
delete_lead_commentElimina un comentario solo cuando pertenece al lead objetivo exacto.
list_lead_attachmentsLista las referencias de adjuntos nativos que pertenecen a un lead exacto.
add_lead_attachmentSube una ruta local, URL o carga útil en base64 y adjunta la referencia de archivo nativa a un lead exacto.
get_lead_attachmentObtiene metadatos y una URL de descarga para un adjunto solo cuando pertenece a un lead exacto.
update_lead_attachmentActualiza la descripción o el estado de fijado de un adjunto solo cuando pertenece a un lead exacto.
delete_lead_attachmentElimina un adjunto solo cuando pertenece a un lead exacto. La referencia de blob nativa permanece gobernada por la limpieza de almacenamiento de Huly.
list_lead_label_definitionsLista las definiciones de etiquetas nativas reutilizables cuya clase objetivo es Lead, sin IDs de clase sin procesar. Devuelve el total coincidente completo y si la página limitada está truncada.
list_lead_labelsLista las relaciones de etiqueta TagReference nativas adjuntas a un lead exacto.
add_lead_labelAdjunta de forma idempotente una relación de etiqueta a un lead exacto. Acepta un ID de definición o un título exacto; un título faltante crea la definición de etiqueta Lead.
update_lead_labelActualiza el peso opcional publicado en cada relación TagReference coincidente para un lead y etiqueta exactos.
remove_lead_labelElimina de forma idempotente todas las relaciones TagReference coincidentes de un lead exacto sin eliminar la definición de etiqueta reutilizable.
list_funnelsLista todos los embudos de ventas de Huly (canales de leads). Devuelve el ID estable y el nombre para mostrar de cada embudo, ordenados por nombre. Admite filtrado por estado de archivado.
get_funnelObtiene un embudo por _id estable o nombre exacto. Los nombres ambiguos son rechazados. Devuelve la proyección completa estable de Embudo/Proyecto, el flujo de trabajo Lead validado, los recuentos de contenido, el impacto de eliminación y clasificaciones explícitas de campos no admitidos.
create_funnelCrea un embudo nativo de Huly después de validar su tipo de proyecto Embudo, tipos de tareas Lead, estados de flujo de trabajo, membresía y propietarios. La descripción completa acepta Markdown y preserva las referencias nativas del espacio de trabajo actual. La creación es idempotente solo para un nombre existente exacto; el resultado informa explícitamente si ese embudo existente está archivado, y los nombres ambiguos son rechazados.
update_funnelActualiza un embudo resuelto por _id estable o nombre inequívoco exacto. Valida el tipo de proyecto Embudo/flujo de trabajo y la membresía existentes antes de la mutación. Null borra la descripción o fullDescription; las referencias nativas de Markdown se preservan.
archive_funnelArchiva un embudo sin eliminarlo. Devuelve el impacto en leads/comentarios/adjuntos para que el llamador pueda evaluar el contenido nativo oculto. Los embudos ya archivados son una operación no operativa idempotente.
delete_funnelElimina permanentemente un embudo exacto solo después de que esté archivado y vacío. Primero llama a get_funnel o archive_funnel, luego pasa los recuentos de impacto observados como expectedLeads, expectedComments y expectedAttachments. La eliminación falla si algún recuento cambió después de esa instantánea previa.
list_leadsConsulta leads de Huly en un embudo con filtros opcionales. Pasa el ID del embudo devuelto por list_funnels, o un nombre de embudo para una búsqueda conveniente. Devuelve leads ordenados por fecha de modificación (más recientes primero). Admite filtrado por estado, asignado y búsqueda de título.
get_leadRecupera un lead de Huly exacto dentro del embudo con descripciones en Markdown, identidad/tipo de cliente, tipo de tarea y estado del flujo de trabajo, rango/finalización, recuentos de colecciones nativas, marcas de tiempo de actor, identidad del embudo y clasificaciones explícitas para campos sin semántica publicada estable. Los identificadores de lead usan LEAD-.
create_leadCrea un lead nativo de Huly en un embudo activo para una persona u organización existente. Resuelve el embudo por ID o nombre exacto; identifica al cliente explícitamente como persona u organización; opcionalmente elige un asignado empleado, un estado de flujo de trabajo coincidente exactamente después de la normalización (recortado, sin distinguir mayúsculas y minúsculas, e ignorando espacios, guiones y guiones bajos), y descripción en Markdown. Aplica automáticamente el mixin Customer cuando sea necesario, preserva las referencias nativas de Huly y devuelve tanto leadId como LEAD-. Esta herramienta nunca crea una persona u organización en línea.
update_leadActualiza un lead nativo de Huly por ID de embudo o nombre exacto e identificador LEAD-. Los campos admitidos son título, descripción en Markdown, un estado de flujo de trabajo coincidente exactamente después de la normalización (recortado, sin distinguir mayúsculas y minúsculas, e ignorando espacios, guiones y guiones bajos), asignado empleado, fecha de inicio, fecha de vencimiento y descripción del mixin Customer. Los campos omitidos no cambian; pasa null explícitamente para borrar descripción, asignado, fechas o descripción del cliente. Las personas existentes se resuelven exactamente y los identificadores ambiguos fallan.
move_leadMueve un lead nativo de Huly a otro embudo activo después de validar ambos tipos de proyecto Embudo nativos y flujos de trabajo Lead. Pasa un estado de destino coincidente exactamente después de la normalización (recortado, sin distinguir mayúsculas y minúsculas, e ignorando espacios, guiones y guiones bajos), u omite el estado para mapear el nombre del estado actual; los mapeos incompatibles o ambiguos fallan sin escribir.
delete_leadPrevisualiza el impacto de la eliminación de un lead nativo de forma predeterminada. La vista previa lee recuentos autoritativos de comentarios, adjuntos y relaciones de etiquetas. Para eliminar permanentemente, pasa execute=true junto con los recuentos exactos devueltos por la vista previa; la eliminación falla si el impacto cambió.

Correo

HerramientaDescripción
list_mail_threadsDescubre metadatos de hilos de correo de Huly de solo lectura en una llamada: títulos de canales externos, espacios resueltos por humanos, marcas de tiempo y hasta 10 resúmenes de asuntos de hijos más recientes por canal. Esto no devuelve cuerpos de mensajes ni adjuntos y nunca envía, responde, muta ni informa la capacidad de buzón/entrega. Un channelTitle puede parecerse a un correo de destinatario de replicación, pero no prueba un corresponsal o un buzón configurado. Omite filtros para listar canales recientes; filtra por nombre/ID de espacio exacto o subcadena de título de canal sin distinguir mayúsculas y minúsculas. Los hilos vacíos son un resultado admitido.

Plantillas

HerramientaDescripción
list_message_template_categoriesLista las categorías globales de plantillas de mensajes de Huly. Las categorías agrupan plantillas de mensajes reutilizables en todo el espacio de trabajo. Devuelve IDs de categoría, nombres, descripciones, indicadores de archivado/privado y marcas de tiempo.
list_message_templatesLista las plantillas de mensajes globales de Huly. Opcionalmente filtra por ID de categoría o nombre de categoría exacto, y busca títulos de plantilla por subcadena. Devuelve el ID de cada plantilla, título, resumen de categoría, marcas de tiempo y placeholderFieldIds analizados de tokens de llaves con signo de dólar. Compara placeholderFieldIds con list_message_template_fields.id para etiquetas e IDs de recursos.
get_message_templateRecupera una plantilla de mensaje global de Huly por ID de plantilla o título exacto. Si un título es ambiguo, pasa la categoría como ID de categoría o nombre de categoría exacto. Devuelve el mensaje completo convertido a Markdown más placeholderFieldIds analizados de tokens de llaves con signo de dólar. Compara placeholderFieldIds con list_message_template_fields.id para etiquetas e IDs de recursos.
render_message_templateRenderiza una plantilla de mensaje global de Huly por ID de plantilla o título exacto. Sustituye solo los valores proporcionados por el llamador para los IDs de campos de marcador de posición de llaves con signo de dólar coincidentes de placeholderFieldIds; no ejecuta recursos de proveedor TemplateField de Huly. Los marcadores de posición no resueltos permanecen en renderedMessage y se informan en unresolvedFieldIds.
list_message_template_fieldsLista los campos/marcadores de posición de plantillas de mensajes de Huly sin ejecutar recursos de proveedor ni renderizar plantillas. Opcionalmente filtra por ID de categoría de campo o cadena de etiqueta sin procesar exacta, y busca etiquetas de campo sin procesar por subcadena. Devuelve IDs de campo, etiquetas, resúmenes de categoría e IDs de recursos de proveedor.

Administración de modelos

HerramientaDescripción
create_huly_enumCrea una enumeración de modelo de Huly con valores de opción ordenados. Un nombre exacto sin distinguir mayúsculas y minúsculas es idempotente solo cuando sus valores ordenados coinciden; de lo contrario, la llamada devuelve un conflicto. Esto cambia los metadatos del modelo del espacio de trabajo. Se requiere confirm=true para que un agente no pueda mutar el modelo accidentalmente.
update_huly_enumActualiza una enumeración de modelo de Huly resuelta por ID o nombre exacto. Renombrar y agregar opciones es seguro; eliminar una opción se rechaza mientras cualquier atributo haga referencia a la enumeración. Esto cambia los metadatos del modelo del espacio de trabajo. Se requiere confirm=true para que un agente no pueda mutar el modelo accidentalmente.
delete_huly_enumElimina permanentemente una enumeración de modelo de Huly resuelta por ID o nombre exacto. Rechaza la eliminación mientras cualquier atributo haga referencia a ella. Esto cambia los metadatos del modelo del espacio de trabajo. Se requiere confirm=true para que un agente no pueda mutar el modelo accidentalmente.
create_huly_attributeCrea un Atributo/propiedad personalizado de Huly en una clase resuelta por ID exacto, nombre de cola o etiqueta. Admite tipos de cadena, número, booleano, fecha, marcado, enumeración y referencia; los objetivos de enumeración y referencia también se resuelven por nombre. Los atributos existentes con el mismo nombre son idempotentes solo cuando su definición coincide; de lo contrario, la llamada devuelve un conflicto. Los nuevos registros siempre son isCustom=true. Esto cambia los metadatos del modelo del espacio de trabajo. Se requiere confirm=true para que un agente no pueda mutar el modelo accidentalmente.
update_huly_attributeActualiza el estado de etiqueta, índice, solo automatización u oculto para un Atributo de Huly resuelto por ID o nombre exacto. Pasa la clase por ID/nombre para desambiguar. Los atributos integrados permiten solo actualizaciones de oculto; todas las demás mutaciones integradas están protegidas, y las claves/tipos de propiedad no se pueden cambiar aquí. Ocultar/mostrar usa el comportamiento del SDK ejercido por la configuración de Huly. Esto cambia los metadatos del modelo del espacio de trabajo. Se requiere confirm=true para que un agente no pueda mutar el modelo accidentalmente.
delete_huly_attributeElimina permanentemente un Atributo personalizado de Huly no utilizado resuelto por ID o nombre exacto. Pasa la clase por ID/nombre para desambiguar. Los atributos integrados y los atributos presentes en cualquier documento de clase propietaria están protegidos. Esto cambia los metadatos del modelo del espacio de trabajo. Se requiere confirm=true para que un agente no pueda mutar el modelo accidentalmente.

Planificador

HerramientaDescripción
list_todo_label_definitionsLista las definiciones de etiquetas disponibles para los ToDos del Planificador de Huly mediante una subcadena de título opcional. No expone mecánicas crudas de clase objetivo o categoría.
list_todo_labelsLista las etiquetas adjuntas a un ToDo del Planificador. Resuelve el ToDo por ID crudo o por los mismos localizadores orientados a humanos de problema, título, propietario y finalización utilizados por get_todo.
add_todo_labelAdjunta de forma idempotente una etiqueta a un ToDo del Planificador resuelto por ID crudo o localizador humano. label acepta un ID de definición o un título exacto; un título faltante crea primero la definición de etiqueta del ToDo, mientras que títulos exactos duplicados devuelven IDs candidatos.
remove_todo_labelDesadjunta una etiqueta de un ToDo del Planificador sin eliminar la definición de etiqueta reutilizable. Devuelve detached=false cuando la etiqueta existe pero no está adjunta; títulos exactos duplicados devuelven IDs candidatos.
list_todosLista los ToDos del Planificador de Huly. Una entrada vacía devuelve hasta 50 ToDos en orden del planificador con todos los estados de finalización. Usa filtros de propietario, problema, documento, título, fecha de vencimiento, prioridad, visibilidad o finalización para reducir los resultados. Los filtros de problema y documento no se pueden combinar.
get_todoObtiene un ToDo del Planificador por todoId crudo o por un localizador humano como issue + title + owner o attachedTo.type=document con teamspace/document + title. Devuelve campos estables del ToDo, propietario, contexto de adjunto, descripción, recuento de etiquetas y recuento de ranuras de trabajo.
create_todoCrea un ToDo del Planificador. Omite attachedTo para un ToDo personal, pasa attachedTo.type=issue con project e identifier para un elemento de acción de problema, o pasa attachedTo.type=document con nombres o IDs de teamspace y document para un elemento de acción de documento. Los ToDos de documento son privados por defecto. Omite owner para usar el usuario autenticado. La descripción admite markdown. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_todoActualiza un ToDo del Planificador por localizador humano o todoId crudo. Los localizadores humanos pueden apuntar a un adjunto de problema o documento. Admite title, descripción markdown, owner, dueDate incluyendo null para limpiar, priority y visibility. Los enlaces markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
complete_todoCompleta un ToDo del Planificador por todoId crudo o localizador humano, incluyendo un localizador de adjunto de documento, estableciendo doneOn. Huly puede recortar ranuras de trabajo futuras y ejecutar automatización de problemas cuando el ToDo está adjunto a un problema.
reopen_todoReabre un ToDo del Planificador completado por todoId crudo o localizador humano, incluyendo un localizador de adjunto de documento, limpiando doneOn. Los localizadores humanos buscan ToDos completados por defecto; los localizadores de todoId crudo apuntan a ese ToDo exacto.
delete_todoElimina un ToDo del Planificador por todoId crudo o localizador humano, incluyendo un localizador de adjunto de documento. Esto es destructivo; eliminar el último ToDo de problema abierto puede causar automatización de estado de problema clásico de Huly, mientras que los ToDos de documento no cambian los contadores de problemas.
schedule_todoPrograma un ToDo del Planificador por todoId crudo o localizador humano, incluyendo un localizador de adjunto de documento. Crea una ranura de trabajo bloqueante visible en el Planificador en el calendario personal del usuario autenticado, propiedad de su identidad social primaria e incluyéndolo como participante. Falla de manera accionable cuando la identidad, el empleado o el requisito previo de calendario escribible no están disponibles.
unschedule_todoElimina ranuras de trabajo de ToDo. Pasa workSlotId para eliminar una ranura, o un ID de ToDo crudo/localizador humano (incluyendo un localizador de adjunto de documento) con scope=all o scope=future y from opcional.

Preferencias

HerramientaDescripción
list_space_preferencesLista registros de bajo nivel de SpacePreference de Huly. Estas filas de preferencia genéricas están adjuntas a espacios y el SDK publicado expone solo el enlace de espacio adjunto, por lo que esta herramienta es descubrimiento de solo lectura. Omite space para listar filas recientes entre espacios, o pasa un _id/nombre exacto de espacio con estrechamiento opcional de clase/tipo para inspeccionar un espacio.
get_space_preferenceLee el registro de bajo nivel de SpacePreference de Huly adjunto a un espacio. Acepta un _id o nombre exacto de espacio con estrechamiento opcional de clase/tipo. Devuelve present=false cuando el espacio existe pero no hay ninguna fila genérica de SpacePreference; usa herramientas de preferencia específicas de módulo para cargas útiles de preferencia escribibles.

Procesos

HerramientaDescripción
list_processesLista definiciones de flujo de trabajo de Proceso de Huly de solo lectura. Opcionalmente filtra por la etiqueta maestra/tipo de tarjeta a la que se adjuntan los flujos de trabajo. Devuelve IDs de proceso, nombres, tipo de tarjeta adjunta, banderas de automatización y recuentos de estado/transición.
get_processObtiene una definición de flujo de trabajo de Proceso de Huly por ID de proceso o nombre de visualización exacto. Si un nombre es ambiguo, la herramienta devuelve un error tipado con IDs candidatos en lugar de adivinar.
list_process_executionsLista ejecuciones de flujo de trabajo de Proceso de Huly de solo lectura. Admite filtros por ID/nombre de proceso, ID/título de tarjeta/documento y estado. Las filas se enriquecen con nombre de proceso, título de tarjeta y título de estado actual cuando están disponibles.
start_processInicia una nueva ejecución activa de flujo de trabajo de Proceso de Huly en una tarjeta/documento. Acepta ID de proceso o nombre de proceso exacto, e ID de tarjeta/documento o título exacto; nombres o títulos ambiguos fallan con IDs candidatos. Esto no es idempotente: cada llamada exitosa crea una nueva ejecución a menos que el proceso prohíba ejecuciones activas paralelas para la misma tarjeta, en cuyo caso el ID de ejecución activa existente se devuelve en un error tipado.
cancel_executionCancela de forma idempotente una ejecución de Proceso de Huly por ID de ejecución. Las ejecuciones activas se marcan como canceladas; las ejecuciones ya canceladas tienen éxito con cancelled=false; las ejecuciones completadas fallan sin cambiar el historial.

Reclutamiento

HerramientaDescripción
list_recruiting_applicant_matchesListar coincidencias de candidatos de Reclutamiento generadas de solo lectura. Los campos de ApplicantMatch son generados por Huly; esta herramienta solo los lee. Filtrar por candidato, estado completo, consulta de vacante/resumen y límite.
get_recruiting_applicant_matchObtener una coincidencia de candidato de Reclutamiento generada de solo lectura por el _id bruto de applicant-match. Devuelve candidato, estado completo, texto de vacante generado, resumen, markdown de respuesta y marcas de tiempo.
list_recruiting_reviewsListar revisiones/entrevistas de Reclutamiento como referencias estables. Filtrar por candidato, solicitud, rango de fechas, consulta de título/veredicto/ubicación y límite. Los localizadores de revisión usan _id bruto, RVE-, número o título exacto.
get_recruiting_reviewObtener una revisión de Reclutamiento por _id bruto, RVE-, número simple o título exacto. El candidato/solicitud opcional desambigua. Devuelve horario, descripción en markdown, veredicto, referencias de participantes, empresa, solicitud y recuento de opiniones.
create_recruiting_reviewCrear una revisión/entrevista de Reclutamiento como la interfaz de Huly: incrementa la secuencia RVE, adjunta a la colección de revisiones del candidato, almacena la descripción en markdown como marcado de Huly, establece dueDate por defecto a 30 minutos después de la fecha y habilita el reclutamiento de la persona si es necesario. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_recruiting_reviewActualizar una revisión de Reclutamiento. review acepta _id bruto, RVE-, número o título exacto; candidate/applicationContext solo desambiguan. La descripción admite markdown. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Pasar null para descripción, veredicto, solicitud, empresa o ubicación para limpiar.
delete_recruiting_reviewEliminar una revisión de Reclutamiento con Huly removeCollection. review acepta _id bruto, RVE-, número o título exacto; candidate/application pueden desambiguar.
list_recruiting_opinionsListar opiniones de Reclutamiento para una revisión. review acepta _id bruto, RVE-, número simple o título exacto. Las referencias de opinión incluyen OPE-, referencia de revisión principal y valor de opinión.
get_recruiting_opinionObtener una opinión de Reclutamiento por _id bruto, OPE- o número simple. Pasar review para desambiguar. Devuelve valor, descripción en markdown, recuentos de comentarios/adjuntos, referencia de revisión principal y marcas de tiempo.
create_recruiting_opinionCrear una opinión de Reclutamiento en una revisión. Incrementa la secuencia OPE, adjunta a la colección de opiniones de la revisión y almacena la descripción en markdown como marcado de Huly. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_recruiting_opinionActualizar el valor de una opinión de Reclutamiento y/o la descripción en markdown. opinion acepta _id bruto, OPE- o número; review puede desambiguar. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Pasar null para descripción para limpiarla.
delete_recruiting_opinionEliminar una opinión de Reclutamiento con Huly removeCollection. opinion acepta _id bruto, OPE- o número; review puede desambiguar.
list_recruiting_commentsListar comentarios adjuntos directamente a un objetivo de vacante, candidato, solicitante, revisión u opinión de Reclutamiento. El localizador de objetivo resuelve identificadores de Reclutamiento amigables y devuelve la referencia de objetivo resuelta.
add_recruiting_commentAgregar un comentario en Markdown directamente a un objetivo de vacante, candidato, solicitante, revisión u opinión de Reclutamiento resuelto por el localizador de objetivo compartido. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_recruiting_commentActualizar un comentario adjunto directamente a una vacante, candidato, solicitante, revisión u opinión de Reclutamiento. El commentId debe pertenecer al objetivo resuelto. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
delete_recruiting_commentEliminar un comentario adjunto directamente a una vacante, candidato, solicitante, revisión u opinión de Reclutamiento. El commentId debe pertenecer al objetivo resuelto.
list_recruiting_attachmentsListar archivos adjuntos directamente a un objetivo de vacante, candidato, solicitante u opinión de Reclutamiento. Los adjuntos de revisión no son compatibles intencionalmente a menos que el modelo exponga esa colección.
get_recruiting_attachmentObtener un archivo adjunto directamente a una vacante, candidato, solicitante u opinión de Reclutamiento. El attachmentId debe pertenecer al objetivo resuelto.
add_recruiting_attachmentAdjuntar un archivo a un objetivo de vacante, candidato, solicitante u opinión de Reclutamiento. Proporcionar filename, contentType y exactamente una fuente: filePath se resuelve en el host del servidor MCP, data es contenido base64 local del cliente y fileUrl es obtenido por el servidor MCP.
update_recruiting_attachmentActualizar la descripción y/o el estado fijado de un archivo adjunto directamente a una vacante, candidato, solicitante u opinión de Reclutamiento. El attachmentId debe pertenecer al objetivo resuelto.
delete_recruiting_attachmentEliminar un archivo adjunto directamente a una vacante, candidato, solicitante u opinión de Reclutamiento. El attachmentId debe pertenecer al objetivo resuelto.
list_recruiting_activityListar mensajes de actividad de solo lectura para un objetivo de vacante, candidato, solicitante o revisión de Reclutamiento resuelto por identificadores de Reclutamiento amigables. Las opiniones no son compatibles intencionalmente.
list_recruiting_related_issuesListar problemas de tracker cuyas entradas de Problemas Relacionados de Huly (Issue.relations) apuntan a un objetivo de vacante, candidato o solicitante de Reclutamiento.
add_recruiting_related_issueAgregar idempotentemente una entrada de Problemas Relacionados de Huly (Issue.relations) desde un problema de tracker a un objetivo de vacante, candidato o solicitante de Reclutamiento.
remove_recruiting_related_issueEliminar idempotentemente una entrada de Problemas Relacionados de Huly (Issue.relations) desde un problema de tracker a un objetivo de vacante, candidato o solicitante de Reclutamiento.
list_recruiting_vacancy_typesListar tipos de flujo de trabajo de vacantes de Reclutamiento de Huly. Usar el ID de tipo devuelto o el nombre de tipo exacto en create_recruiting_vacancy. Por defecto, la creación de vacantes usa el tipo de vacante Predeterminado de Huly cuando se omite.
list_recruiting_vacancy_statusesListar estados de flujo de trabajo de solicitantes para una vacante. vacancy acepta _id bruto, VCN-, número simple o nombre exacto. Los estados se leen del ProjectType de la vacante; son datos del espacio de trabajo, no nombres codificados.
list_recruiting_vacanciesListar vacantes de Reclutamiento como referencias estables. Admite includeArchived, consulta de nombre, ID/nombre de tipo, ID/nombre de organización de empresa y límite. Las referencias de vacante incluyen tanto el id bruto como el identificador derivado VCN-.
get_recruiting_vacancyObtener una vacante de Reclutamiento por _id bruto, VCN-, número simple o nombre exacto. Devuelve descripciones, tipo, empresa, ubicación, fecha de vencimiento, privacidad, estado de archivo y recuentos existentes.
create_recruiting_vacancyCrear una vacante de Reclutamiento como la interfaz de Huly: incrementa la secuencia de vacantes, almacena fullDescription como marcado colaborativo respaldado por markdown, establece miembros/propietarios por defecto a la cuenta actual y crea el mixin de datos de tipo de vacante {}. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales.
update_recruiting_vacancyActualizar campos mutables de vacantes de Reclutamiento. vacancy acepta _id bruto, VCN-, número simple o nombre exacto. Proporcionar al menos un campo. fullDescription admite markdown. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y etiqueta se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Pasar null para fullDescription, empresa, ubicación o dueTo para limpiar.
archive_recruiting_vacancyArchivar una vacante de Reclutamiento por _id bruto, VCN-, número simple o nombre exacto.
unarchive_recruiting_vacancyDesarchivar una vacante de Reclutamiento por _id bruto, VCN-, número simple o nombre exacto.
list_recruiting_candidatesListar personas que ya tienen el mixin de Candidato de Reclutamiento. Usar set_recruiting_candidate_profile, add_recruiting_candidate_skill o create_recruiting_applicant para habilitar el reclutamiento de una persona existente.
get_recruiting_candidateObtener un candidato de Reclutamiento por _id de persona, correo electrónico o nombre para mostrar exacto. Devuelve campos de perfil, habilidades, recuentos de solicitudes/revisiones y correo electrónico principal cuando está disponible.
set_recruiting_candidate_profileCrear o actualizar el mixin de perfil de Candidato de Reclutamiento en una persona existente. Para un nuevo candidato, llamar a create_person primero, luego llamar a esta herramienta con el ID de Persona devuelto (o correo electrónico/nombre exacto). candidate acepta _id de persona, correo electrónico o nombre para mostrar exacto. Proporcionar al menos uno de title, source, onsite, remote.
list_recruiting_candidate_custom_fieldsListar definiciones de campos personalizados aplicables a un Candidato de Reclutamiento existente. candidate acepta un _id de persona, correo electrónico exacto o nombre para mostrar exacto. Los campos propiedad de undefined o undefined se devuelven con IDs, etiquetas, tipos y metadatos de propietario. Esta lectura nunca habilita Reclutamiento; para una persona nueva, llamar a create_person primero, luego set_recruiting_candidate_profile.
get_recruiting_candidate_custom_field_valuesLeer todos los valores de campos personalizados aplicables para un Candidato de Reclutamiento existente, incluidas las definiciones que actualmente no están establecidas. candidate acepta un _id de persona, correo electrónico exacto o nombre para mostrar exacto. Los campos propiedad de Candidato y Persona se proyectan con sus metadatos de tipo de Huly; esta lectura nunca habilita Reclutamiento. Para una persona nueva, llamar a create_person primero, luego set_recruiting_candidate_profile.
set_recruiting_candidate_custom_fieldEstablecer un campo personalizado en un Candidato de Reclutamiento existente por ID de campo de list_recruiting_candidate_custom_fields. candidate acepta un _id de persona, correo electrónico exacto o nombre para mostrar exacto. Solo los campos isCustom propiedad de undefined o undefined son escribibles; los campos de matriz, referencia y desconocidos se rechazan. Los valores usan el formato de cable del tipo de campo documentado (números como cadenas numéricas, booleanos como true/false, fechas como YYYY-MM-DD o milisegundos de época canónicos). Esta escritura nunca habilita Reclutamiento; para una persona nueva, llamar a create_person primero, luego set_recruiting_candidate_profile.
list_recruiting_skillsListar definiciones de etiquetas de habilidades de Reclutamiento. Las habilidades son etiquetas de Huly con ámbito targetClass recruit:mixin:Candidate; usar títulos o IDs devueltos con herramientas de habilidades de candidato.
list_recruiting_candidate_skillsListar referencias de etiquetas de habilidades adjuntas a un candidato de Reclutamiento por _id de persona, correo electrónico o nombre exacto.
add_recruiting_candidate_skillAdjuntar una habilidad a un candidato. candidate acepta _id de persona, correo electrónico o nombre exacto. skill acepta título o ID de etiqueta; los títulos de habilidades faltantes se crean. La categoría/color opcional se aplica solo a etiquetas de habilidades recién creadas.
remove_recruiting_candidate_skillDesadjuntar una habilidad de Reclutamiento de un candidato por título de habilidad o ID de etiqueta. Idempotente cuando la habilidad está ausente.
list_recruiting_applicantsListar solicitantes de Reclutamiento. Opcionalmente filtrar por vacante, candidato y estado. vacancy acepta _id bruto/VCN-número/número/nombre; candidate acepta _id de persona/correo electrónico/nombre exacto.
get_recruiting_applicantObtener un solicitante de Reclutamiento por _id bruto, APP- o número simple. Pasar vacancy y/o candidate cuando un número APP podría ser ambiguo.
create_recruiting_applicantCrear un solicitante que vincule una vacante y un candidato. Rechaza pares duplicados de vacante/candidato, incrementa la secuencia APP, resuelve el estado desde el flujo de trabajo de esa vacante y habilita el reclutamiento de la persona si es necesario.
update_recruiting_applicantActualiza el estado del solicitante, el asignado, la fecha de inicio y/o la fecha de vencimiento. applicant acepta _id crudo, APP- o número; vacancy/candidate solo desambiguan. Pasa null para limpiar el asignado, la fecha de inicio o la fecha de vencimiento.
delete_recruiting_applicantElimina un solicitante con Huly removeCollection. applicant acepta _id crudo, APP- o número; vacancy/candidate pueden desambiguar números APP.

Sdk-Discovery

HerramientaDescripción
list_huly_classesDescubre los IDs de clases, interfaces y mixins del modelo de Huly visibles en este espacio de trabajo. Úsalo antes de trabajar con objetos sin procesar, asociaciones genéricas, campos personalizados o trabajo respaldado por modelos cuando necesites IDs de clase exactos en lugar de adivinar.
get_huly_classLee una clase/interfaz/mixin de Huly por ID exacto y devuelve su cadena de herencia más los atributos del modelo. Úsalo cuando necesites campos, objetivos de referencia, IDs de enumeración o pistas sobre categorías de herramientas MCP específicas para la clase.
list_huly_attributesDescubre atributos del modelo de Huly en todo el espacio de trabajo o directamente en una clase/mixin. Devuelve IDs de atributos, clases propietarias, etiquetas, familias de tipos, objetivos de referencia, IDs de enumeración y marcadores de campos personalizados.
list_huly_enumsDescubre documentos de modelos de enumeración de Huly y sus valores válidos. Usa IDs de enumeración de get_huly_class o list_huly_attributes para inspeccionar valores de enumeración permitidos antes de escribir o interpretar campos de enumeración.
list_huly_plugin_configurationsLista registros de configuración de complementos de Huly de solo lectura desde core.class.PluginConfiguration. Devuelve ID de complemento, etiqueta, banderas habilitado/beta y recuento de transacciones para que un LLM pueda ver las puertas de complementos de modelo instaladas sin mutar la configuración.
list_huly_domain_index_configurationsLista registros de configuración de índice de dominio de Huly de solo lectura desde core.class.DomainIndexConfiguration. Devuelve cada dominio más resúmenes de índices deshabilitados, omitidos y habilitados mientras preserva las cargas útiles de índice/filtro/configuración abiertas del SDK como metadatos tipados.
list_huly_sequencesLista contadores de secuencia de Huly de solo lectura desde core.class.Sequence y core.class.CustomSequence. Devuelve ID de secuencia, ID de clase adjunta, valor entero no negativo actual y prefijo personalizado cuando esté presente.
describe_huly_space_type_capabilitiesDescribe un SpaceType de Huly por ID o nombre exacto en una sola llamada de solo lectura. Devuelve metadatos de descriptor, clases base/objetivo, roles, permisos de roles, miembros predeterminados, autoJoin y la forma almacenada de asignación de roles.

Security-Administration

HerramientaDescripción
create_huly_permissionCrea un Permiso base de Huly con una etiqueta humana clara y restricciones opcionales de clase/transacción. La clase acepta un ID de clase exacto, nombre de cola o etiqueta. Las etiquetas exactas son idempotentes solo cuando la definición completa coincide. Esto cambia los metadatos de control de acceso del espacio de trabajo. confirm=true es obligatorio para que un agente no pueda mutar la configuración de seguridad accidentalmente.
update_huly_permissionActualiza un Permiso personalizado de Huly resuelto por ID exacto o etiqueta exacta. Los permisos integrados con espacio de nombres están protegidos. Los cambios de etiqueta/descripción están permitidos en permisos personalizados sin referencias; los cambios semánticos se rechazan mientras estén referenciados por un rol o descriptor de SpaceType. Null limpia restricciones opcionales. Esto cambia los metadatos de control de acceso del espacio de trabajo. confirm=true es obligatorio para que un agente no pueda mutar la configuración de seguridad accidentalmente.
delete_huly_permissionElimina permanentemente un Permiso personalizado de Huly resuelto por ID exacto o etiqueta exacta. Los integrados con espacio de nombres están protegidos, y los permisos referenciados se rechazan de forma explícita. Esto cambia los metadatos de control de acceso del espacio de trabajo. confirm=true es obligatorio para que un agente no pueda mutar la configuración de seguridad accidentalmente.
create_space_roleCrea una definición de rol de Huly usando un ID de SpaceType o nombre exacto y valores de ID de permiso o etiqueta exacta. La llamada crea tanto el Rol adjunto como el atributo de asignación de espacio tipado requerido, compensando si la segunda escritura falla. Los permisos con ámbito de espacio de trabajo están restringidos al SpaceType estable de todos los espacios. Los nombres de rol exactos existentes son idempotentes solo cuando los conjuntos de permisos coinciden. Esto cambia los metadatos de control de acceso del espacio de trabajo. confirm=true es obligatorio para que un agente no pueda mutar la configuración de seguridad accidentalmente.
set_space_role_permissionsReemplaza el conjunto de permisos de una definición de rol existente. SpaceType acepta un ID o nombre exacto, el rol acepta un ID o nombre exacto con ámbito en ese SpaceType, y cada permiso acepta un ID o etiqueta exacta. Pasa permissions=[] para limpiar el rol. Esto cambia los metadatos de control de acceso del espacio de trabajo. confirm=true es obligatorio para que un agente no pueda mutar la configuración de seguridad accidentalmente.
get_class_collaborator_metadataObtiene los metadatos directos de core ClassCollaborators para una clase de Huly resuelta por ID de clase, nombre de cola o etiqueta. Devuelve configured=false cuando la clase hereda valores predeterminados o no tiene registro directo.
set_class_collaborator_metadataCrea o reemplaza metadatos directos de core ClassCollaborators para una clase resuelta por ID de clase, nombre de cola o etiqueta. fieldSelection admite todos los campos similares a personas, ningún campo o nombres de propiedades exactos validados contra la clase y sus ancestros. Las banderas de propagación de seguridad se normalizan explícitamente. Esto cambia los metadatos de control de acceso del espacio de trabajo. confirm=true es obligatorio para que un agente no pueda mutar la configuración de seguridad accidentalmente.
delete_class_collaborator_metadataElimina permanentemente el registro de metadatos directos de core ClassCollaborators para una clase resuelta por ID, nombre de cola o etiqueta. Los metadatos heredados nunca se seleccionan ni eliminan. Esto cambia los metadatos de control de acceso del espacio de trabajo. confirm=true es obligatorio para que un agente no pueda mutar la configuración de seguridad accidentalmente.

Sequence-Administration

HerramientaDescripción
create_huly_sequenceCrea una Secuencia estándar con valor cero o una CustomSequence con prefijo para una clase resuelta por ID exacto, nombre de cola o etiqueta. Reintentar devuelve la definición existente coincidente y nunca restablece ni incrementa su contador; un tipo o prefijo diferente devuelve un conflicto. Esto cambia una definición de secuencia del espacio de trabajo. confirm=true es obligatorio para que un agente no pueda mutar los metadatos de secuencia accidentalmente.
update_huly_custom_sequenceEstablece solo el prefijo de una CustomSequence resuelta por ID de secuencia exacto o ID/nombre de clase adjunta. La protección de comparación y establecimiento no cambia el contador y rechaza un cambio concurrente; los registros de Secuencia estándar están protegidos. Esto cambia una definición de secuencia del espacio de trabajo. confirm=true es obligatorio para que un agente no pueda mutar los metadatos de secuencia accidentalmente.
delete_huly_sequenceElimina permanentemente una Secuencia o CustomSequence nunca utilizada resuelta por ID de secuencia exacto o ID/nombre de clase adjunta. expectedCurrentValue debe ser 0 y es una protección atómica de comparación y eliminación, por lo que un contador activo o avanzado no puede eliminarse; los registros de CustomSequence referenciados están protegidos. Esto cambia una definición de secuencia del espacio de trabajo. confirm=true es obligatorio para que un agente no pueda mutar los metadatos de secuencia accidentalmente.

Spaces

HerramientaDescripción
list_spacesLista espacios genéricos de Huly en todos los módulos. Cuando se omite includeArchived, includeArchived=undefined. Devuelve ID de espacio sin procesar, clase, tipo, privacidad, archivado, autoJoin, recuento de miembros y recuento de propietarios para que las herramientas específicas de módulo puedan reutilizar el resultado.
get_spaceObtiene un espacio genérico de Huly por _id de espacio sin procesar o nombre exacto de espacio. La resolución intenta _id primero, luego nombre exacto. Si un nombre coincide con múltiples espacios, pasa clase y/o tipo para reducir; los errores ambiguos incluyen IDs/clases/tipos coincidentes.
list_space_typesLista registros de SpaceType de Huly configurados. Devuelve ID de descriptor, clase base, clase objetivo, miembros predeterminados, autoJoin y recuento de roles para descubrir la configuración de espacios tipados.
get_space_typeObtiene un SpaceType de Huly por _id de SpaceType sin procesar o nombre exacto, incluyendo metadatos de descriptor, definiciones de roles, IDs/etiquetas de permisos de roles y permisos disponibles.
list_space_permissionsLista registros de Permisos core de Huly para descubrimiento de control de acceso de espacio/espacio de trabajo. Filtra por ámbito, objectClass o texto de búsqueda. Esto es de solo lectura y no asigna permisos.
create_spaceCrea un espacio tipado genérico de Huly por _id de SpaceType o nombre exacto. Esta única llamada resuelve localizadores de miembros, propietarios y roles; aplica miembros predeterminados del SpaceType; y crea asignaciones de roles. Por seguridad, solo se admiten tipos no de sistema cuyo descriptor base del SDK sea exactamente core:class:TypedSpace. Los tipos especializados como proyecto, teamspace, drive, funnel, vacancy y similares fallan con un error tipado que dirige a los llamadores a sus herramientas específicas. Valores predeterminados: private=false, autoJoin=false, restricted=false, owners=[cuenta llamante].
get_global_space_adminsObtiene los administradores de espacio de Huly en todo el espacio de trabajo desde el rol core Admin estable en el espacio tipado de todos los espacios. Devuelve UUIDs de cuenta y no requiere referencias de espacio, rol o mixin sin procesar.
set_global_space_adminsReemplaza la lista de administradores de espacio de Huly en todo el espacio de trabajo. Los administradores aceptan UUIDs de cuenta, correos electrónicos exactos o nombres de visualización exactos de personas; pasa admins=[] para limpiar el rol. La herramienta resuelve internamente el espacio estable de todos los espacios core y el rol Admin.
update_spaceActualiza metadatos comunes seguros en un espacio de Huly existente: nombre, descripción, privado, archivado y autoJoin. No crea/elimina espacios ni muta campos obligatorios específicos de módulo.
add_space_membersAgrega miembros de forma idempotente a un espacio de Huly existente. Los miembros aceptan UUID de cuenta, correo electrónico exacto o nombre de visualización exacto de persona y se resuelven a UUIDs de cuenta de Huly antes de reemplazar la matriz completa de miembros.
remove_space_membersElimina miembros de forma idempotente de un espacio de Huly existente. Los miembros aceptan UUID de cuenta, correo electrónico exacto o nombre de visualización exacto de persona y se resuelven a UUIDs de cuenta de Huly antes de reemplazar la matriz completa de miembros.
set_space_ownersReemplaza propietarios en un espacio de Huly existente. Los propietarios aceptan UUID de cuenta, correo electrónico exacto o nombre de visualización exacto de persona. Por defecto, los propietarios también están garantizados en los miembros.
set_space_role_membersReemplaza miembros asignados a un rol en un espacio tipado de Huly mientras preserva todas las demás asignaciones de roles. El rol acepta un _id de rol sin procesar o nombre de rol exacto del SpaceType del espacio. Los miembros aceptan UUID de cuenta, correo electrónico exacto o nombre de visualización exacto de persona; pasa members=[] para limpiar este rol.
add_space_role_membersAgrega miembros de forma idempotente a un rol en un espacio tipado de Huly mientras preserva todas las demás asignaciones de roles. El rol acepta un _id de rol sin procesar o nombre de rol exacto del SpaceType del espacio. Los miembros aceptan UUID de cuenta, correo electrónico exacto o nombre de visualización exacto de persona.
remove_space_role_membersElimina miembros de forma idempotente de un rol en un espacio tipado de Huly mientras preserva todas las demás asignaciones de roles. El rol acepta un _id de rol sin procesar o nombre de rol exacto del SpaceType del espacio. Los miembros aceptan UUID de cuenta, correo electrónico exacto o nombre de visualización exacto de persona.

Support

HerramientaDescripción
get_support_statusDescubre el modelo/configuración del widget de soporte de Huly y las filas de estado privadas almacenadas de la cuenta autenticada en una sola llamada de solo lectura. Devuelve supported=false cuando cualquiera de los clasificadores de espacio de trabajo requeridos no está disponible; de lo contrario, la configuración falta cuando no existe SupportSystem, está configurada para exactamente uno, o es ambigua con cada candidato en lugar de elegir de forma no determinista. providerConversationId es opaco y storedHasUnreadMessages es solo un respaldo persistido sin garantía de frescura del proveedor. Las filas privadas malformadas se omiten con una advertencia al agente que nunca incluye IDs de proveedor. Huly no expone cuerpos de mensajes de soporte, participantes, adjuntos, transcripciones, recuento de no leídos en vivo, estado de entrega/lectura, ni una API segura de enviar/responder/control de widget; esta herramienta nunca carga la fábrica de widgets ejecutable ni muta datos.

Tag-Categories

HerramientaDescripción
list_tag_categoriesLista las categorías de etiquetas en el espacio de trabajo. Las categorías agrupan etiquetas (p. ej., 'Etiquetas de prioridad', 'Etiquetas de tipo'). Omite targetClass para incluir todas las clases.
create_tag_categoryCrea una nueva categoría de etiqueta. Idempotente: devuelve la categoría existente si ya existe una con la misma etiqueta y targetClass (created=false). Establece targetClass por defecto en problemas de tracker.
update_tag_categoryActualiza una categoría de etiqueta. Acepta ID de categoría o nombre de etiqueta. Solo se modifican los campos proporcionados.
delete_tag_categoryElimina permanentemente una categoría de etiqueta. Acepta ID de categoría o nombre de etiqueta. Las etiquetas en esta categoría quedarán huérfanas (no se eliminan). Esta acción no se puede deshacer.

Etiquetas

HerramientaDescripción
list_tagsLista definiciones genéricas de etiquetas Huly para una clase objetivo del SDK. Prefiere herramientas de módulo para etiquetas de problemas, etiquetas de documentos, etiquetas de Planner ToDo, etiquetas de tablero y habilidades de reclutamiento; usa esto como respaldo del SDK sin procesar para otros dominios basados en etiquetas o administración de categorías.
create_tagCrea una definición genérica de etiqueta Huly para una targetClass. Idempotente por targetClass + título. Prefiere herramientas de etiquetas de módulo o habilidades al adjuntar a un objeto compatible; usa este respaldo sin procesar para administración de definiciones y dominios basados en etiquetas no compatibles.
update_tagActualiza una definición genérica de etiqueta Huly. El argumento de etiqueta acepta un ID de etiqueta o título exacto, resuelto dentro de targetClass.
delete_tagElimina una definición genérica de etiqueta Huly por ID o título exacto, resuelto dentro de targetClass. Esto elimina la definición de etiqueta, no solo la referencia de etiqueta de un objeto.
list_attached_tagsLista filas genéricas de TagReference de Huly adjuntas a una colección de objetos sin procesar. Prefiere herramientas de módulo para problemas, documentos, Planner ToDos, tarjetas de tablero y candidatos de reclutamiento; este respaldo del SDK requiere objectId, objectClass, space y collection.
attach_tagAdjunta una etiqueta genérica de Huly a una colección de objetos sin procesar. Prefiere herramientas de módulo para objetos compatibles de problemas, documentos, Planner, tablero y reclutamiento; este respaldo del SDK requiere targetClass más objectId/objectClass/space/collection y es idempotente para el mismo objeto, colección y etiqueta.
detach_tagDesadjunta una etiqueta genérica de Huly de una colección de objetos sin procesar. Prefiere herramientas de módulo para objetos compatibles de problemas, documentos, Planner, tablero y reclutamiento; este respaldo del SDK requiere targetClass y objectId/objectClass/space/collection.

Gestión de tareas

HerramientaDescripción
list_project_typesLista tipos de proyectos/plantillas de flujo de trabajo del tracker de Huly. Devuelve ID, nombre para mostrar, descriptor, recuento de tipos de tarea, recuento de estados y si el tipo parece ser el tipo de tracker Classic predeterminado.
get_project_typeInspecciona un tipo de proyecto del tracker de Huly en una sola llamada. Acepta projectType como ID o nombre para mostrar; cuando se omite, usa el tipo de tracker Classic inequívoco. Devuelve tipos de tarea, estados, categorías y asignaciones de tipo de tarea a estado.
list_task_typesLista tipos de problema/tarea de Huly. Opcionalmente filtra por ID de projectType o nombre para mostrar. Devuelve identidad del tipo de tarea, tipo de proyecto principal, tipo, clase de problema y recuento de estados disponibles.
create_task_typeAgrega un tipo de problema/tarea de Huly a un tipo de proyecto de forma idempotente por nombre normalizado. Copia la configuración de flujo de trabajo requerida de un tipo de tarea de plantilla existente a menos que se proporcione templateTaskType. Devuelve created, IDs, IDs de tipo de tarea afectados y una advertencia de flujo de trabajo a nivel de espacio de trabajo.
create_issue_statusAgrega un estado de flujo de trabajo de problema de Huly de forma idempotente por nombre normalizado dentro de un tipo de proyecto y alcance de tipo de tarea. Acepta categoría como clave de Huly SDK task.statusCategory: UnStarted, ToDo, Active, Won, Lost; taskType puede ser ID o nombre para mostrar, y omitirlo aplica el estado a cada tipo de tarea en el tipo de proyecto.

Gestión de pruebas

HerramientaDescripción
list_test_projectsLista proyectos de gestión de pruebas. Devuelve proyectos de prueba ordenados por nombre. Estos son separados de los proyectos de tracker.
list_test_suitesLista suites de pruebas en un proyecto de prueba. Acepta ID o nombre de proyecto. Filtro opcional de padre para suites anidadas.
get_test_suiteObtiene una sola suite de pruebas por ID o nombre dentro de un proyecto de prueba. Devuelve detalles de la suite y recuento de casos de prueba.
create_test_suiteCrea una suite de pruebas en un proyecto de prueba. Idempotente: devuelve la suite existente si una con el mismo nombre ya existe (created=false). Padre opcional para anidamiento.
update_test_suiteActualiza una suite de pruebas. Acepta ID o nombre de suite. Solo se modifican los campos proporcionados.
delete_test_suiteElimina permanentemente una suite de pruebas. Acepta ID o nombre de suite. Esta acción no se puede deshacer.
list_test_casesLista casos de prueba en un proyecto de prueba. Filtros opcionales: suite (ID o nombre), asignado (nombre o correo electrónico).
get_test_caseObtiene un solo caso de prueba por ID o nombre dentro de un proyecto de prueba.
create_test_caseCrea un caso de prueba adjunto a una suite. La descripción admite markdown. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Requiere proyecto y suite. Valores predeterminados: type=functional, priority=medium, status=draft.
update_test_caseActualiza un caso de prueba. Acepta ID o nombre de caso de prueba. La descripción admite markdown. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Solo se modifican los campos proporcionados. Establece assignee en null para desasignar.
delete_test_caseElimina permanentemente un caso de prueba. Acepta ID o nombre de caso de prueba. Esta acción no se puede deshacer.
list_test_plansLista planes de prueba en un proyecto de gestión de pruebas. Devuelve nombres e IDs de planes. Requiere ID o nombre de proyecto.
get_test_planObtiene detalles del plan de prueba incluyendo sus elementos (casos de prueba). Acepta ID o nombre de plan dentro de un proyecto.
create_test_planCrea un plan de prueba en un proyecto. La descripción admite markdown. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Idempotente: devuelve el plan existente si uno con el mismo nombre ya existe (created=false).
update_test_planActualiza el nombre o la descripción de un plan de prueba. La descripción admite markdown. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Solo se modifican los campos proporcionados. Pasa description=null para borrar.
delete_test_planElimina permanentemente un plan de prueba. Esto no elimina las ejecuciones de prueba asociadas. No se puede deshacer.
add_test_plan_itemAgrega un caso de prueba a un plan de prueba. Resuelve el caso de prueba por ID o nombre. Opcionalmente asigna una persona por correo electrónico o nombre.
remove_test_plan_itemElimina un caso de prueba de un plan de prueba por ID de elemento. Obtén IDs de elemento de get_test_plan.
list_test_runsLista ejecuciones de prueba en un proyecto de gestión de pruebas. Devuelve nombres de ejecución, IDs y fechas de vencimiento.
get_test_runObtiene detalles de la ejecución de prueba incluyendo todos los resultados. Acepta ID o nombre de ejecución dentro de un proyecto.
create_test_runCrea una ejecución de prueba en un proyecto. La descripción admite markdown. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Para creación masiva desde un plan, usa run_test_plan en su lugar.
update_test_runActualiza el nombre, la descripción o la fecha de vencimiento de una ejecución de prueba. La descripción admite markdown. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Solo se modifican los campos proporcionados. Pasa null para borrar campos opcionales.
delete_test_runElimina permanentemente una ejecución de prueba. Esto no elimina los resultados de prueba asociados. No se puede deshacer.
list_test_resultsLista resultados de prueba en una ejecución de prueba. Devuelve nombres de resultado, estados y asignados.
get_test_resultObtiene detalles del resultado de prueba. Acepta ID o nombre de resultado.
create_test_resultCrea un resultado de prueba en una ejecución. Resuelve el caso de prueba por ID o nombre. El estado predeterminado es 'untested'.
update_test_resultActualiza el estado, asignado o descripción de un resultado de prueba. La descripción admite markdown. Los enlaces de markdown a URLs de navegación de Huly del espacio de trabajo actual con _class, _id y label se convierten en referencias nativas de Huly; las URLs externas y las URLs de navegación de otros espacios de trabajo permanecen como enlaces normales. Valores de estado: untested, blocked, passed, failed.
delete_test_resultElimina permanentemente un resultado de prueba. No se puede deshacer.
run_test_planEjecuta un plan de prueba: crea una ejecución de prueba y un resultado de prueba por elemento del plan. Devuelve el ID de la ejecución y el recuento de resultados creados. Opcionalmente nombra la ejecución y establece una fecha de vencimiento.

Estados de usuario

HerramientaDescripción
list_user_statusesLista registros de presencia de usuario de Huly. Devuelve UUIDs de cuenta, estado en línea y marca de tiempo de última modificación. Usa esto para verificar quién está actualmente conectado; la presencia se mantiene mediante sesiones del servidor de Huly. Filtra por en línea o UUID de cuenta.

Vistas

HerramientaDescripción
list_filtered_viewsLista vistas filtradas guardadas de @hcengineering/view. Usa attachedTo para limitar por cadena de recurso/aplicación sin procesar como board:app:Board; omite attachedTo para descubrir vistas guardadas en todos los módulos. Informa visibilidad propia/compartida desde la membresía de usuarios de la cuenta actual.
get_filtered_viewObtiene una vista filtrada guardada por _id de FilteredView o nombre exacto. Pasa attachedTo, como board:app:Board, cuando un nombre exacto puede existir en más de un módulo. Solo lectura; no se realizan escrituras de vistas guardadas.
list_viewletsLista viewlets de metadatos del modelo @hcengineering/view. Usa attachTo con un ID de clase de Huly como board:class:Card para limitar por clase de documento renderizado; usa list_huly_classes cuando necesites IDs de clase. El localizador de viewlet opcional acepta un _id de Viewlet, título exacto, variante exacta o _id de descriptor; los IDs de descriptor pueden devolver múltiples viewlets. Incluye metadatos de descriptor y configuraciones coincidentes de ViewletPreference.

Oficina virtual

HerramientaDescripción
list_office_floorsListar los pisos de oficina virtual.
get_office_floorObtener un piso de oficina virtual por floorId.
create_office_floorCrear un piso de oficina virtual duradero con un nombre no vacío. Devuelve el floorId generado inmediatamente. El cambio de nombre y la eliminación de pisos no están disponibles intencionalmente.
list_office_roomsListar las salas de oficina virtual, incluyendo modo de acceso, tipo, piso, posición/tamaño en el plano del piso, idioma y valores predeterminados de grabación/transcripción.
get_office_roomObtener una sala de oficina virtual por roomId, incluyendo la descripción cuando sea legible.
create_office_roomCrear una oficina personal de video, audio, recepción o personal duradera en un piso resuelto por ID exacto o nombre exacto inequívoco. Video/audio/recepción requieren un nombre no vacío; la oficina usa el nombre vacío nativo de Huly y person=null. La clase Huly, el acceso, el idioma, la posición libre 2x1 en el plano del piso y los valores predeterminados de grabación/transcripción se derivan internamente; el video hereda OfficeSettings del espacio de trabajo mientras que otros tipos establecen ambas banderas en falso. Esto no crea participantes ni inicia grabación/transcripción.
update_office_roomActualizar una Sala u Oficina duradera por roomId. Acepta solo nombre, descripción Markdown, acceso, startWithTranscription y startWithRecording. Las oficinas personales rechazan acceso abierto; la Recepción protegida de Huly no puede renombrarse. El piso, la geometría, la asignación de persona, el idioma, las ACL, la ocupación y el estado activo del proveedor se conservan. Las banderas predeterminadas afectan sesiones futuras y no inician ni detienen grabación/transcripción.
list_officesListar las salas de oficina personal y sus personas asignadas cuando sea legible.
get_officeObtener una sala de oficina personal por roomId, incluyendo la persona asignada y la descripción cuando sea legible.
list_active_room_infoListar resúmenes transitorios de ocupación de salas activas.
list_active_room_participantsListar participantes y posiciones transitorios activos de oficina virtual, opcionalmente filtrados por roomId.
list_meeting_minutesListar registros de notas/transcripciones de reuniones (minutas) por destino de adjunto opcional y rango de fecha de creación.
get_meeting_minutesObtener un registro de notas/transcripciones de reuniones (minutas) por meetingMinutesId, incluyendo la descripción cuando sea legible.
list_device_preferencesListar preferencias legibles de dispositivos multimedia de oficina virtual.
list_office_defaultsListar configuraciones de idioma, grabación predeterminada y transcripción predeterminada a nivel de sala.

Workbench

HerramientaDescripción
list_workbench_applicationsListar declaraciones de modelo de aplicación de Huly Workbench de solo lectura por alias de URL exacto o subcadena de alias insensible a mayúsculas. Devuelve valores labelId sin traducir, banderas de modelo estáticas, el estado hiddenByPreference con ámbito de llamador de la cuenta autenticada y navegación declarativa resumida de espacio/especial/grupo sin ejecutar componentes, callbacks de recursos o constructores de consultas. Las entradas de navegación de espacio heredadas sin id estable se omiten con una advertencia visible para el agente. La presencia de la aplicación no es prueba de que un plugin, proveedor de integración, trabajador, API, rol, permiso o visibilidad efectiva del navegador esté habilitado. Las pestañas personales, el estado activo del navegador, los widgets, las pestañas/preferencias de widgets y todas las mutaciones de Workbench no son compatibles intencionalmente porque son privadas o locales del navegador y carecen de un flujo de trabajo de agente legible y confiable.

Workflow-Statuses

HerramientaDescripción
list_workflow_statusesListar registros de Status de flujo de trabajo genéricos de Huly en todo el modelo del espacio de trabajo. Filtrar por ID de atributo de estado/nombre exacto y ID de categoría/etiqueta exacta. Devuelve relaciones de atributo y categoría resueltas. Para los estados de problema de un proyecto de tracker, usa list_statuses en su lugar.
get_workflow_statusObtener un Status de flujo de trabajo genérico de Huly por ID o nombre exacto insensible a mayúsculas. Pasa ofAttribute cuando un nombre existe para múltiples atributos de estado; los nombres ambiguos se rechazan con IDs coincidentes.
create_workflow_statusCrear un Status de flujo de trabajo genérico de Huly para un atributo resuelto por ID o nombre exacto. Opcionalmente resuelve una categoría compartida por ID o etiqueta exacta; pasa un ID de categoría cuando su etiqueta es ambigua. Devuelve idempotentemente el nombre normalizado existente en ese atributo con created=false. El cableado de tipo de proyecto de tracker sigue siendo propiedad de create_issue_status.
update_workflow_statusActualizar un Status de flujo de trabajo genérico por ID o nombre exacto. Usa currentOfAttribute para desambiguar el objetivo. category, color y description aceptan null para limpiar. Se rechaza el cambio de nombre mientras un StatusCategory use el estado como su predeterminado; actualiza ese predeterminado primero. Mover atributos solo se permite cuando el estado no está referenciado y ambos atributos usan la misma clase concreta de Status. Las categorías pueden compartirse entre atributos.
delete_workflow_statusEliminar permanentemente un Status de flujo de trabajo genérico no referenciado por ID o nombre exacto. Rechaza la eliminación mientras cualquier StatusCategory predeterminado, ProjectType, TaskType o registro de tarea lo referencie. Esta herramienta nunca reescribe arreglos de flujo de trabajo de tracker; usa herramientas de flujo de trabajo específicas de tracker para eliminar esas referencias primero.
list_status_categoriesListar registros de StatusCategory genéricos de Huly, opcionalmente filtrados por ID de atributo de estado o nombre exacto. Devuelve el atributo resuelto de cada categoría, el estado predeterminado y el número de estados que la referencian.
get_status_categoryObtener un StatusCategory genérico de Huly por ID o etiqueta exacta insensible a mayúsculas. Pasa ofAttribute cuando una etiqueta existe para múltiples atributos de estado; las etiquetas ambiguas se rechazan con IDs coincidentes.
create_status_categoryCrear un StatusCategory genérico de Huly para un atributo resuelto por ID o nombre exacto. defaultStatus se resuelve dentro del mismo atributo, preservando la relación categoría/predeterminado. Devuelve idempotentemente una etiqueta normalizada existente con created=false.
update_status_categoryActualizar un StatusCategory genérico por ID o etiqueta exacta. El estado predeterminado resultante debe pertenecer al atributo resultante. Los estados de otros atributos pueden continuar referenciando la categoría porque las categorías de Huly pueden compartirse.
delete_status_categoryEliminar permanentemente un StatusCategory genérico no referenciado por ID o etiqueta exacta. Rechaza la eliminación mientras cualquier Status referencie la categoría, evitando relaciones colgantes.

Solución de problemas

Respaldo de contraseña con caracteres especiales

Si tu contraseña de Huly contiene caracteres como *, %, ! o #, pasarla a través de banderas de entorno de CLI como -e o --env puede fallar porque el shell interpreta estos caracteres antes de que lleguen al proceso.

Solución: Edita tu archivo de configuración de MCP directamente en lugar de pasar la contraseña a través del shell:

  • Codex: ~/.codex/config.toml
  • Claude Code: ~/.claude.json (ámbito de usuario) o .mcp.json (ámbito de proyecto)
  • Claude Desktop: claude_desktop_config.json en la ubicación indicada en la sección de instalación
  • VS Code y Cursor: usa la ubicación de configuración del cliente de la sección de instalación; evita confirmar archivos de espacio de trabajo que contengan credenciales reales
  • Windsurf: edita tu archivo de configuración de MCP de Windsurf directamente
  • OpenCode: ~/.config/opencode/opencode.json

Para la configuración JSON de Claude, los caracteres sensibles al shell anteriores pueden escribirse directamente. Los caracteres reservados de JSON como " y \ aún necesitan escape JSON normal:

{
  "mcpServers": {
    "huly": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@firfi/huly-mcp@latest"],
      "env": {
        "HULY_URL": "https://your-huly-instance.com",
        "HULY_EMAIL": "you@example.com",
        "HULY_PASSWORD": "p@ss*w0rd!#%",
        "HULY_WORKSPACE": "your-workspace"
      }
    }
  }
}

Prefiere HULY_TOKEN en lugar de este respaldo de contraseña cuando el despliegue admita tokens de API gestionados (consulta Variables de entorno).

El cliente MCP muestra "Failed to reconnect"

Después de cambiar la configuración de MCP, algunos clientes (incluido Claude Code) requieren un reinicio completo, no solo una reconexión. Sal de la aplicación por completo y vuelve a abrirla.

Puedes verificar que la conexión funciona de forma independiente con:

claude mcp list  # Should show "Connected"

Huly autohospedado: cuenta bloqueada después de intentos de inicio de sesión fallidos

Huly bloquea el inicio de sesión con contraseña después de 5 intentos fallidos de autenticación de API. Esto ocurre comúnmente durante la configuración inicial cuando la contraseña está mal configurada. El bloqueo persiste en la base de datos a través de reinicios del servicio.

Síntomas: error PasswordLoginLocked del servidor MCP, y la interfaz web de Huly muestra "Password login is locked due to too many failed attempts. Please use an OTP login method to unlock your account." (OTP no funcionará sin SMTP configurado).

Solución — restablece el contador de bloqueo en CockroachDB:

# Find your account UUID and check lock status
docker exec -e PGPASSWORD=<your_cockroach_password> <cockroach_container> \
  cockroach sql --host=localhost --user=<db_user> --database=defaultdb --insecure \
  -e "SELECT uuid, failed_login_attempts FROM global_account.account;"

# Reset the counter
docker exec -e PGPASSWORD=<your_cockroach_password> <cockroach_container> \
  cockroach sql --host=localhost --user=<db_user> --database=defaultdb --insecure \
  -e "UPDATE global_account.account SET failed_login_attempts = 0 WHERE uuid = '<your_account_uuid>';"

Las credenciales de CockroachDB se pueden encontrar en tu compose.yml de Huly o mediante docker exec <cockroach_container> env | grep COCKROACH.

Notas específicas de Windows

  • Scripts de envoltura Bash (que obtienen archivos .env) pueden no funcionar de manera confiable cuando los lanzan clientes MCP en Windows. Prefiere establecer variables de entorno directamente en el JSON de configuración de MCP.
  • Extracciones de Docker sobre SSH pueden fallar en Windows debido a problemas del administrador de credenciales. Extrae imágenes desde el escritorio del servidor si es necesario.