Directus MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DIRECTUS_URL | No | The URL of your Directus instance (e.g., https://your-directus-instance.com) | |
| MCP_TOOLSETS | No | A comma-separated list of toolsets to expose (e.g., collections,fields,relations,schema,content,flow,dashboards,all). Default is 'default' which includes collections, fields, relations, and content. | default |
| DIRECTUS_EMAIL | No | Email address for Directus authentication (Alternative to static token) | |
| DIRECTUS_TOKEN | No | Static token for Directus authentication (Recommended for production) | |
| DIRECTUS_PASSWORD | No | Password for Directus authentication (Alternative to static token) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_collectionsB | List all collections in the Directus instance. Returns collection names, metadata, and schema information. |
| get_collectionB | Get detailed information about a specific collection including all fields, metadata, and schema configuration. |
| create_collectionA | Create a new collection (database table) in Directus. Automatically creates a proper database table with schema. Can include initial fields. Example: {collection: "articles", meta: {icon: "article", note: "Blog articles"}, fields: [{field: "id", type: "integer", schema: {is_primary_key: true, has_auto_increment: true}}, {field: "title", type: "string"}]} |
| update_collectionC | Update collection metadata such as icon, note, visibility settings, etc. |
| delete_collectionA | Delete a collection and all its data. This action cannot be undone. Use with caution. |
| list_fieldsB | List all fields in a specific collection with their types, metadata, and schema configuration. |
| create_fieldA | Add a new field to a collection. Specify field type, interface, and constraints. Example: {collection: "articles", field: "status", type: "string", meta: {interface: "select-dropdown", options: {choices: [{text: "Draft", value: "draft"}, {text: "Published", value: "published"}]}, required: true}} |
| update_fieldC | Update field properties such as metadata, interface options, or schema constraints. |
| delete_fieldA | Remove a field from a collection. This will delete the column and all its data. Use with caution. |
| list_relationsA | List all relations (foreign keys, M2O, O2M, M2M) in the Directus instance. |
| create_relationA | Create a relation between collections (M2O, O2M, or M2M). For M2O: specify collection, field, and related_collection. For O2M: also include meta.one_field. Example M2O: {collection: "articles", field: "author", related_collection: "users"} |
| delete_relationB | Delete a relation. Specify the collection and field that contains the relation. |
| query_itemsA | Query items from a collection with advanced filtering, sorting, pagination, and search. Supports Directus filter operators like _eq, _neq, _lt, _lte, _gt, _gte, _in, _nin, _null, _nnull, _contains, _ncontains, _starts_with, _nstarts_with, _ends_with, _nends_with, _between, _nbetween. Example: {collection: "articles", filter: {"status": {"_eq": "published"}, "date_created": {"_gte": "2024-01-01"}}, sort: ["-date_created"], limit: 10} |
| get_itemA | Get a single item by ID from a collection. Optionally specify fields to return and deep query for relational data. |
| create_itemA | Create a new item in a collection. Provide the item data as key-value pairs. Example: {collection: "articles", data: {title: "My Article", status: "draft", body: "Article content..."}} |
| update_itemA | Update an existing item in a collection. Provide the item ID and fields to update. Example: {collection: "articles", id: 1, data: {status: "published"}} |
| delete_itemA | Delete an item from a collection by ID. This action cannot be undone. |
| bulk_create_itemsA | Create multiple items in a collection at once. More efficient than creating items one by one. Example: {collection: "articles", items: [{title: "Article 1", status: "draft"}, {title: "Article 2", status: "draft"}]} |
| bulk_update_itemsA | Update multiple items in a collection at once. Each item must include an id field. Example: {collection: "articles", items: [{id: 1, status: "published"}, {id: 2, status: "published"}]} |
| bulk_delete_itemsA | Delete multiple items from a collection at once by their IDs. This action cannot be undone. Example: {collection: "articles", ids: [1, 2, 3]} |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Skeyelab/directus-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server