Directus MCP Server
Um servidor MCP para o Directus CMS, permitindo que clientes de IA interaj
Documentação
Directus MCP Server
Um servidor Node.js que implementa o Model Context Protocol (MCP) para o Directus CMS. Permite que clientes de IA interajam com a Directus API por meio do Model Context Protocol (MCP).
ℹ Pré-requisitos
▶️ Início rápido
-
Obtenha suas credenciais da API do Directus
- Acesse sua instância do Directus
- Crie um token de acesso estático ou obtenha seu e-mail e senha
- Mantenha essas credenciais em segurança
-
Adicione ao seu editor de IA
{ "mcpServers": { "directus": { "command": "npx", "args": ["-y", "@pixelsock/directus-mcp@latest"], "env": { "DIRECTUS_URL": "https://your-directus-instance.com", "DIRECTUS_ACCESS_TOKEN": "YOUR_ACCESS_TOKEN" } } } }Alternativamente, você pode usar autenticação por e-mail/senha:
{ "mcpServers": { "directus": { "command": "npx", "args": ["-y", "@pixelsock/directus-mcp@latest"], "env": { "DIRECTUS_URL": "https://your-directus-instance.com", "DIRECTUS_EMAIL": "your-email@example.com", "DIRECTUS_PASSWORD": "your-password" } } } }Para Cursor:
- Vá para Configurações → Configurações do Cursor → MCP
- Clique em
+ Add New Global MCP Server - Cole a configuração
- Substitua os valores de exemplo pelas suas credenciais do Directus
- Salve e reinicie o Cursor
Para Claude Desktop:
- Abra Configurações → Desenvolvedor
- Clique em
Edit Config - Abra
claude_desktop_config.jsonem um editor de código e cole a configuração - Substitua os valores de exemplo pelas suas credenciais do Directus
- Salve e reinicie o Claude
❓ Solução de problemas
Se você estiver tendo problemas para iniciar o servidor no seu cliente MCP, por exemplo, Cursor ou Claude Desktop, tente o seguinte.
Certifique-se de ter credenciais válidas do Directus
- Verifique se a URL do seu Directus está correta e acessível
- Confirme se seu token de acesso ou credenciais de e-mail/senha são válidos
- Substitua as credenciais na configuração do seu cliente MCP
- Salve e reinicie seu cliente MCP
Certifique-se de ter Node e NPM instalados
Execute os seguintes comandos para confirmar que você tem Node e NPM instalados:
node -v
npm -v
Limpe o cache do NPM
Às vezes, limpar o cache do NPM pode resolver problemas com npx.
npm cache clean --force
🛠️ Ferramentas disponíveis
Coleções e Itens
getItems // Get items from a collection
getItem // Get a single item from a collection by ID
createItem // Create a new item in a collection
updateItem // Update an existing item in a collection
deleteItem // Delete an item from a collection
getCollections // Get all collection schemas
getFields // Get fields for a collection
getRelations // Get relations for a collection
Arquivos
getFiles // Get files from Directus
uploadFile // Upload a file to Directus
Usuários e Permissões
login // Login to Directus and get an access token
getUsers // Get users from Directus
getCurrentUser // Get the current user info
getRoles // Get roles from Directus
getPermissions // Get permissions from Directus
Sistema
getSystemInfo // Get system information from Directus
getActivity // Get activity logs from Directus
getConfig // Get current configuration information
🚧 Modo de desenvolvimento
Se você quiser executar o servidor em modo de desenvolvimento:
-
Clone e instale:
git clone https://github.com/pixelsock/directus-mcp.git cd directus-mcp npm install -
Adicione suas credenciais ao
.env:# .env DIRECTUS_URL=https://your-directus-instance.com DIRECTUS_ACCESS_TOKEN=your_token_here # Or use email/password DIRECTUS_EMAIL=your-email@example.com DIRECTUS_PASSWORD=your-password -
Inicie o servidor de desenvolvimento:
npm run dev
🌐 Transporte HTTP (implantações multiusuário / remotas)
Por padrão, o servidor usa o transporte stdio, que é ideal para editores de IA locais de usuário único (Cursor, Claude Desktop, etc.).
Para ambientes multiusuário ou remotos, você pode alternar para o Streamable HTTP transport definindo a variável de ambiente MCP_TRANSPORT.
Configuração
| Variável de ambiente | Padrão | Descrição |
|---|---|---|
MCP_TRANSPORT | stdio | Modo de transporte: stdio ou http / streamable-http |
MCP_PORT | 3000 | Porta TCP na qual o servidor HTTP escuta |
MCP_HOST | 127.0.0.1 | Host/interface para vincular. Use 0.0.0.0 para vincular todas as interfaces |
Você também pode passar --transport=http como argumento de linha de comando em vez de definir a variável de ambiente.
Executando o servidor HTTP
# Via environment variable
MCP_TRANSPORT=http MCP_PORT=3000 MCP_HOST=0.0.0.0 node dist/index.js
# Via CLI argument
node dist/index.js --transport=http
Exemplo com Docker
docker run -p 3000:3000 \
-e DIRECTUS_URL=https://your-directus-instance.com \
-e DIRECTUS_ACCESS_TOKEN=your_token_here \
-e MCP_TRANSPORT=http \
-e MCP_HOST=0.0.0.0 \
ghcr.io/pixelsock/directus-mcp
Conectando um cliente MCP ao servidor HTTP
Depois que o servidor estiver em execução, configure seu cliente MCP para conectar-se a:
http://<host>:<port>/mcp
Por exemplo, com um cliente que suporte o Streamable HTTP transport:
{
"mcpServers": {
"directus": {
"url": "http://localhost:3000/mcp"
}
}
}