Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-server-drupal

MCP.Pizza Chef: Omedia

The mcp-server-drupal is a TypeScript-based companion MCP server designed specifically for the Drupal MCP module. It facilitates communication using the STDIO transport protocol, allowing seamless integration of Drupal environments with the Model Context Protocol ecosystem. This server is essential for setups requiring STDIO transport, while setups using SSE transport do not require it. It supports multiple distribution methods including Docker containers, compiled binaries, and JSR packages, making it versatile for various deployment environments. Detailed documentation is available at drupalmcp.io, providing comprehensive guidance for installation and usage.

Use This MCP server To

Integrate Drupal CMS with MCP-enabled AI workflows Enable STDIO transport communication for Drupal MCP module Deploy MCP server for Drupal using Docker containers Use compiled binaries for lightweight MCP server deployment Facilitate real-time context sharing in Drupal environments Support AI agents interacting with Drupal content via MCP

README

MCP Server for Drupal

image

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

Installation

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

Authentication

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 and DRUPAL_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

MCP

  • All instruments are defined by the Drupal API during the initialization phase

Note

The server now exposes the following

  • Resources (templates, reads)
  • Tools (calls)

No prompts are exposed by the server for now

Development

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

Debugging

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]

Verifying the binaries and images

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"

mcp-server-drupal FAQ

How do I install the mcp-server-drupal?
You can install it via Docker containers, compiled binaries, or JSR packages depending on your environment.
Is the mcp-server-drupal required for SSE transport?
No, the server is only required for STDIO transport; SSE transport does not need this server.
Where can I find detailed documentation for mcp-server-drupal?
Detailed docs are available at drupalmcp.io.
Can I use mcp-server-drupal with other MCP modules?
This server is specifically designed for the Drupal MCP module and its STDIO transport integration.
What programming language is mcp-server-drupal written in?
It is written in TypeScript.
Does mcp-server-drupal support containerized deployment?
Yes, it supports Docker container deployment for easy integration.
Can mcp-server-drupal work with multiple LLM providers?
Yes, it can work with any LLM provider compatible with MCP, including OpenAI, Claude, and Gemini.
How do I run mcp-server-drupal using Docker?
You can run it by pulling the Docker container from the GitHub packages and executing it with the appropriate command.