drupal-mcp-connector 2.7.3 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/commands/drupal-audit-config-best-practices.md +15 -0
- package/{.claude → .agents}/commands/drupal-audit-site-health.md +4 -5
- package/.agents/commands/drupal-block-user.md +19 -0
- package/{.claude → .agents}/commands/drupal-bulk-create.md +4 -5
- package/{.claude → .agents}/commands/drupal-bulk-update.md +4 -5
- package/.agents/commands/drupal-config-get.md +18 -0
- package/.agents/commands/drupal-config-list.md +16 -0
- package/.agents/commands/drupal-config-set.md +19 -0
- package/.agents/commands/drupal-content-by-moderation-state.md +21 -0
- package/.agents/commands/drupal-create-block.md +20 -0
- package/{.claude → .agents}/commands/drupal-create-media.md +4 -5
- package/{.claude → .agents}/commands/drupal-create-menu-link.md +4 -5
- package/{.claude → .agents}/commands/drupal-create-node.md +7 -8
- package/{.claude → .agents}/commands/drupal-create-paragraph.md +4 -5
- package/{.claude → .agents}/commands/drupal-create-redirect.md +4 -5
- package/.agents/commands/drupal-create-taxonomy-term.md +22 -0
- package/{.claude → .agents}/commands/drupal-create-translation.md +4 -5
- package/.agents/commands/drupal-create-user.md +23 -0
- package/.agents/commands/drupal-delete-media.md +21 -0
- package/.agents/commands/drupal-delete-node.md +22 -0
- package/.agents/commands/drupal-delete-taxonomy-term.md +21 -0
- package/{.claude → .agents}/commands/drupal-describe-fields.md +4 -5
- package/.agents/commands/drupal-drush-cache-rebuild.md +15 -0
- package/.agents/commands/drupal-drush-config-export.md +15 -0
- package/.agents/commands/drupal-drush-config-import.md +15 -0
- package/.agents/commands/drupal-drush-config-status.md +15 -0
- package/.agents/commands/drupal-drush-cron.md +15 -0
- package/.agents/commands/drupal-drush-module-disable.md +20 -0
- package/.agents/commands/drupal-drush-module-enable.md +18 -0
- package/.agents/commands/drupal-drush-module-list.md +16 -0
- package/.agents/commands/drupal-drush-security-updates.md +15 -0
- package/{.claude → .agents}/commands/drupal-drush-sql-query.md +4 -5
- package/.agents/commands/drupal-drush-status.md +15 -0
- package/.agents/commands/drupal-drush-updatedb.md +15 -0
- package/.agents/commands/drupal-drush-user-create.md +21 -0
- package/.agents/commands/drupal-drush-user-list.md +18 -0
- package/.agents/commands/drupal-drush-watchdog.md +18 -0
- package/{.claude → .agents}/commands/drupal-entity-create.md +4 -5
- package/.agents/commands/drupal-entity-delete.md +23 -0
- package/.agents/commands/drupal-entity-get.md +21 -0
- package/{.claude → .agents}/commands/drupal-entity-list.md +4 -5
- package/{.claude → .agents}/commands/drupal-entity-update.md +7 -8
- package/.agents/commands/drupal-find-orphaned-media.md +17 -0
- package/.agents/commands/drupal-get-entity-schema.md +19 -0
- package/.agents/commands/drupal-get-media.md +19 -0
- package/.agents/commands/drupal-get-node.md +19 -0
- package/{.claude → .agents}/commands/drupal-get-paragraph.md +4 -5
- package/{.claude → .agents}/commands/drupal-get-revision.md +4 -5
- package/.agents/commands/drupal-get-taxonomy-term.md +19 -0
- package/.agents/commands/drupal-get-taxonomy-terms.md +20 -0
- package/.agents/commands/drupal-get-user-by-name.md +18 -0
- package/.agents/commands/drupal-get-user.md +18 -0
- package/{.claude → .agents}/commands/drupal-governance-status.md +4 -5
- package/.agents/commands/drupal-graphql-introspect.md +16 -0
- package/{.claude → .agents}/commands/drupal-graphql.md +4 -5
- package/{.claude → .agents}/commands/drupal-list-blocks.md +4 -5
- package/.agents/commands/drupal-list-content-types.md +15 -0
- package/.agents/commands/drupal-list-entity-types.md +15 -0
- package/.agents/commands/drupal-list-media-types.md +15 -0
- package/.agents/commands/drupal-list-media.md +20 -0
- package/{.claude → .agents}/commands/drupal-list-menu-links.md +4 -5
- package/.agents/commands/drupal-list-moderation-states.md +19 -0
- package/{.claude → .agents}/commands/drupal-list-nodes.md +4 -5
- package/{.claude → .agents}/commands/drupal-list-revisions.md +4 -5
- package/.agents/commands/drupal-list-roles.md +15 -0
- package/{.claude → .agents}/commands/drupal-list-sites.md +2 -3
- package/{.claude → .agents}/commands/drupal-list-translations.md +4 -5
- package/.agents/commands/drupal-list-users.md +19 -0
- package/.agents/commands/drupal-list-vocabularies.md +15 -0
- package/.agents/commands/drupal-mcp-whoami.md +15 -0
- package/.agents/commands/drupal-report-404-log.md +16 -0
- package/.agents/commands/drupal-report-accessibility-audit.md +17 -0
- package/.agents/commands/drupal-report-alias-coverage.md +17 -0
- package/.agents/commands/drupal-report-broken-embeds.md +17 -0
- package/{.claude → .agents}/commands/drupal-report-broken-links.md +4 -5
- package/.agents/commands/drupal-report-cache-config.md +15 -0
- package/.agents/commands/drupal-report-config-drift.md +15 -0
- package/.agents/commands/drupal-report-content-by-author.md +17 -0
- package/.agents/commands/drupal-report-content-summary.md +15 -0
- package/.agents/commands/drupal-report-duplicate-content.md +17 -0
- package/.agents/commands/drupal-report-field-completeness.md +20 -0
- package/.agents/commands/drupal-report-menu-integrity.md +16 -0
- package/{.claude → .agents}/commands/drupal-report-missing-field.md +4 -5
- package/.agents/commands/drupal-report-module-audit.md +15 -0
- package/.agents/commands/drupal-report-orphan-pages.md +17 -0
- package/{.claude → .agents}/commands/drupal-report-orphaned-references.md +4 -5
- package/.agents/commands/drupal-report-permission-audit.md +15 -0
- package/.agents/commands/drupal-report-pii-exposure.md +18 -0
- package/.agents/commands/drupal-report-readability.md +18 -0
- package/.agents/commands/drupal-report-recently-published.md +17 -0
- package/.agents/commands/drupal-report-redirect-health.md +16 -0
- package/.agents/commands/drupal-report-revision-hotspots.md +17 -0
- package/.agents/commands/drupal-report-scheduled-content.md +17 -0
- package/{.claude → .agents}/commands/drupal-report-seo-audit.md +4 -5
- package/.agents/commands/drupal-report-seo-meta-coverage.md +18 -0
- package/.agents/commands/drupal-report-stale-content.md +19 -0
- package/.agents/commands/drupal-report-status-report.md +16 -0
- package/.agents/commands/drupal-report-taxonomy-usage.md +21 -0
- package/.agents/commands/drupal-report-text-format-audit.md +15 -0
- package/.agents/commands/drupal-report-translation-coverage.md +18 -0
- package/.agents/commands/drupal-report-unpublished.md +17 -0
- package/.agents/commands/drupal-report-user-activity.md +17 -0
- package/.agents/commands/drupal-report-workflow-bottlenecks.md +19 -0
- package/{.claude → .agents}/commands/drupal-resolve-reference.md +4 -5
- package/{.claude → .agents}/commands/drupal-revert-revision.md +4 -5
- package/{.claude → .agents}/commands/drupal-schedule-publish.md +4 -5
- package/.agents/commands/drupal-search-content.md +21 -0
- package/.agents/commands/drupal-search.md +20 -0
- package/.agents/commands/drupal-security-info.md +15 -0
- package/.agents/commands/drupal-set-moderation-state.md +20 -0
- package/.agents/commands/drupal-site-info.md +15 -0
- package/.agents/commands/drupal-update-media.md +22 -0
- package/{.claude → .agents}/commands/drupal-update-menu-link.md +4 -5
- package/{.claude → .agents}/commands/drupal-update-node.md +10 -11
- package/{.claude → .agents}/commands/drupal-update-paragraph.md +4 -5
- package/{.claude → .agents}/commands/drupal-update-redirect.md +4 -5
- package/.agents/commands/drupal-update-taxonomy-term.md +22 -0
- package/.agents/commands/drupal-update-user.md +24 -0
- package/{.claude → .agents}/commands/drupal-upload-file-and-create-media.md +4 -5
- package/{.claude → .agents}/commands/drupal-upload-file.md +4 -5
- package/CHANGELOG.md +80 -0
- package/README.md +23 -12
- package/config/config.example.json +1 -1
- package/package.json +4 -2
- package/scripts/generate-commands.js +42 -21
- package/scripts/install-commands.js +157 -0
- package/src/lib/backends/backend-interface.js +20 -1
- package/src/lib/backends/jsonapi.js +47 -4
- package/src/lib/body-summary.js +60 -0
- package/src/lib/data-flow.js +437 -0
- package/src/lib/dispatch.js +99 -30
- package/src/lib/drupal-fetch.js +52 -6
- package/src/lib/field-definition.js +285 -0
- package/src/lib/operations.js +39 -2
- package/src/lib/patch-preflight.js +157 -66
- package/src/lib/security.js +15 -1
- package/src/lib/server-tools.js +9 -0
- package/src/lib/site-target.js +78 -0
- package/src/lib/tool-prompts.js +2 -1
- package/src/lib/write-revision.js +82 -2
- package/src/tools/bulk.js +4 -3
- package/src/tools/config.js +5 -2
- package/src/tools/entities.js +11 -7
- package/src/tools/index.js +24 -3
- package/src/tools/moderation.js +88 -9
- package/src/tools/nodes.js +55 -43
- package/.claude/commands/drupal-audit-config-best-practices.md +0 -16
- package/.claude/commands/drupal-block-user.md +0 -20
- package/.claude/commands/drupal-config-get.md +0 -19
- package/.claude/commands/drupal-config-list.md +0 -17
- package/.claude/commands/drupal-config-set.md +0 -20
- package/.claude/commands/drupal-content-by-moderation-state.md +0 -22
- package/.claude/commands/drupal-create-block.md +0 -21
- package/.claude/commands/drupal-create-taxonomy-term.md +0 -23
- package/.claude/commands/drupal-create-user.md +0 -24
- package/.claude/commands/drupal-delete-media.md +0 -22
- package/.claude/commands/drupal-delete-node.md +0 -23
- package/.claude/commands/drupal-delete-taxonomy-term.md +0 -22
- package/.claude/commands/drupal-drush-cache-rebuild.md +0 -16
- package/.claude/commands/drupal-drush-config-export.md +0 -16
- package/.claude/commands/drupal-drush-config-import.md +0 -16
- package/.claude/commands/drupal-drush-config-status.md +0 -16
- package/.claude/commands/drupal-drush-cron.md +0 -16
- package/.claude/commands/drupal-drush-module-disable.md +0 -21
- package/.claude/commands/drupal-drush-module-enable.md +0 -19
- package/.claude/commands/drupal-drush-module-list.md +0 -17
- package/.claude/commands/drupal-drush-security-updates.md +0 -16
- package/.claude/commands/drupal-drush-status.md +0 -16
- package/.claude/commands/drupal-drush-updatedb.md +0 -16
- package/.claude/commands/drupal-drush-user-create.md +0 -22
- package/.claude/commands/drupal-drush-user-list.md +0 -19
- package/.claude/commands/drupal-drush-watchdog.md +0 -19
- package/.claude/commands/drupal-entity-delete.md +0 -24
- package/.claude/commands/drupal-entity-get.md +0 -22
- package/.claude/commands/drupal-find-orphaned-media.md +0 -18
- package/.claude/commands/drupal-get-entity-schema.md +0 -20
- package/.claude/commands/drupal-get-media.md +0 -20
- package/.claude/commands/drupal-get-node.md +0 -20
- package/.claude/commands/drupal-get-taxonomy-term.md +0 -20
- package/.claude/commands/drupal-get-taxonomy-terms.md +0 -21
- package/.claude/commands/drupal-get-user-by-name.md +0 -19
- package/.claude/commands/drupal-get-user.md +0 -19
- package/.claude/commands/drupal-graphql-introspect.md +0 -17
- package/.claude/commands/drupal-list-content-types.md +0 -16
- package/.claude/commands/drupal-list-entity-types.md +0 -16
- package/.claude/commands/drupal-list-media-types.md +0 -16
- package/.claude/commands/drupal-list-media.md +0 -21
- package/.claude/commands/drupal-list-moderation-states.md +0 -20
- package/.claude/commands/drupal-list-roles.md +0 -16
- package/.claude/commands/drupal-list-users.md +0 -20
- package/.claude/commands/drupal-list-vocabularies.md +0 -16
- package/.claude/commands/drupal-mcp-whoami.md +0 -16
- package/.claude/commands/drupal-report-404-log.md +0 -17
- package/.claude/commands/drupal-report-accessibility-audit.md +0 -18
- package/.claude/commands/drupal-report-alias-coverage.md +0 -18
- package/.claude/commands/drupal-report-broken-embeds.md +0 -18
- package/.claude/commands/drupal-report-cache-config.md +0 -16
- package/.claude/commands/drupal-report-config-drift.md +0 -16
- package/.claude/commands/drupal-report-content-by-author.md +0 -18
- package/.claude/commands/drupal-report-content-summary.md +0 -16
- package/.claude/commands/drupal-report-duplicate-content.md +0 -18
- package/.claude/commands/drupal-report-field-completeness.md +0 -21
- package/.claude/commands/drupal-report-menu-integrity.md +0 -17
- package/.claude/commands/drupal-report-module-audit.md +0 -16
- package/.claude/commands/drupal-report-orphan-pages.md +0 -18
- package/.claude/commands/drupal-report-permission-audit.md +0 -16
- package/.claude/commands/drupal-report-pii-exposure.md +0 -19
- package/.claude/commands/drupal-report-readability.md +0 -19
- package/.claude/commands/drupal-report-recently-published.md +0 -18
- package/.claude/commands/drupal-report-redirect-health.md +0 -17
- package/.claude/commands/drupal-report-revision-hotspots.md +0 -18
- package/.claude/commands/drupal-report-scheduled-content.md +0 -18
- package/.claude/commands/drupal-report-seo-meta-coverage.md +0 -19
- package/.claude/commands/drupal-report-stale-content.md +0 -20
- package/.claude/commands/drupal-report-status-report.md +0 -17
- package/.claude/commands/drupal-report-taxonomy-usage.md +0 -22
- package/.claude/commands/drupal-report-text-format-audit.md +0 -16
- package/.claude/commands/drupal-report-translation-coverage.md +0 -19
- package/.claude/commands/drupal-report-unpublished.md +0 -18
- package/.claude/commands/drupal-report-user-activity.md +0 -18
- package/.claude/commands/drupal-report-workflow-bottlenecks.md +0 -20
- package/.claude/commands/drupal-search-content.md +0 -22
- package/.claude/commands/drupal-search.md +0 -21
- package/.claude/commands/drupal-security-info.md +0 -16
- package/.claude/commands/drupal-set-moderation-state.md +0 -21
- package/.claude/commands/drupal-site-info.md +0 -16
- package/.claude/commands/drupal-update-media.md +0 -23
- package/.claude/commands/drupal-update-taxonomy-term.md +0 -23
- package/.claude/commands/drupal-update-user.md +0 -25
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Audit text formats for ones that permit unfiltered HTML (filter_html not enabled), which are dangerous if exposed to untrusted roles. Reads filter.format.* via the connector's drush bridge (or the governed config server-tool when configured); requires config-read access."
|
|
3
|
-
argument-hint: "[site]"
|
|
4
|
-
allowed-tools: mcp__drupal__drupal_report_text_format_audit
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Call the `mcp__drupal__drupal_report_text_format_audit` MCP tool.
|
|
8
|
-
|
|
9
|
-
Audit text formats for ones that permit unfiltered HTML (filter_html not enabled), which are dangerous if exposed to untrusted roles. Reads filter.format.* via the connector's drush bridge (or the governed config server-tool when configured); requires config-read access.
|
|
10
|
-
|
|
11
|
-
Parse the request in `$ARGUMENTS` into this tool's parameters:
|
|
12
|
-
|
|
13
|
-
**Optional:**
|
|
14
|
-
- `site` (string): omit for the default site
|
|
15
|
-
|
|
16
|
-
If a required parameter is missing from `$ARGUMENTS`, ask before calling — do not invent values. Coerce each value to its JSON type (booleans → true/false, numbers → numeric, object/array → parse JSON), then make the single tool call and summarize the result.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Report content distribution by language for a content type and flag languages lagging the most-populated language — a multilingual coverage signal."
|
|
3
|
-
argument-hint: "[site] [type] [gapThreshold] [sampleSize]"
|
|
4
|
-
allowed-tools: mcp__drupal__drupal_report_translation_coverage
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Call the `mcp__drupal__drupal_report_translation_coverage` MCP tool.
|
|
8
|
-
|
|
9
|
-
Report content distribution by language for a content type and flag languages lagging the most-populated language — a multilingual coverage signal.
|
|
10
|
-
|
|
11
|
-
Parse the request in `$ARGUMENTS` into this tool's parameters:
|
|
12
|
-
|
|
13
|
-
**Optional:**
|
|
14
|
-
- `site` (string): omit for the default site
|
|
15
|
-
- `type` (string): Content type (default: article)
|
|
16
|
-
- `gapThreshold` (number): Flag languages below this fraction of the top language
|
|
17
|
-
- `sampleSize` (number)
|
|
18
|
-
|
|
19
|
-
If a required parameter is missing from `$ARGUMENTS`, ask before calling — do not invent values. Coerce each value to its JSON type (booleans → true/false, numbers → numeric, object/array → parse JSON), then make the single tool call and summarize the result.
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "List unpublished/draft content of a given type. Returns a finding list with titles, last-changed dates, and paths. Useful for surfacing forgotten drafts."
|
|
3
|
-
argument-hint: "[site] [type] [limit]"
|
|
4
|
-
allowed-tools: mcp__drupal__drupal_report_unpublished
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Call the `mcp__drupal__drupal_report_unpublished` MCP tool.
|
|
8
|
-
|
|
9
|
-
List unpublished/draft content of a given type. Returns a finding list with titles, last-changed dates, and paths. Useful for surfacing forgotten drafts.
|
|
10
|
-
|
|
11
|
-
Parse the request in `$ARGUMENTS` into this tool's parameters:
|
|
12
|
-
|
|
13
|
-
**Optional:**
|
|
14
|
-
- `site` (string): omit for the default site
|
|
15
|
-
- `type` (string): Content type machine name (default: article)
|
|
16
|
-
- `limit` (number): Max unpublished nodes to return
|
|
17
|
-
|
|
18
|
-
If a required parameter is missing from `$ARGUMENTS`, ask before calling — do not invent values. Coerce each value to its JSON type (booleans → true/false, numbers → numeric, object/array → parse JSON), then make the single tool call and summarize the result.
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "User activity summary: active vs blocked accounts, never-logged-in users, and users inactive beyond a threshold. Useful for security audits and account hygiene."
|
|
3
|
-
argument-hint: "[site] [inactiveDays] [limit]"
|
|
4
|
-
allowed-tools: mcp__drupal__drupal_report_user_activity
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Call the `mcp__drupal__drupal_report_user_activity` MCP tool.
|
|
8
|
-
|
|
9
|
-
User activity summary: active vs blocked accounts, never-logged-in users, and users inactive beyond a threshold. Useful for security audits and account hygiene.
|
|
10
|
-
|
|
11
|
-
Parse the request in `$ARGUMENTS` into this tool's parameters:
|
|
12
|
-
|
|
13
|
-
**Optional:**
|
|
14
|
-
- `site` (string): omit for the default site
|
|
15
|
-
- `inactiveDays` (number): Days without login to flag as inactive
|
|
16
|
-
- `limit` (number)
|
|
17
|
-
|
|
18
|
-
If a required parameter is missing from `$ARGUMENTS`, ask before calling — do not invent values. Coerce each value to its JSON type (booleans → true/false, numbers → numeric, object/array → parse JSON), then make the single tool call and summarize the result.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Find content stuck in a non-published moderation state (draft/needs_review) beyond N days — editorial bottlenecks. Reads moderation_state; gated when content_moderation isn't exposed."
|
|
3
|
-
argument-hint: "[site] [type] [days] [states] [sampleSize]"
|
|
4
|
-
allowed-tools: mcp__drupal__drupal_report_workflow_bottlenecks
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Call the `mcp__drupal__drupal_report_workflow_bottlenecks` MCP tool.
|
|
8
|
-
|
|
9
|
-
Find content stuck in a non-published moderation state (draft/needs_review) beyond N days — editorial bottlenecks. Reads moderation_state; gated when content_moderation isn't exposed.
|
|
10
|
-
|
|
11
|
-
Parse the request in `$ARGUMENTS` into this tool's parameters:
|
|
12
|
-
|
|
13
|
-
**Optional:**
|
|
14
|
-
- `site` (string): omit for the default site
|
|
15
|
-
- `type` (string): Content type (default: article)
|
|
16
|
-
- `days` (number): Days-in-state threshold
|
|
17
|
-
- `states` (array (pass as JSON)): Moderation states to treat as bottlenecks
|
|
18
|
-
- `sampleSize` (number)
|
|
19
|
-
|
|
20
|
-
If a required parameter is missing from `$ARGUMENTS`, ask before calling — do not invent values. Coerce each value to its JSON type (booleans → true/false, numbers → numeric, object/array → parse JSON), then make the single tool call and summarize the result.
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Search nodes by title substring. Returns title, path alias, and body summary."
|
|
3
|
-
argument-hint: "<query> [site] [type] [status] [limit]"
|
|
4
|
-
allowed-tools: mcp__drupal__drupal_search_content
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Call the `mcp__drupal__drupal_search_content` MCP tool.
|
|
8
|
-
|
|
9
|
-
Search nodes by title substring. Returns title, path alias, and body summary.
|
|
10
|
-
|
|
11
|
-
Parse the request in `$ARGUMENTS` into this tool's parameters:
|
|
12
|
-
|
|
13
|
-
**Required:**
|
|
14
|
-
- `query` (string): Search term to match against node titles
|
|
15
|
-
|
|
16
|
-
**Optional:**
|
|
17
|
-
- `site` (string): omit for the default site
|
|
18
|
-
- `type` (string): Limit to this content type (default: article)
|
|
19
|
-
- `status` (boolean (true/false)): Filter by publish status
|
|
20
|
-
- `limit` (number)
|
|
21
|
-
|
|
22
|
-
If a required parameter is missing from `$ARGUMENTS`, ask before calling — do not invent values. Coerce each value to its JSON type (booleans → true/false, numbers → numeric, object/array → parse JSON), then make the single tool call and summarize the result.
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Search content by a query string. Best-effort title match over a content type (mode:'fallback'); relevance-ranked search requires a Search API/Solr endpoint."
|
|
3
|
-
argument-hint: "<query> [site] [type] [limit]"
|
|
4
|
-
allowed-tools: mcp__drupal__drupal_search
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Call the `mcp__drupal__drupal_search` MCP tool.
|
|
8
|
-
|
|
9
|
-
Search content by a query string. Best-effort title match over a content type (mode:'fallback'); relevance-ranked search requires a Search API/Solr endpoint.
|
|
10
|
-
|
|
11
|
-
Parse the request in `$ARGUMENTS` into this tool's parameters:
|
|
12
|
-
|
|
13
|
-
**Required:**
|
|
14
|
-
- `query` (string): Search term
|
|
15
|
-
|
|
16
|
-
**Optional:**
|
|
17
|
-
- `site` (string): omit for the default site
|
|
18
|
-
- `type` (string): Content type machine name (default: article)
|
|
19
|
-
- `limit` (number)
|
|
20
|
-
|
|
21
|
-
If a required parameter is missing from `$ARGUMENTS`, ask before calling — do not invent values. Coerce each value to its JSON type (booleans → true/false, numbers → numeric, object/array → parse JSON), then make the single tool call and summarize the result.
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Show the active security configuration for a site — what's allowed, what's blocked, what fields are redacted. Run this to understand the current access policy."
|
|
3
|
-
argument-hint: "[site]"
|
|
4
|
-
allowed-tools: mcp__drupal__drupal_security_info
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Call the `mcp__drupal__drupal_security_info` MCP tool.
|
|
8
|
-
|
|
9
|
-
Show the active security configuration for a site — what's allowed, what's blocked, what fields are redacted. Run this to understand the current access policy.
|
|
10
|
-
|
|
11
|
-
Parse the request in `$ARGUMENTS` into this tool's parameters:
|
|
12
|
-
|
|
13
|
-
**Optional:**
|
|
14
|
-
- `site` (string): omit for the default site
|
|
15
|
-
|
|
16
|
-
If a required parameter is missing from `$ARGUMENTS`, ask before calling — do not invent values. Coerce each value to its JSON type (booleans → true/false, numbers → numeric, object/array → parse JSON), then make the single tool call and summarize the result.
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Transition a content node to a moderation state (content_moderation), e.g. 'draft', 'needs_review', 'published', 'archived'. Governed write."
|
|
3
|
-
argument-hint: "<type> <id> <state> [site]"
|
|
4
|
-
allowed-tools: mcp__drupal__drupal_set_moderation_state
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Call the `mcp__drupal__drupal_set_moderation_state` MCP tool.
|
|
8
|
-
|
|
9
|
-
Transition a content node to a moderation state (content_moderation), e.g. 'draft', 'needs_review', 'published', 'archived'. Governed write.
|
|
10
|
-
|
|
11
|
-
Parse the request in `$ARGUMENTS` into this tool's parameters:
|
|
12
|
-
|
|
13
|
-
**Required:**
|
|
14
|
-
- `type` (string): Content type machine name
|
|
15
|
-
- `id` (string): Node UUID
|
|
16
|
-
- `state` (string): Target moderation state machine name
|
|
17
|
-
|
|
18
|
-
**Optional:**
|
|
19
|
-
- `site` (string): omit for the default site
|
|
20
|
-
|
|
21
|
-
If a required parameter is missing from `$ARGUMENTS`, ask before calling — do not invent values. Coerce each value to its JSON type (booleans → true/false, numbers → numeric, object/array → parse JSON), then make the single tool call and summarize the result.
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Get the base URL and the list of available resource/query types for a configured site (works for JSON:API and GraphQL backends)."
|
|
3
|
-
argument-hint: "[site]"
|
|
4
|
-
allowed-tools: mcp__drupal__drupal_site_info
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Call the `mcp__drupal__drupal_site_info` MCP tool.
|
|
8
|
-
|
|
9
|
-
Get the base URL and the list of available resource/query types for a configured site (works for JSON:API and GraphQL backends).
|
|
10
|
-
|
|
11
|
-
Parse the request in `$ARGUMENTS` into this tool's parameters:
|
|
12
|
-
|
|
13
|
-
**Optional:**
|
|
14
|
-
- `site` (string): omit for the default site
|
|
15
|
-
|
|
16
|
-
If a required parameter is missing from `$ARGUMENTS`, ask before calling — do not invent values. Coerce each value to its JSON type (booleans → true/false, numbers → numeric, object/array → parse JSON), then make the single tool call and summarize the result.
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Update a media entity's name, status, or field values. Partial: omitted fields (status included) are left untouched."
|
|
3
|
-
argument-hint: "<type> <id> [site] [name] [status] [fields]"
|
|
4
|
-
allowed-tools: mcp__drupal__drupal_update_media
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Call the `mcp__drupal__drupal_update_media` MCP tool.
|
|
8
|
-
|
|
9
|
-
Update a media entity's name, status, or field values. Partial: omitted fields (status included) are left untouched.
|
|
10
|
-
|
|
11
|
-
Parse the request in `$ARGUMENTS` into this tool's parameters:
|
|
12
|
-
|
|
13
|
-
**Required:**
|
|
14
|
-
- `type` (string)
|
|
15
|
-
- `id` (string)
|
|
16
|
-
|
|
17
|
-
**Optional:**
|
|
18
|
-
- `site` (string): omit for the default site
|
|
19
|
-
- `name` (string)
|
|
20
|
-
- `status` (boolean (true/false)): Published flag. Only sent when provided; requires allowPublish when true.
|
|
21
|
-
- `fields` (object (pass as JSON)): Field values. Entity-reference values in JSON:API linkage shape ({ data: { type, id } }) are sent as relationships automatically.
|
|
22
|
-
|
|
23
|
-
If a required parameter is missing from `$ARGUMENTS`, ask before calling — do not invent values. Coerce each value to its JSON type (booleans → true/false, numbers → numeric, object/array → parse JSON), then make the single tool call and summarize the result.
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Update an existing taxonomy term's name, description, or weight."
|
|
3
|
-
argument-hint: "<vocabulary> <id> [site] [name] [description] [weight]"
|
|
4
|
-
allowed-tools: mcp__drupal__drupal_update_taxonomy_term
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Call the `mcp__drupal__drupal_update_taxonomy_term` MCP tool.
|
|
8
|
-
|
|
9
|
-
Update an existing taxonomy term's name, description, or weight.
|
|
10
|
-
|
|
11
|
-
Parse the request in `$ARGUMENTS` into this tool's parameters:
|
|
12
|
-
|
|
13
|
-
**Required:**
|
|
14
|
-
- `vocabulary` (string)
|
|
15
|
-
- `id` (string)
|
|
16
|
-
|
|
17
|
-
**Optional:**
|
|
18
|
-
- `site` (string): omit for the default site
|
|
19
|
-
- `name` (string)
|
|
20
|
-
- `description` (string)
|
|
21
|
-
- `weight` (number)
|
|
22
|
-
|
|
23
|
-
If a required parameter is missing from `$ARGUMENTS`, ask before calling — do not invent values. Coerce each value to its JSON type (booleans → true/false, numbers → numeric, object/array → parse JSON), then make the single tool call and summarize the result.
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Update a Drupal user account. Only include fields you want to change. Can reassign roles by providing a full replacement role list."
|
|
3
|
-
argument-hint: "<id> [site] [name] [mail] [password] [status] [roles] [timezone]"
|
|
4
|
-
allowed-tools: mcp__drupal__drupal_update_user
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Call the `mcp__drupal__drupal_update_user` MCP tool.
|
|
8
|
-
|
|
9
|
-
Update a Drupal user account. Only include fields you want to change. Can reassign roles by providing a full replacement role list.
|
|
10
|
-
|
|
11
|
-
Parse the request in `$ARGUMENTS` into this tool's parameters:
|
|
12
|
-
|
|
13
|
-
**Required:**
|
|
14
|
-
- `id` (string): User UUID
|
|
15
|
-
|
|
16
|
-
**Optional:**
|
|
17
|
-
- `site` (string): omit for the default site
|
|
18
|
-
- `name` (string)
|
|
19
|
-
- `mail` (string)
|
|
20
|
-
- `password` (string)
|
|
21
|
-
- `status` (boolean (true/false))
|
|
22
|
-
- `roles` (array (pass as JSON)): Full replacement role UUID list
|
|
23
|
-
- `timezone` (string)
|
|
24
|
-
|
|
25
|
-
If a required parameter is missing from `$ARGUMENTS`, ask before calling — do not invent values. Coerce each value to its JSON type (booleans → true/false, numbers → numeric, object/array → parse JSON), then make the single tool call and summarize the result.
|