MCP Server for Drupal
A TypeScript-based MCP server that acts as a companion to the Drupal MCP module, communicating via STDIO.
MCP Server for Drupal
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:
- Docker container
- Compiled binary
- JSR package
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"
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
MCP Sourcify Server
Verify and retrieve smart contract source code using the Sourcify API.
MCP‑Stack
A Docker Compose-based collection of MCP servers for LLM workflows, featuring centralized configuration and management scripts.
Repo Map
An MCP server (and command-line tool) to provide a dynamic map of chat-related files from the repository with their function prototypes and related files in order of relevance. Based on the "Repo Map" functionality in Aider.chat
fastMCP4J
Fast lightweight Java MCP server framework - Build Model Context Protocol servers with minimal boilerplate and full TypeScript SDK compatibility
MCP Chain
A composable middleware framework for building sophisticated MCP server chains, inspired by Ruby Rack.
YepCode
Execute any LLM-generated code in the YepCode secure and scalable sandbox environment and create your own MCP tools using JavaScript or Python, with full support for NPM and PyPI packages
GroundDocs
A version-aware documentation assistant that connects LLMs to trusted, real-time docs to reduce hallucinations and provide accurate, version-specific responses.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers without authentication.
AntBot MCP Server
A TypeScript MCP server for integrating with the AntBot AI-based RPA platform, handling tool listing and execution.
Claude Code History
Retrieve and analyze Claude Code conversation history from local files.