mcpField
M
MCP Server for Drupal

MCP Server for Drupal

Local
drupalmcp.ioBusiness & Marketing51Updated 78w ago

About MCP Server for Drupal

MCP Server for Drupal is a TypeScript companion server for the Drupal MCP module, using STDIO transport. It is aimed at users who want MCP clients to access Drupal sites.

Key features

  1. 01Works with the Drupal MCP module over STDIO
  2. 02Available as Docker image, binary or JSR package
  3. 03Supports token or username and password authentication
  4. 04Exposes resources and tools, no prompts

Use cases

  1. 01Letting an AI client access a Drupal site over STDIO
  2. 02Running the Drupal MCP server in a Docker container

MCP support

This project is an MCP server that exposes resources and tools defined by the Drupal API to MCP clients over STDIO.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"drupal": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/omedia/mcp-server-drupal"
]
}
}
}
Run commanddocker run -i --rm ghcr.io/omedia/mcp-server-drupal

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocighcr.io/omedia/mcp-server-drupal

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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"

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.