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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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 | |
TDQS
Scored across 8 tools
Each tool targets a distinct Drupal resource or action: node CRUD, taxonomy listing, user listing, and a general query fallback. No overlap or ambiguity.
All tools follow the consistent 'drupal_verb_noun' pattern in snake_case, e.g., drupal_create_node, drupal_list_users, drupal_query_jsonapi.
8 tools is a well-scoped set for a Drupal MCP server, covering core node operations, taxonomy, users, and an escape hatch, without being overwhelming.
Node CRUD is complete, but taxonomy and user operations are limited to listing only, missing create/update/delete. The generic query tool mitigates gaps but does not fully compensate.