Directus Task MCP Server
Gerencie tarefas no Directus com sincronização automática de esquema.
Documentação
Directus Task MCP Server
Um servidor Model Context Protocol (MCP) para gerenciar tarefas no Directus com sincronização automática de esquema. Este servidor permite que você interaja com seu banco de dados PostgreSQL do Directus por meio de assistentes de IA como Claude ou Cursor.
Recursos
- Gerenciamento de Tarefas: Criar, ler, atualizar e excluir tarefas
- Gerenciamento de Esquema: Sincroniza automaticamente modelos TypeScript para coleções do Directus
- Filtragem: Filtrar tarefas por status, prioridade e outros critérios
- Validação: Validação integrada usando esquemas Zod
- Segurança de Tipos: Suporte completo a TypeScript com tipagem adequada
Pré-requisitos
- Node.js 18+
- Uma instância do Directus (local ou hospedada)
- Token da API do Directus ou credenciais de usuário
Instalação
-
Clone e configure o projeto:
npm install npm run build -
Configure sua conexão com o Directus:
O servidor usa as seguintes variáveis de ambiente:
DIRECTUS_URL: URL da sua instância do Directus (padrão: https://te9-pg-api.up.railway.app/)DIRECTUS_TOKEN: Seu token da API do Directus (padrão: mo7tahjWjKgHW-42_tEMThJiqBstu2V_)DIRECTUS_USER_EMAIL: Alternativa ao token - e-mail do usuárioDIRECTUS_USER_PASSWORD: Alternativa ao token - senha do usuário
Configuração
Para Cursor
- Crie um arquivo
.cursor/mcp.jsonna raiz do seu projeto:{ "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
- Abra as configurações do Claude Desktop
- Navegue até a aba Desenvolvedor e clique em "Editar Configuração"
- Adicione a seguinte configuração:
{ "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: Substitua /absolute/path/to/your/project pelo caminho absoluto real do diretório do seu projeto.
Ferramentas Disponíveis
O servidor MCP fornece as seguintes ferramentas:
Gerenciamento de Esquema
sync-task-schema: Sincroniza o esquema do modelo Task com seu banco de dados do Directus
Gerenciamento de Tarefas
list-tasks: Lista todas as tarefas com filtragem opcional por status, prioridade e limiteget-task: Obtém uma tarefa específica por IDcreate-task: Cria uma nova tarefaupdate-task: Atualiza uma tarefa existentedelete-task: Exclui uma tarefa
Gerenciamento de Usuários
get-user-info: Obtém informações do usuário atual
Modelo de Tarefa
O modelo Task inclui os seguintes 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
}
Exemplos de Uso
1. Configuração Inicial
Please sync the task schema with the database
2. Criar uma Tarefa
Create a new task with title "Implement user authentication" and high priority
3. Listar Tarefas
Show me all tasks with status "in_progress"
4. Atualizar uma Tarefa
Update task with ID [task-id] to completed status
5. Obter Detalhes da Tarefa
Show me details for task [task-id]
Desenvolvimento
Estrutura do Projeto
src/
├── models/
│ └── Task.ts # Task model with TypeScript interfaces and Zod schemas
├── services/
│ └── SchemaManager.ts # Schema management service
└── index.ts # Main MCP server implementation
Adicionando Novos Modelos
- Crie um novo arquivo de modelo em
src/models/ - Defina interfaces TypeScript e esquemas Zod
- Exporte definições de campos para o Directus
- Adicione ferramentas ao servidor principal para o novo modelo
- Use o SchemaManager para sincronizar o esquema
Comandos de Desenvolvimento
# Install dependencies
npm install
# Build the project
npm run build
# Development mode (watch for changes)
npm run dev
# Start the server directly
npm start
Solução de Problemas
Problemas Comuns
- Erros de Autenticação: Verifique se a URL e o token do Directus estão corretos
- Falhas na Sincronização de Esquema: Certifique-se de que seu usuário do Directus tenha permissões de administrador
- Problemas de Conexão: Verifique se sua instância do Directus está acessível
Depuração
O servidor registra erros no stderr. Você pode verificar os logs no console do seu assistente de IA ou no terminal.
Notas de Segurança
- Armazene seu token do Directus com segurança
- Use variáveis de ambiente para configurações sensíveis
- Considere usar uma conta de serviço dedicada para o servidor MCP
- Rotacione regularmente seus tokens de API
Contribuindo
- Faça um fork do repositório
- Crie um branch de funcionalidade
- Faça suas alterações
- Adicione testes, se aplicável
- Envie um pull request
Licença
Licença MIT - consulte o arquivo LICENSE para obter detalhes