Dutify

Un servidor MCP remoto para toda la suite Dutify: grabaciones de llamadas del Hub, transcripciones y chat de Lens, gestión de proyectos, wiki de Codexum y solicitudes de funciones de Roadmarq.

Servidor MCP alojado

npx add-mcp 'https://mcp.dutify.ai'

Se instala en Claude Code, Codex, Cursor y más

Documentación

Esta distribución ahora cubre Hub, PM, Wiki y Roadmarq. Las instalaciones existentes conservan el nombre de habilidad dutify-api; las instalaciones solo de Hub pueden mantener dutify-hub-api. Las claves personales du_live_ funcionan en todos los productos concedidos; las claves antiguas de workspace conservan los límites de producto. Consulta enrutamiento y compatibilidad de conectores. La ruta MCP combinada se adopta solo después de su lanzamiento por separado y la verificación de la lista de herramientas.

dutify-api — Habilidad de Claude Code

La versión 2026.09.25.2 añade orientación consciente de capacidades para las credenciales de workspace dw_live_. Lee claves de integración antes de usar esa familia; actualizar las instrucciones no implementa la autoridad ni los consumidores. La autoridad hace que la emisión esté disponible inmediatamente cuando se implementa.

Una habilidad de Claude Code (y Claude.ai) que enseña a un LLM cómo usar la API HTTP de Dutify directamente: descubrir endpoints a través del catálogo agregado en https://dutify.ai/mp/api/v1/api-catalog, llamar a la etiqueta "lite" correcta con un X-API-Key, y autocorregirse en errores validOptions en lugar de adivinar las formas de los endpoints desde la memoria.

Cubre Hub, Gestión de Proyectos, Wiki/Codexum y Roadmarq en una sola habilidad. Hub usa su catálogo en https://dutify.ai/api/v1/api-catalog; el catálogo Suite existente agrega PM, Wiki y Roadmarq.

Instalación

Nivel de usuario (cualquier sesión de Claude Code, cualquier proyecto)

git clone https://github.com/dutifyai/dutify-cloud-ai-skill.git ~/.claude/skills/dutify-api

Después de la instalación, reinicia tu sesión de Claude Code (o /clear). La habilidad se cargará automáticamente cuando un mensaje mencione Dutify ("crea una tarea en…", "lista los errores asignados a…", "qué páginas wiki viven bajo…", etc.) — no es necesario invocarla explícitamente.

Nivel de proyecto (solo cuando trabajas dentro de un proyecto)

git clone https://github.com/dutifyai/dutify-cloud-ai-skill.git <your-project>/.claude/skills/dutify-api

Verificación

Después de la instalación:

ls ~/.claude/skills/dutify-api/SKILL.md          # should exist
ls ~/.claude/skills/dutify-api/references/       # product references

Luego, en cualquier sesión de Claude Code, pregunta "¿cuál es la URL para el endpoint del catálogo de tipos de tarea de Dutify?" — Claude debería tomar la habilidad, cargar references/task-types.md y responder.

Cómo está organizada la habilidad

La habilidad está indexada por temas en lugar de ser un solo documento grande. SKILL.md es el archivo de orientación que un LLM siempre ve; los archivos de referencia de producto en references/ se cargan bajo demanda según el mapa de temas.

ArchivoTema
SKILL.mdEnrutamiento de todos los productos y mapa de temas; las convenciones de Suite permanecen en references/suite-guide.md
references/auth.mdEncabezado de clave API, los más de 40 alcances, workspace vinculado mediante /v1/api-keys/current
references/errors.mdEnvolturas anidadas de PM vs planas de FR/Wiki, vocabulario de códigos de error, respuesta de límite de tasa, errores de red
references/tasks.md/lite/context, búsqueda, creación, actualización, comentarios, relaciones, adjuntos, recurrencia, entradas de tiempo, Idempotency-Key, TaskCreationRequest no lite, movimiento entre workspaces
references/task-types.mdCatálogo, las 9 filas SYSTEM, valor predeterminado en cascada (3 niveles — lista→carpeta→espacio, sin respaldo de workspace), cambios de tipo únicos y masivos, establecedores de predeterminado a nivel, reasignación al eliminar
references/wiki.mdLista/lectura/escritura de páginas Wiki, formatos de cuerpo Markdown vs TipTap, sintaxis de consulta de búsqueda
references/roadmarq.mdSolicitudes de funciones + errores, prefijos de ID cortos por tablero, verbos lite (/votes no /vote, /moderation no /moderate), regla de consulta ?workspaceIdentifier=
references/webhooks.mdSuscripciones, envoltura de carga útil, X-Webhook-Signature-256, programa de reintentos, flujo de tickets WebSocket, forma de lectura del registro de actividad
references/custom-fields.mdCRUD de campos personalizados (lite), establecimiento de valores en tareas, configuración de fórmulas (JSON estructurado), configuración de acumulación
references/views.mdVistas (Lite): crear/listar/obtener/actualizar/clonar, visibilidad/orden de columnas, filtros, comportamiento de creación MCP
references/dashboards-forms.md/v1/dashboard/lite, administración de formularios (configuración + envíos + exportación CSV), envío de formularios públicos
references/sprints.mdGrupos de sprints, ciclo de vida de sprints (inicio/completar/transferir), membresía, burndown — no lite
references/imports.mdImportación CSV: flujo de vista previa → confirmación, carga de una sola vez, estado de trabajo de sondeo
references/admin.mdErrores de cuota de plan (402 QUOTA_EXCEEDED), CRUD de estado / prioridad / nivel por alcance, equipos, token de colaboración de pizarra
references/members.mdLista de miembros del workspace / rol / eliminar, invitaciones enviar / cancelar / aceptar / rechazar
references/notifications.mdLista + recuento + marcar como leído, peculiaridad de paginación estilo página, el campo data es un objeto JSON real (a diferencia del registro de actividad)
references/filters.mdFiltros guardados por lista, por usuario, Long id numérico, sin endpoint de "aplicar filtro guardado" en búsqueda lite

Autenticación

Las llamadas de acceso a datos usan X-API-Key: du_live_… para productos concedidos, dk_live_… para un workspace de Suite, o dh_live_… para un workspace de Hub. Crea claves de workspace en la configuración del workspace y claves personales en la configuración de la cuenta. Las claves de workspace conservan su vinculación fija; las claves personales descubren los workspaces permitidos y seleccionan uno por llamada con X-Dutify-Workspace. Consulta autenticación y claves personales para alcances y códigos de denegación.

Por qué una habilidad indexada por temas en lugar de un documento largo

Las habilidades se cargan completamente cuando se activan — un documento único de 1500 líneas quemaría ese contexto por tarea. Dividir la orientación en SKILL.md y el detalle por tema significa que una tarea solo de wiki carga solo wiki.md; una configuración de webhook carga webhooks.md + auth.md; nada más. El punto de entrada es conciso; cada referencia promedia ~95 líneas.

Evaluación

evals/evals.json contiene 5 indicaciones que ejercitan la habilidad de extremo a extremo:

  • create-task-python — script de Python de calidad de producción que crea una tarea por nombre
  • list-wiki-pages-curl — curl + un archivo de notas
  • update-fr-status — una solicitud HTTP de una sola vez para cambiar el estado de una solicitud de función
  • bulk-retype-tasks — Python que encuentra todas las tareas en una lista, busca los identificadores de tipo de tarea del workspace y cambia masivamente su tipo mediante el endpoint /v1/tasks/bulk/change-type
  • find-untyped-tasks — curl + notas que explican la cadena de valor predeterminado en cascada y cómo surge taskType: null

Estas están destinadas a marcos de evaluación (por ejemplo, el marco de evaluación de habilidades de Anthropic) que puntúan ejecuciones de with_skill vs without_skill contra listas de expectativas.

Contribución

La fuente canónica de esta habilidad vive en Dutify-suite/skills/dutify-api/ dentro del monorepo de la suite Dutify; este espejo de GitHub es para distribución. Edita en la fuente y vuelve a publicar; no abras PRs contra este repositorio a menos que estés publicando una corrección que ya esté fusionada upstream.

Licencia

Documentación interna de Dutify. El uso de la API requiere una clave API de Dutify válida.

Mantenimiento de la distribución de compatibilidad de Hub

Las referencias canónicas de Hub viven en references/hub. Verifica las copias con python scripts/sync_hub_references.py --hub-skill <hub-repo>; usa --write para exportar archivos de manifiesto. La distribución de Hub incluye referencias completas y nunca requiere la habilidad de todos los productos en tiempo de ejecución. Actualiza ambas distribuciones y sus archivos de versión juntos cuando cambie el comportamiento compartido.