Saplings AI MCP
The Saplings AI MCP Recipe turns your Drupal site into a fully compliant Model Context Protocol (MCP) server by installing and configuring AI Core, AI Agents, the MCP module, and other required dependencies. Once applied, your Drupal installation can talk directly to MCP-aware clients, execute AI functions, and invoke agents, extending your site with a wide range of AI-powered workflows. Drupal’s robust content model and modular architecture make it an ideal MCP server, especially when its content is exposed as resources and combined with AI tools for dynamic content generation and management.
Features
- Installs AI Core, AI Agents, the MCP module, and other necessary modules.
- Configures a general-purpose MCP server to support seamless interaction with connected MCP clients.
- Enables execution of AI functions and invocation of agents from your Drupal site.
- Allows customization so Drupal content can be exposed as MCP resources and used as AI tools for workflow automation.
- Keeps configuration open-ended so you can further tune the MCP module, such as pointing it at different LLM providers or adding custom tools and resources as your use cases grow.
Installation Instructions
1. Preparation
Ensure your Drupal installation is up to date. It is recommended to take a full backup of your site before applying the recipe.
2. Dependencies
Verify that Composer is installed on your server, since several dependencies are managed through it.
3. Install the recipe
Use Composer to install the Saplings AI MCP recipe:
composer require drupal/ai_saplings_mcp
4. Enable the modules
After installation, enable the recipe and its modules using Drush (or through the Drupal admin UI):
drush recipe ../recipes/ai_saplings_mcp
5. Test the configuration
Confirm that your setup is working by connecting an MCP client to your Drupal site and testing basic interactions such as listing resources or invoking a simple tool.
Further Configuration
The recipe provides a sensible default MCP server configuration, but you are encouraged to refine it to match your environment:
- Adjust the MCP server settings provided by the MCP module, including authentication and endpoint options.
- Swap in different LLM backends or AI providers through Drupal’s AI configuration if you prefer alternate models.
- Define additional tools and resources that expose Drupal content, search, or custom workflows to your MCP clients.
Once configured, your Drupal site becomes a powerful, AI-aware MCP server that can plug cleanly into modern LLM tooling.
Media Dupe Detect
Media Dupe Detect is a Drupal module that enhances the core Media and Media Library experience by automatically identifying duplicate file uploads.
When a user uploads a file through a Media Library widget, the module compares the file hash against existing files. If a match is found, the user is prompted to reuse the existing media item instead of creating a new one.
Features
Media Dupe Detect integrates with the Media Library widget and provides:
- Detection of duplicate media items based on file hash
- A prompt to reuse existing media items when a duplicate is found
- A role-based permission that allows trusted users to bypass duplicate detection
- Field-level configuration so duplicate checks can be enabled per media field
Typical use cases include:
- Keeping the Media Library clean and organized
- Preventing unnecessary duplication of images and documents
- Supporting large teams and editorial workflows where many users upload assets
Configuration
After installing and enabling the module and its dependencies:
- Go to the Form display configuration for the content type or entity type that uses a media field (for example:
Structure → Content types → Your type → Manage form display). - On the Media Library widget for the media field, click the gear icon to open the widget settings.
- Enable the Detect duplicates option to turn on duplicate detection for that field.
- Navigate to People → Permissions and use the Bypass media duplicate upload prevention permission to allow specific roles to upload duplicates when needed.
The module does not add any new configuration pages or content types. All behavior is controlled through existing form display settings and permissions.
Requirements
Media Dupe Detect relies on Drupal core media functionality and file hashing:
- Drupal core Media (version 10 or 11)
- Drupal core Media Library
- File Hash module, used to compute and compare file hashes
For more details, downloads, and issue tracking, see the Media Dupe Detect project page.
Audit Export Module
Audit Export is a flexible auditing and reporting module for Drupal 7 through 11. It gives administrators and developers a clear view into how their site is structured, where things are configured, and what might need attention. Think of it as a periodic check-up for your Drupal installation, minus the waiting room.
Features
Comprehensive Entity Audits
Review the structure and configuration of content entities, user roles, menus, taxonomy vocabularies, and views. If Drupal stores it, you can probably audit it.
Automated Reports via Cron
Schedule recurring audits with Drupal cron to keep continuous visibility into site configuration.
CSV Export for External Tools
Export audit data as CSV for dashboards, spreadsheets, or external analysis systems.
Drush Integration
Run audits and export reports from the command line using Drush. Ideal for CI/CD pipelines and automation-heavy workflows.
Custom Audit Plugins
Extend the module by building your own audit plugins for custom requirements.
Optional Remote Posting
Send audit results to external APIs or monitoring platforms for centralized reporting.
Similar Modules
You may also want to explore Site Audit.
Post-Installation
Visit /admin/config/system/audit-export to access the admin UI and run audits. Reports can be exported from the UI or generated using:
drush audit-export:rundrush audit-export:export
Requirements
- Drupal 7.x through 11.x
- Drush (optional but recommended)
Supporting the Module
Contributions and feedback are welcome. Submit issues or pull requests on the Audit Export project page.
Drupal + NextJS Starter
Drupal 11 + Next.js Starter Kit
A modern headless CMS starter that combines Drupal 11 as the content management backend with Next.js 15 as the frontend framework.
Features
- Backend: Drupal 11 with JSON:API, Simple OAuth authentication
- Frontend: Next.js 15 with App Router, TypeScript, Tailwind CSS
- Content Types: Pages, Articles, Events with image fields
- Authentication: OAuth2 client credentials flow
- Development: Docksal containerized environment
Prerequisites
- Docksal is installed and running
- Docker and Docker Compose (installed with Docksal)
Installation
1. Clone and Initialize
git clone git@github.com:willjackson/drupal-nextjs-starter.git d11-nextjs-starter
cd d11-nextjs-starter
fin initInitialize with Options:
# Initialize with sample content
fin init --content
# Initialize with AI Tools
fin init --ai
# Initialize with both content and AI Tools
fin init --content --aiExplore this project to try out Drupal and see its utility as a viable, well-supported backend for Next.js. Start managing content with Drupal while leveraging Next.js for a dynamic frontend experience. Invitation is open to use this starter kit and discover its capabilities.
Drupal Docksal Starter Template
This project provides a clean, Composer-managed Drupal 11 starter site tailored for a smooth development experience with Docksal. It’s intentionally minimal, containing only Drupal core with no contributed modules or themes, making it ideal for developers who want full control over their project’s architecture from the first commit.
What’s Included
This starter ships with a preconfigured Docksal setup using the default LAMP stack, complete with image version pinning to ensure consistent environments. It also includes examples of PHP and MySQL configuration overrides, giving developers a convenient place to adjust settings without touching global system configs.
To streamline setup, the project includes a customizable fin init script that takes care of local bootstrapping tasks. Out of the box, it installs Drupal via Drush and prepares the environment, but you can extend it for tasks such as database imports, enabling modules, preparing settings files, running updates, or managing caches.
Getting Started
If you haven’t installed Docksal yet, begin with the official setup guide at https://docs.docksal.io/getting-started/setup/.
Once your environment is ready, clone the project:
git clone https://github.com/willjackson/Docksal-Drupal-11-Starter.git drupal11
cd drupal11
Run the initialization process:
fin init
This command installs Drupal, configures the environment, and prints login credentials to the terminal. When the process completes, your new site will be available at:
http://drupal11.docksal.site
Learn More
You can explore the full project, view the fin init script, and check out environment configuration examples on GitHub at https://github.com/willjackson/Docksal-Drupal-11-Starter.
This starter aims to provide a clean, dependable foundation for any Drupal 11 build running on Docksal, giving you a predictable environment and a blank slate to develop the features your project actually needs.
Drupal Recipe Explorer
The Drupal Recipe Explorer is a resource for developers and site builders who want a clearer way to discover and evaluate Drupal recipes. Recipes are lightweight Composer packages of type drupal-recipe that bundle modules, configuration, and optional patches to deliver ready-made site-building patterns. Unlike full distributions, they can be applied at any point in a site's lifecycle, added or removed as needed, and combined to suit specific project goals.
A typical recipe defines required modules and themes, includes default configuration, and may provide configuration actions that adjust existing settings. Every recipe contains a recipe.yml file describing its purpose, classification, dependencies, and configuration.
To use a recipe, add it to your project with Composer:
composer require drupal/example_recipe
Then apply it with the core recipe script:
php core/scripts/drupal recipe ../recipes/[recipe-name] -v
or with Drush:
drush recipe ../recipes/[recipe-name] -v
The Drupal Recipe Explorer aggregates recipe data from multiple sources. Packagist packages from the Drupal vendor and selected contributors form the primary index, while GitHub and Drupal.org’s GitLab repositories are parsed to capture metadata, dependencies, and patches. The browser provides a searchable and filterable list of all discovered recipes, along with direct links to their source code and regularly refreshed data.
If you want to contribute your own recipe, you can create a General Project on Drupal.org, ensure your composer.json file uses the drupal-recipe type, include a complete recipe.yml, and publish it for others to use.
For more information, you can visit the project page at https://drupal-recipe-explorer.netlify.app, explore the Distributions and Recipes Initiative on Drupal.org, review the GitLab repository, check the Recipes Cookbook, or join the #distributions-and-recipes Slack channel.