Directus Task MCP Server
Gestiona tareas en Directus con sincronización automática de esquemas.
Documentación
Directus Task MCP Server
Un servidor de Model Context Protocol (MCP) para gestionar tareas en Directus con sincronización automática de esquemas. Este servidor te permite interactuar con tu base de datos PostgreSQL de Directus a través de asistentes de IA como Claude o Cursor.
Características
- Gestión de tareas: Crear, leer, actualizar y eliminar tareas
- Gestión de esquemas: Sincroniza automáticamente modelos TypeScript con colecciones de Directus
- Filtrado: Filtra tareas por estado, prioridad y otros criterios
- Validación: Validación integrada mediante esquemas Zod
- Seguridad de tipos: Soporte completo de TypeScript con tipado adecuado
Requisitos previos
- Node.js 18+
- Una instancia de Directus (local o alojada)
- Token de API de Directus o credenciales de usuario
Instalación
-
Clona y configura el proyecto:
npm install npm run build -
Configura tu conexión a Directus:
El servidor utiliza las siguientes variables de entorno:
DIRECTUS_URL: La URL de tu instancia de Directus (por defecto: https://te9-pg-api.up.railway.app/)DIRECTUS_TOKEN: Tu token de API de Directus (por defecto: mo7tahjWjKgHW-42_tEMThJiqBstu2V_)DIRECTUS_USER_EMAIL: Alternativa al token: correo electrónico del usuarioDIRECTUS_USER_PASSWORD: Alternativa al token: contraseña del usuario
Configuración
Para Cursor
- Crea un archivo
.cursor/mcp.jsonen la raíz de tu proyecto:{ "mcpServers": { "directus-tasks": { "command": "node", "args": ["dist/index.js"], "env": { "DIRECTUS_URL": "https://te9-pg-api.up.railway.app/", "DIRECTUS_TOKEN": "mo7tahjWjKgHW-42_tEMThJiqBstu2V_" } } } }
Para Claude Desktop
- Abre la configuración de Claude Desktop
- Ve a la pestaña Developer y haz clic en "Edit Config"
- Añade la siguiente configuración:
{ "mcpServers": { "directus-tasks": { "command": "node", "args": ["/absolute/path/to/your/project/dist/index.js"], "env": { "DIRECTUS_URL": "https://te9-pg-api.up.railway.app/", "DIRECTUS_TOKEN": "mo7tahjWjKgHW-42_tEMThJiqBstu2V_" } } } }
Importante: Reemplaza /absolute/path/to/your/project con la ruta absoluta real a tu directorio de proyecto.
Herramientas disponibles
El servidor MCP proporciona las siguientes herramientas:
Gestión de esquemas
sync-task-schema: Sincroniza el esquema del modelo Task con tu base de datos de Directus
Gestión de tareas
list-tasks: Lista todas las tareas con filtrado opcional por estado, prioridad y límiteget-task: Obtiene una tarea específica por IDcreate-task: Crea una nueva tareaupdate-task: Actualiza una tarea existentedelete-task: Elimina una tarea
Gestión de usuarios
get-user-info: Obtiene la información del usuario actual
Modelo Task
El modelo Task incluye los siguientes campos:
interface Task {
id?: string; // UUID primary key
title: string; // Required task title
description?: string; // Optional description
status: 'todo' | 'in_progress' | 'completed'; // Task status
priority: 'low' | 'medium' | 'high'; // Task priority
due_date?: string; // Optional due date (ISO format)
created_at?: string; // Auto-generated creation timestamp
updated_at?: string; // Auto-generated update timestamp
user_created?: string; // Auto-generated user who created
user_updated?: string; // Auto-generated user who updated
}
Ejemplos de uso
1. Configuración inicial
Please sync the task schema with the database
2. Crear una tarea
Create a new task with title "Implement user authentication" and high priority
3. Listar tareas
Show me all tasks with status "in_progress"
4. Actualizar una tarea
Update task with ID [task-id] to completed status
5. Obtener detalles de una tarea
Show me details for task [task-id]
Desarrollo
Estructura del proyecto
src/
├── models/
│ └── Task.ts # Task model with TypeScript interfaces and Zod schemas
├── services/
│ └── SchemaManager.ts # Schema management service
└── index.ts # Main MCP server implementation
Añadir nuevos modelos
- Crea un nuevo archivo de modelo en
src/models/ - Define interfaces TypeScript y esquemas Zod
- Exporta definiciones de campos para Directus
- Añade herramientas al servidor principal para el nuevo modelo
- Usa SchemaManager para sincronizar el esquema
Comandos de desarrollo
# Install dependencies
npm install
# Build the project
npm run build
# Development mode (watch for changes)
npm run dev
# Start the server directly
npm start
Solución de problemas
Problemas comunes
- Errores de autenticación: Verifica que la URL y el token de Directus sean correctos
- Fallos de sincronización de esquemas: Asegúrate de que tu usuario de Directus tenga permisos de administrador
- Problemas de conexión: Comprueba que tu instancia de Directus sea accesible
Depuración
El servidor registra errores en stderr. Puedes revisar los registros en la consola o terminal de tu asistente de IA.
Notas de seguridad
- Almacena tu token de Directus de forma segura
- Usa variables de entorno para configuración sensible
- Considera usar una cuenta de servicio dedicada para el servidor MCP
- Rota tus tokens de API periódicamente
Contribuciones
- Haz un fork del repositorio
- Crea una rama de características
- Realiza tus cambios
- Añade pruebas si corresponde
- Envía una solicitud de extracción (pull request)
Licencia
Licencia MIT: consulta el archivo LICENSE para más detalles