Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Opensolr Search 4.5.0 Minor update available for module opensolr_search (4.5.0). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Usage Milestone: Decoupled Router Module decoupled_router crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

MCP Tools

309 sites No security coverage MCP ecosystem
View on drupal.org

MCP Tools connects Drupal to AI assistants like Claude, allowing you to describe desired changes in plain English. The AI then automatically creates content types, fields, roles, and other Drupal configurations based on your requests. It offers different security modes for development, staging, and production environments.

MCP Tools connects Drupal to AI assistants (Claude, Cursor, Windsurf) via the Model Context Protocol. Describe what you want in plain English - the AI handles the Drupal work.

Example

You: "Create a blog with articles, categories, tags, and an editor role"
AI:  Creates the content type, taxonomies, fields, role, and permissions

Quick Start

  1. Install:

    composer require drupal/mcp_tools

    drush en mcp_tools -y
  2. Configure: Visit /admin/config/services/mcp-tools and choose a preset:
    • Development: Full access, no rate limiting
    • Staging: Config-only mode, rate limited, audit logging
    • Production: Read-only mode, strict limits, full audit trail
  3. Connect your AI tool: See transport options below

Option A: STDIO Transport (Recommended for Local)

Enable the STDIO module:

drush en mcp_tools_stdio -y

Generate config automatically:

drush mcp-tools:client-config > .mcp.json

Detects DDEV/Lando environments and outputs ready-to-use config. Use --scope=read for read-only.

Claude Code (run from your Drupal directory):

cd /path/to/drupal
claude mcp add --scope project drupal -- drush mcp-tools:serve --quiet --uid=1 --scope=read,write

Or add .mcp.json to your Drupal project root:

{
  "mcpServers": {
    "drupal": {
      "command": "drush",
      "args": ["mcp-tools:serve", "--quiet", "--uid=1", "--scope=read,write"]
    }
  }
}

Option B: HTTP Transport (Remote/Docker)

Enable the remote module:

drush en mcp_tools_remote -y

Configure execution user: Visit /admin/config/services/mcp-tools/remote

  • Quick setup: Check "Use site admin (uid 1)" — simple for development
  • Production: Click "Create MCP Executor Account" for a dedicated service account

Generate an API key:

drush mcp-tools:remote-key-create --label="Claude" --scopes=read,write

Copy the key shown (it's only displayed once).

Claude Code one-liner:

claude mcp add drupal http://localhost:8080/_mcp_tools --transport http -H "Authorization: Bearer YOUR_API_KEY"

Or add to .mcp.json:

{
  "mcpServers": {
    "drupal": {
      "type": "http",
      "url": "http://localhost:8080/_mcp_tools",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Manage keys at /admin/config/services/mcp-tools/remote or via drush mcp-tools:remote-key-list.

The tool library also works through MCP Server 2.x via its Tool Bridge, or with no MCP server at all - as plain Tool API plugins for ECA and AI Agents (via the mcp_tools_ai submodule).

What's Included

226 tools across 36 optional submodules:

  • Site Building: Content types, fields, taxonomies, roles, permissions, menus
  • Content: Create/edit/publish nodes, media, bulk operations
  • Translations: Read translatable content in document order, create complete linked translations, update single languages — paragraphs-aware
  • Views & Layout: Views, blocks, Layout Builder, image styles
  • Admin: Cache, cron, config management, security audits

Security

  • Scoped access (read/write/admin per connection)
  • Read-only and config-only modes
  • Rate limiting and audit logging
  • Destructive operations require explicit confirmation; unknown tool parameters are rejected, not silently dropped
  • Designed for local development - remote access is optional

Requirements

  • Drupal 10.3+ or 11
  • Tool API module
  • PHP 8.3+

Links

GitHub ·
Client Integrations ·
Issue Queue

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
30
Tracked since
Jan 2026
Latest release
1 month ago
Releases (12 mo)
30 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
1.0.0-beta18 Pre-release 10–11 Jul 24, 2026
1.0.0-beta17 Pre-release 10–11 Jul 24, 2026
1.0.0-beta16 Pre-release 10–11 Jul 24, 2026
1.0.0-beta15 Pre-release 10–11 Jul 24, 2026
1.0.0-beta14 Pre-release 10–11 Jun 13, 2026
1.0.0-beta13 Pre-release 10–11 Jun 13, 2026
1.0.0-beta12 Pre-release 10–11 Jun 12, 2026
1.0.0-beta10 Pre-release 10–11 Jun 12, 2026
1.0.0-beta9 Pre-release 10–11 Jun 12, 2026
1.0.0-beta8 Pre-release 10–11 Jun 12, 2026
1.0.0-beta7 Pre-release 10–11 Mar 10, 2026
1.0.0-beta6 Pre-release 10–11 Mar 10, 2026
1.0.0-beta5 Pre-release 10–11 Feb 26, 2026
1.0.0-beta4 Pre-release 10–11 Feb 26, 2026
1.0.0-beta3 Pre-release 10–11 Feb 26, 2026
1.0.0-beta2 Pre-release 10–11 Feb 6, 2026
1.0.0-beta1 Pre-release 10–11 Jan 10, 2026
1.0.0-alpha26 Pre-release 10–11 Jan 9, 2026
1.0.0-alpha24 Pre-release 10–11 Jan 8, 2026
1.0.0-alpha23 Pre-release 10–11 Jan 8, 2026
1.0.0-alpha21 Pre-release 10–11 Jan 7, 2026
1.0.0-alpha20 Pre-release 10–11 Jan 4, 2026
1.0.0-alpha18 Pre-release 10–11 Jan 4, 2026
1.0.0-alpha17 Pre-release 10–11 Jan 4, 2026
1.0.0-alpha16 Pre-release 10–11 Jan 4, 2026
1.0.0-alpha15 Pre-release 10–11 Jan 4, 2026
1.0.0-alpha14 Pre-release 10–11 Jan 4, 2026
1.0.0-alpha13 Pre-release 10–11 Jan 4, 2026
1.0.0-alpha12 Pre-release 10–11 Jan 4, 2026
1.0.0-alpha1 Pre-release 10–11 Jan 3, 2026