Integration · MODEL CONTEXT PROTOCOL
mcp-server-drupal
TS based companion MCP server for the Drupal MCP module that works with the STDIO transport.
WHAT IT CONNECTS
What mcp-server-drupal gives an AI Agent
The source catalog does not include a structured feature list. Review the repository documentation before use.
SECURITY
An MCP listing is not a security review
An MCP server may receive model context, credentials, local files, or permission to call external systems. Review its code, requested environment variables, network behavior, package provenance, and maintenance status before connecting it to an agent.
README
Repository documentation
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 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
- 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
This project is built with Deno.
Note
Use deno version 2.0.0 or above
Install dependencies:
deno installFor development with auto-rebuild:
bun task devBuild the server:
deno task build --output build/mcp-server-drupalTip
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-drupalOn 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"COMMUNITY
