MCP ExplorerExplorer

Mcp Server Drupal

@Omediaon 9 months ago
39 MIT
FreeCommunity
AI Systems
#deno#drupal#mcp#mcp-server
TS based companion MCP server for the Drupal MCP module that works with the STDIO transport.

Overview

What is Mcp Server Drupal

mcp-server-drupal is a TypeScript-based companion MCP server designed to work with the Drupal MCP module, utilizing STDIO transport for communication.

Use cases

Use cases for mcp-server-drupal include integrating Drupal with applications that require real-time data processing, enhancing Drupal’s capabilities with additional tools, and facilitating communication between Drupal and other systems via the MCP protocol.

How to use

To use mcp-server-drupal, download the binary for your system from the releases page. Configure it in the ‘claude_desktop_config.json’ file, specifying the binary path and the base URL of your Drupal site. You can authenticate using either an auth token or basic auth credentials.

Key features

Key features include support for both authentication methods, the ability to expose resources and tools defined by the Drupal API, and compatibility with the MCP Inspector for debugging.

Where to use

undefined

Content

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"

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers