This server can drop a collection and everything in it, so the useful discipline is to run more than one entry with different `MCP_TOOLSETS` — the README's own example registers a schema-only server and a content-only server side by side. Schema, flow and dashboard tools stay hidden unless you name them, which is a sensible default: an assistant working on content never sees the tools that can restructure the database.
An MCP server for Directus covering both halves of the product: schema management — collections, fields and relations — and content management with full CRUD and querying on items. It is built on the official `@directus/sdk` with Zod validation on the tool arguments.
- Collection management — `list_collections`, `get_collection`, `create_collection` (which creates a real database table, not just a folder), `update_collection`, `delete_collection`
- Field management with type, interface and schema options — `list_fields`, `create_field`, `update_field`, `delete_field`
- Relations between collections — `list_relations`, `create_relation`, `delete_relation`
- Item querying with the whole Directus query surface: fields, filter, search, sort, limit, offset, page, aggregate, groupBy and deep relational queries — `query_items`, `get_item`
- Item writes, single and bulk — `create_item`, `update_item`, `delete_item`, `bulk_create_items`, `bulk_update_items`, `bulk_delete_items`
- Toolsets that decide what the client ever sees: `collections`, `fields`, `relations`, `content`, `schema`, `flow`, `dashboards`, `default` and `all`
A Directus instance and credentials in the environment: `DIRECTUS_URL` plus either a static `DIRECTUS_TOKEN` — recommended for production — or `DIRECTUS_EMAIL` and `DIRECTUS_PASSWORD`. Run it from a checkout you build yourself. The README's own npm section is headed "From npm (once published)" — the package was never published under this project, and the name `directus-mcp-server` on npm today belongs to an unrelated publisher, so the `npx` line in its config block installs somebody else's code. `MCP_TOOLSETS` is a comma-separated list; leave it unset and you get the `default` toolset — collections, fields, relations and content — while `schema`, `flow` and `dashboards` must be asked for by name. Invalid names are ignored with a warning, and if all of them are invalid the server falls back to `default`. The package is `@skeyelab/directus-mcp-server` 2.2.0.
