MCP-Server

drupal

io.usefulapi/drupal
Entwicklertools Wissen & Dokumentation Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Reads, searches, creates, updates and deletes Drupal JSON:API resources, including nodes, taxonomy terms, users and files.

drupal_create_resource
Create resource
Create a new resource (content entity) for an entity_type/bundle. JSON:API: POST /jsonapi/{entity_type}/{bundle} → 201. Body is { data: { type: entity_type--bundle, attributes, relationships? } }.
Destruktiv
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['entity_type', 'bundle', 'attributes'], 'properties': {'bundle': {'type': 'string', 'description': 'The bundle machine name, e.g. "article", "tags", "user".'}, 'attributes': {'type': 'object', 'description': 'Field values, e.g. { "title": "Hello", "body": { "value": "…", "format": "plain_text" } }.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'entity_type': {'type': 'string', 'description': 'The entity type machine name, e.g. "node", "taxonomy_term", "user".'}, 'relationships': {'type': 'object', 'description': 'Optional relationships, e.g. { "field_tags": { "data": [{ "type": "taxonomy_term--tags", "id": "<uuid>" }] } }.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
drupal_delete_resource
Delete resource
Delete a resource by UUID. JSON:API: DELETE /jsonapi/{entity_type}/{bundle}/{uuid} → 204 (empty body). Returns a small confirmation.
Destruktiv
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['entity_type', 'bundle', 'uuid'], 'properties': {'uuid': {'type': 'string', 'description': 'The entity UUID (JSON:API uses the UUID, never the numeric id).'}, 'bundle': {'type': 'string', 'description': 'The bundle machine name, e.g. "article", "tags", "user".'}, 'entity_type': {'type': 'string', 'description': 'The entity type machine name, e.g. "node", "taxonomy_term", "user".'}}}
drupal_get_resource
Get resource
Get a single resource by UUID for an entity_type/bundle, with optional includes. JSON:API: GET /jsonapi/{entity_type}/{bundle}/{uuid}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['entity_type', 'bundle', 'uuid'], 'properties': {'uuid': {'type': 'string', 'description': 'The entity UUID (JSON:API uses the UUID, never the numeric id).'}, 'bundle': {'type': 'string', 'description': 'The bundle machine name, e.g. "article", "tags", "user".'}, 'include': {'type': 'string', 'description': 'Comma-separated relationship paths to include, e.g. uid,field_tags (→ query param include).'}, 'entity_type': {'type': 'string', 'description': 'The entity type machine name, e.g. "node", "taxonomy_term", "user".'}}}
drupal_list_resources
List resources
List a collection of resources for an entity_type/bundle, with optional sorting, pagination, includes, and a single-field filter. JSON:API: GET /jsonapi/{entity_type}/{bundle}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['entity_type', 'bundle'], 'properties': {'sort': {'type': 'string', 'description': 'Field to sort by; prefix with - for descending, e.g. -created (→ query param sort).'}, 'bundle': {'type': 'string', 'description': 'The bundle machine name, e.g. "article", "tags", "user".'}, 'include': {'type': 'string', 'description': 'Comma-separated relationship paths to include, e.g. uid,field_tags (→ query param include).'}, 'page_limit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Max records to return (→ query param page[limit]).'}, 'entity_type': {'type': 'string', 'description': 'The entity type machine name, e.g. "node", "taxonomy_term", "user".'}, 'page_offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Records to skip (→ query param page[offset]).'}, 'filter_field': {'type': 'string', 'description': 'Field path to filter on, e.g. title (used with filter_value; builds a verbose filter).'}, 'filter_value': {'type': 'string', 'description': 'Value to match for filter_field.'}, 'filter_operator': {'type': 'string', 'description': 'Filter operator, e.g. "=", "CONTAINS", ">", "STARTS_WITH". Default "=".'}}}
drupal_list_resource_types
List resource types
List all available JSON:API resource types (entity_type/bundle pairs) with their hrefs, so the agent can discover what to query. JSON:API: GET /jsonapi.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
drupal_search_content
Search content
Convenience node-title search: list nodes of a bundle whose title CONTAINS a query string. JSON:API: GET /jsonapi/node/{bundle} with a verbose CONTAINS filter on title.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['bundle', 'query'], 'properties': {'query': {'type': 'string', 'description': 'Text to match against the node title (CONTAINS).'}, 'bundle': {'type': 'string', 'description': 'The node bundle (content type) machine name, e.g. "article", "page".'}, 'page_limit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Max records to return (→ query param page[limit]).'}}}
drupal_update_resource
Update resource
Update an existing resource by UUID (partial update of attributes and/or relationships). JSON:API: PATCH /jsonapi/{entity_type}/{bundle}/{uuid}. Body is { data: { type, id: uuid, attributes?, relationships? } }.
Destruktiv
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['entity_type', 'bundle', 'uuid'], 'properties': {'uuid': {'type': 'string', 'description': 'The entity UUID (JSON:API uses the UUID, never the numeric id).'}, 'bundle': {'type': 'string', 'description': 'The bundle machine name, e.g. "article", "tags", "user".'}, 'attributes': {'type': 'object', 'description': 'Field values to change.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'entity_type': {'type': 'string', 'description': 'The entity type machine name, e.g. "node", "taxonomy_term", "user".'}, 'relationships': {'type': 'object', 'description': 'Relationships to change.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Geändert
drupal_delete_resource
2. October 2026 02:40
Geändert
drupal_update_resource
2. October 2026 02:40
Geändert
drupal_create_resource
2. October 2026 02:40
Geändert
drupal_search_content
2. October 2026 02:40
Geändert
drupal_get_resource
2. October 2026 02:40
Geändert
drupal_list_resources
2. October 2026 02:40
Geändert
drupal_list_resource_types
2. October 2026 02:40
Hinzugefügt
drupal_delete_resource
30. September 2026 02:40
Hinzugefügt
drupal_update_resource
30. September 2026 02:40
Hinzugefügt
drupal_create_resource
30. September 2026 02:40
Hinzugefügt
drupal_search_content
30. September 2026 02:40
Hinzugefügt
drupal_get_resource
30. September 2026 02:40
Hinzugefügt
drupal_list_resources
30. September 2026 02:40
Hinzugefügt
drupal_list_resource_types
30. September 2026 02:40