Directus MCP Server

Un servidor MCP para Directus CMS, que permite a los clientes de IA interactuar con la API de Directus.

Documentación

smithery badge

Directus MCP Server

Un servidor Node.js que implementa el Protocolo de Contexto de Modelo (MCP) para Directus CMS. Permite que los clientes de IA interactúen con la API de Directus a través del Protocolo de Contexto de Modelo (MCP).

Directus Server MCP server

ℹ Requisitos previos

▶️ Inicio rápido

  1. Obtén tus credenciales de la API de Directus

    • Ve a tu instancia de Directus
    • Crea un token de acceso estático u obtén tu correo electrónico y contraseña
    • Mantén estas credenciales seguras
  2. Agrégalo a tu 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, puedes usar autenticación con correo electrónico/contraseña:

    {
      "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. Ve a Configuración → Configuración de Cursor → MCP
    2. Haz clic en + Add New Global MCP Server
    3. Pega la configuración
    4. Reemplaza los valores de los marcadores de posición con tus credenciales de Directus
    5. Guarda y reinicia Cursor

    Para Claude Desktop:

    1. Abre Configuración → Desarrollador
    2. Haz clic en Edit Config
    3. Abre claude_desktop_config.json en un editor de código y pega la configuración
    4. Reemplaza los valores de los marcadores de posición con tus credenciales de Directus
    5. Guarda y reinicia Claude

❓ Solución de problemas

Si tienes problemas para iniciar el servidor en tu cliente MCP, por ejemplo Cursor o Claude Desktop, intenta lo siguiente.

Asegúrate de tener credenciales válidas de Directus

  1. Verifica que tu URL de Directus sea correcta y accesible
  2. Comprueba que tu token de acceso o tus credenciales de correo electrónico/contraseña sean válidos
  3. Reemplaza las credenciales en la configuración de tu cliente MCP
  4. Guarda y reinicia tu cliente MCP

Asegúrate de tener Node y NPM instalados

Ejecuta los siguientes comandos para confirmar que tienes Node y NPM instalados:

node -v
npm -v

Limpia tu caché de NPM

A veces limpiar tu caché de NPM puede resolver problemas con npx.

npm cache clean --force

🛠️ Herramientas disponibles

Colecciones y elementos

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

Archivos

getFiles                // Get files from Directus
uploadFile              // Upload a file to Directus

Usuarios y permisos

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 desarrollo

Si deseas ejecutar el servidor en modo de desarrollo:

  1. Clona e instala:

    git clone https://github.com/pixelsock/directus-mcp.git
    cd directus-mcp
    npm install
    
  2. Agrega tus credenciales a .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. Inicia el servidor de desarrollo:

    npm run dev
    

🌐 Transporte HTTP (implementaciones multiusuario / remotas)

Por defecto, el servidor utiliza el transporte stdio, que es ideal para editores de IA locales de un solo usuario (Cursor, Claude Desktop, etc.).

Para entornos multiusuario o remotos, puedes cambiar al transporte HTTP Streamable configurando la variable de entorno MCP_TRANSPORT.

Configuración

Variable de entornoValor predeterminadoDescripción
MCP_TRANSPORTstdioModo de transporte: stdio o http / streamable-http
MCP_PORT3000Puerto TCP en el que escucha el servidor HTTP
MCP_HOST127.0.0.1Host/interfaz a la que vincularse. Usa 0.0.0.0 para vincular todas las interfaces

También puedes pasar --transport=http como argumento de línea de comandos en lugar de configurar la variable de entorno.

Ejecutar el 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

Ejemplo con 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

Conectar un cliente MCP al servidor HTTP

Una vez que el servidor esté en ejecución, configura tu cliente MCP para conectarse a:

http://<host>:<port>/mcp

Por ejemplo, con un cliente que admita el transporte HTTP Streamable:

{
  "mcpServers": {
    "directus": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

📄 Recursos de desarrollo de Directus