← Back to directory
D

Directus Content MCP Server

Official
Let LLMs interact directly with your Directus data.
Category
Database #8 of 58
Stars
★ 86 Popular
Transport
stdio (local process)
Runtime
Node.js
Credentials
API key / credential required
License
MIT
Last commit
⚠
Tools
21
70FMRS · B

An officially maintained MCP server for Directus data with comprehensive tool coverage (items, files, fields, flows, comments, prompts), built-in guardrails against data loss, and solid config options. Ideal for content and analysis workflows; useless outside Directus, and intentionally restrictive for developers needing destructive operations.

Strongest · Documentation 18/20 Weakest · Reliability 10/20

Reliability
10/20
Security and permissions
15/20
Maintenance
12/20
Documentation
18/20
Setup experience
15/20
Why each score
Reliability 10/20
The MCP server provides a comprehensive set of tools, but as a static review, we cannot verify actual runtime performance. The codebase appears well-structured, but there's no visible evidence of test cases or CI/CD workflows. The declared tools match the README descriptions, but error handling mechanisms cannot be assessed.
Security and permissions 15/20
The server supports both token and password authentication with environment variable configuration. It intentionally limits destructive operations like deleting fields or collections. No obvious security vulnerabilities were found, though complete verification of all edge cases isn't possible in a static review.
Maintenance 12/20
The project has 83 stars and 13 open issues, indicating some community engagement. The MIT license is clearly visible. However, commit history and release frequency cannot be determined from a static review, and dependency update status is unknown.
Documentation 18/20
The README is very detailed, providing installation, configuration, and usage instructions. It includes multiple configuration examples for different scenarios. The tools table clearly lists all available tools and their purposes. System prompt configuration and Mustache templating features are well-documented.
Setup experience 15/20
Installation steps are clear and straightforward, supporting multiple AI tools (Claude Desktop, Cursor). Configuration examples are provided for both production and development environments. Environment variable configuration options are comprehensive and easy to set up.

Static review · not runListed 2026-09-07

Read the FMRS scoring method →

Fit and risk

What it can accessReads local filesWrites / deletes local filesUses the networkChanges third-party account dataConnects to a database

Best for

  • Content teams already on Directus who want to read and write content via LLMs
  • Analysts querying Directus data with natural language
  • Directus projects wanting controlled, guardrailed data access for non-developers

Not for

  • Projects not using Directus
  • Developers needing full destructive/admin operations on dev instances (field and collection deletion is intentionally limited)
  • Clients that do not support MCP

Required permissions

  • Requires the Directus instance URL plus a static token or email/password credentials
  • Actions are limited by the permissions of the associated Directus user

Risks and side effects

  • Has write access to create, update, and delete items and fields, so misconfiguration can still modify data
  • Leaked credentials grant LLM access to Directus data
  • While field/collection deletion is limited, item deletion remains available

Setup

Before you start

Runtime:Node.js

DIRECTUS_URL required Your Directus instance URL, e.g. https://your-directus-url.com; required.
DIRECTUS_TOKEN optionalsecret Static access token generated in the Token field of your own user profile in the Directus User Directory; alternative to email/password.
DIRECTUS_USER_PASSWORD optionalsecret Directus login password, used together with DIRECTUS_USER_EMAIL.
Other optional settings (10)
DIRECTUS_USER_EMAIL optional Directus login email, used with the password as an alternative to the token.
MCP_SYSTEM_PROMPT optional Custom text that overrides the server's default system prompt; optional.
MCP_SYSTEM_PROMPT_ENABLED optional Set to false to disable the system prompt entirely; optional.
DISABLE_TOOLS optional Array of tool names to disable, e.g. ["delete-item", "update-field"]; optional.
DIRECTUS_PROMPTS_COLLECTION_ENABLED optional Set to "true" to enable dynamic prompts stored in a Directus collection.
DIRECTUS_PROMPTS_COLLECTION optional Name of the collection containing prompts, e.g. ai_prompts.
DIRECTUS_PROMPTS_NAME_FIELD optional Field name for the prompt name; defaults to name.
DIRECTUS_PROMPTS_DESCRIPTION_FIELD optional Field name for the prompt description; defaults to description.
DIRECTUS_PROMPTS_SYSTEM_PROMPT_FIELD optional Field name for the system prompt text; defaults to system_prompt.
DIRECTUS_PROMPTS_MESSAGES_FIELD optional Field name for the messages array; defaults to messages.

Prerequisite: an existing Directus project (free trial on Directus Cloud, or run npx directus-template-cli@latest init locally). Step 1: get credentials — generate a static token in your user profile (remember to save the user) or use email and password. Step 2: add the server to Claude Desktop or Cursor MCP config with command npx @directus/content-mcp@latest and env vars DIRECTUS_URL plus DIRECTUS_TOKEN (or DIRECTUS_USER_EMAIL / DIRECTUS_USER_PASSWORD), save and restart the client. Local dev: clone the repo, run pnpm install && pnpm build, point the config at dist/index.js, and use pnpm dev to watch changes.

claude_desktop_config.json
{"mcpServers":{"directus":{"command":"npx","args":["@directus/content-mcp@latest"],"env":{"DIRECTUS_URL":"https://your-directus-url.com","DIRECTUS_TOKEN":"your-directus-token"}}}}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "directus": {
      "command": "npx",
      "args": [
        "@directus/content-mcp@latest"
      ],
      "env": {
        "DIRECTUS_URL": "https://your-directus-url.com",
        "DIRECTUS_TOKEN": "your-directus-token"
      }
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add directus -e DIRECTUS_URL=https://your-directus-url.com -e DIRECTUS_TOKEN=your-directus-token -- npx @directus/content-mcp@latest

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After configuring the client and restarting it, confirm the Directus MCP server shows as connected (green status in Cursor, or the server icon in Claude Desktop), then ask it to run read-collections or users-me; a successful response proves the credentials work.

Troubleshooting

  1. If a static token shows 'Invalid token!', check that you saved the user after generating the token
  2. Verify DIRECTUS_URL and credentials replace all placeholder values
  3. Restart Claude Desktop after editing config to see the Directus MCP icon
  4. In Cursor, check Settings/MCP for a green active status

Things to try

Once connected, you can ask your AI assistant things like:

  • List all collections in my Directus instance and describe their schema.
  • Fetch the latest 10 items from the posts collection.
  • Create a new blog post draft titled 'Launch Notes' in the posts collection.
  • Import the image at this URL into my Directus files.

Tools 21

system-prompt read-only
Provides context to the LLM assistant about its role
users-me read-only
Get current user information
read-collections read-only
Retrieve the schema of all collections
read-items read-only
Fetch items from any collection
create-item writes
Create new items in collections
update-item writes
Modify existing items
delete-item destructive
Remove items from collections
read-files read-only
Access file metadata or raw content
Show 13 more tools
import-file writes
Import files from URLs
update-files writes
Update file metadata
read-fields read-only
Get field definitions for collections
read-field read-only
Get specific field information
create-field writes
Add new fields to collections
update-field writes
Modify existing fields
read-flows read-only
List available automation flows
trigger-flow writes
Execute automation flows
read-comments read-only
View comments on items
upsert-comment writes
Add or update comments
markdown-tool read-only
Convert between markdown and HTML
get-prompts read-only
List available prompts
get-prompt read-only
Execute a stored prompt

Use cases

Content editors build custom pages, write blog posts, update content, and organize assets
Data analysts query collections, generate reports, and analyze trends in natural language
Trigger automation flows for bulk operations, publishing, or status changes
Format content between Markdown and HTML for WYSIWYG fields

Supported clients

Claude Desktop
Cursor

Listed from the project's documentation, not tested by this site.

Overview

The Directus Content MCP Server is the official MCP interface for Directus users to interact with their data in LLMs. Content editors can build pages, write blog posts, and organize assets, while data analysts can query collections, generate reports, and extract insights using natural language. It intentionally limits destructive actions like deleting fields or collections, and supports system prompts, dynamic prompts stored in Directus collections, Mustache templating, and tool restrictions via DISABLE_TOOLS.

Similar servers

Source revision 472ce5b8dd3d Data synced 2026-10-19 Read the FMRS scoring method