drupal-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DRUPAL_USER | Yes | The Drupal username for the bot user | |
| DRUPAL_BASE_URL | Yes | The base URL of your Drupal site (e.g. https://your-site.example.com) | |
| DRUPAL_PASSWORD | Yes | The password for the bot user |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| drupal_list_nodesA | List nodes of a given bundle (content type). Returns a paginated set of nodes with their attributes flattened. Default sort is by created date desc. |
| drupal_get_nodeA | Fetch a single node by bundle + UUID. |
| drupal_create_nodeA | Create a new node. Pass attributes (and optional relationships) using JSON:API field names. |
| drupal_update_nodeB | Patch an existing node by UUID. Pass only the attributes / relationships you want to change. |
| drupal_delete_nodeA | Delete a node by bundle + UUID. Irreversible. |
| drupal_list_taxonomy_termsB | List terms in a vocabulary (e.g. "category", "tags"). Default sort is "weight". |
| drupal_list_usersC | List Drupal users. Requires the configured account to have permission to view users. |
| drupal_query_jsonapiA | Escape hatch: arbitrary GET against the JSON:API. Use when the higher-level tools do not cover what you need (custom resources, /jsonapi/index, etc.). |
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/lucaspretti/drupal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server