Directus MCP Server

Um servidor MCP para o Directus CMS, permitindo que clientes de IA interaj

Documentação

smithery badge

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).

Directus Server MCP server

ℹ Pré-requisitos

▶️ Início rápido

  1. 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
  2. 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:

    1. Vá para Configurações → Configurações do Cursor → MCP
    2. Clique em + Add New Global MCP Server
    3. Cole a configuração
    4. Substitua os valores de exemplo pelas suas credenciais do Directus
    5. Salve e reinicie o Cursor

    Para Claude Desktop:

    1. Abra Configurações → Desenvolvedor
    2. Clique em Edit Config
    3. Abra claude_desktop_config.json em um editor de código e cole a configuração
    4. Substitua os valores de exemplo pelas suas credenciais do Directus
    5. 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

  1. Verifique se a URL do seu Directus está correta e acessível
  2. Confirme se seu token de acesso ou credenciais de e-mail/senha são válidos
  3. Substitua as credenciais na configuração do seu cliente MCP
  4. 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:

  1. Clone e instale:

    git clone https://github.com/pixelsock/directus-mcp.git
    cd directus-mcp
    npm install
    
  2. 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
    
  3. 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 ambientePadrãoDescrição
MCP_TRANSPORTstdioModo de transporte: stdio ou http / streamable-http
MCP_PORT3000Porta TCP na qual o servidor HTTP escuta
MCP_HOST127.0.0.1Host/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"
    }
  }
}

📄 Recursos de desenvolvimento do Directus