Directus MCP Server
Un servidor MCP para Directus CMS, que permite a los clientes de IA interactuar con la API de Directus.
Documentación
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).
ℹ Requisitos previos
▶️ Inicio rápido
-
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
-
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:
- Ve a Configuración → Configuración de Cursor → MCP
- Haz clic en
+ Add New Global MCP Server - Pega la configuración
- Reemplaza los valores de los marcadores de posición con tus credenciales de Directus
- Guarda y reinicia Cursor
Para Claude Desktop:
- Abre Configuración → Desarrollador
- Haz clic en
Edit Config - Abre
claude_desktop_config.jsonen un editor de código y pega la configuración - Reemplaza los valores de los marcadores de posición con tus credenciales de Directus
- 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
- Verifica que tu URL de Directus sea correcta y accesible
- Comprueba que tu token de acceso o tus credenciales de correo electrónico/contraseña sean válidos
- Reemplaza las credenciales en la configuración de tu cliente MCP
- 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:
-
Clona e instala:
git clone https://github.com/pixelsock/directus-mcp.git cd directus-mcp npm install -
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 -
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 entorno | Valor predeterminado | Descripción |
|---|---|---|
MCP_TRANSPORT | stdio | Modo de transporte: stdio o http / streamable-http |
MCP_PORT | 3000 | Puerto TCP en el que escucha el servidor HTTP |
MCP_HOST | 127.0.0.1 | Host/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"
}
}
}