by Omedia
The mcp-server-drupal is a TypeScript-based companion server designed to facilitate interaction with the Drupal MCP (Model Context Protocol) module through a STDIO transport layer. It enables external applications to efficiently integrate with Drupal's data and logic, particularly suited for headless Drupal architectures.
mcp-server-drupal is a TypeScript-based companion server for the Drupal MCP (Model Context Protocol) module. It facilitates interaction with Drupal using the STDIO transport layer. This server is not required if you are using SSE transport.
mcp-server-drupal can be installed and used via several distribution channels:
docker run
command.For detailed installation instructions, refer to the documentation.
The server supports authentication via environment variables:
DRUPAL_AUTH_TOKEN
: For token-based authentication.DRUPAL_AUTH_USER
and DRUPAL_AUTH_PASSWORD
: For basic authentication.
If both token and username/password are provided, the token takes precedence. Authentication must also be enabled in the Drupal MCP module settings.The project is built with Deno (version 2.0.0 or above). Development involves installing dependencies (deno install
), running with auto-rebuild (bun task dev
), and building the server (deno task build
). Debugging can be done using the MCP Inspector.
DRUPAL_AUTH_TOKEN
or a combination of DRUPAL_AUTH_USER
and DRUPAL_AUTH_PASSWORD
environment variables. Remember to enable authentication in your Drupal MCP module settings.This is a typescript based companion Model Context Protocol(MCP) server for the Drupal MCP module that works with the STDIO
transport. In order to use SSE
transport this server is not required.
[!IMPORTANT] 📖 Detailed docs are avilable at drupalmcp.io
The STDIO Binary is available through multiple distribution channels to accommodate various environments:
Here is a quick example of how to use the server with docker
:
{
"mcpServers": {
"mcp-server-drupal": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/omedia/mcp-server-drupal",
"--drupal-url=__DRUPAL_BASE_URL_"
],
"env": {}
}
}
}
📖 For more details check the Installation section in the docs
The server supports both authentication via environment variables. You can use either a auth token or a basic auth with username and password combination . The following environment variables are supported:
DRUPAL_AUTH_TOKEN
: The authentication token.DRUPAL_AUTH_USER
: The username for authentication.DRUPAL_AUTH_PASSWORD
: The password for authentication.[!NOTE] Make sure to turn the authentication on the Drupal MCP module settings page.
[!NOTE] If both
DRUPAL_AUTH_TOKEN
andDRUPAL_AUTH_USER
/DRUPAL_AUTH_PASSWORD
are set, the token will be used over the username and password.
📖 Check the Authentication section in the docs for more details
[!NOTE] The server now exposes the following
- Resources (templates, reads)
- Tools (calls)
No prompts are exposed by the server for now
This project is built with Deno.
[!NOTE] Use deno version
2.0.0
or above
Install dependencies:
deno install
For development with auto-rebuild:
bun task dev
Build the server:
deno task build --output build/mcp-server-drupal
[!TIP] To build for the specific platform use the
--target
flag and check the docs
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a deno task:
deno task inspector --drupal-url [DRUPAL_BASE_URL]
drupal_mcp_server
binaries and container images are signed by cosign using identity-based signing.
You can verify your binary by downloading the signatures.tar.gz
file from the release page, extracting the signature and running the following command:
cosign verify-blob ${YOUR_BINARY_NAME} \
--bundle signatures/${YOUR_BINARY_NAME}.bundle \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp https://github.com/Omedia/mcp-server-drupal/.github/workflows/release.yml@refs/tags/v \
--certificate-github-workflow-repository Omedia/mcp-server-drupal
On the container side you can verify the image by running the following command:
cosign verify ghcr.io/omedia/mcp-server-drupal:latest \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
--certificate-identity-regexp "https://github.com/Omedia/mcp-server-drupal/.github/workflows/release.yml@refs/tags/v"
Please log in to share your review and rating for this MCP.
Discover more MCP servers with similar functionality and use cases
by zed-industries
Provides real-time collaborative editing powered by Rust, enabling developers to edit code instantly across machines with a responsive, GPU-accelerated UI.
by cline
Provides autonomous coding assistance directly in the IDE, enabling file creation, editing, terminal command execution, browser interactions, and tool extension with user approval at each step.
by continuedev
Provides continuous AI assistance across IDEs, terminals, and CI pipelines, offering agents, chat, inline editing, and autocomplete to accelerate software development.
by github
Enables AI agents, assistants, and chatbots to interact with GitHub via natural‑language commands, providing read‑write access to repositories, issues, pull requests, workflows, security data and team activity.
by block
Automates engineering tasks by installing, executing, editing, and testing code using any large language model, providing end‑to‑end project building, debugging, workflow orchestration, and external API interaction.
by RooCodeInc
An autonomous coding agent that lives inside VS Code, capable of generating, refactoring, debugging code, managing files, running terminal commands, controlling a browser, and adapting its behavior through custom modes and instructions.
by lastmile-ai
A lightweight, composable framework for building AI agents using Model Context Protocol and simple workflow patterns.
by firebase
Provides a command‑line interface to manage, test, and deploy Firebase projects, covering hosting, databases, authentication, cloud functions, extensions, and CI/CD workflows.
by gptme
Empowers large language models to act as personal AI assistants directly inside the terminal, providing capabilities such as code execution, file manipulation, web browsing, vision, and interactive tool usage.