这是一个基于 TypeScript 的 Model Context Protocol (MCP) 服务器,用于与 Drupal MCP 模块 配合使用的 STDIO 传输方式。如果要使用 SSE 传输,则不需要此服务器。
[!IMPORTANT] 📖 更详细的文档可以在 drupalmcp.io 找到
STDIO 二进制文件可以通过多个分发渠道获取,以适应各种环境:
这里是一个快速示例,展示如何使用 Docker 来运行服务器:
{
"mcpServers": {
"mcp-server-drupal": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/omedia/mcp-server-drupal",
"--drupal-url=__DRUPAL_BASE_URL_"
],
"env": {}
}
}
}
📖 有关更多详细信息,请参阅文档中的 安装 部分
该服务器支持通过环境变量进行认证。您可以使用认证令牌或用户名和密码组合的基本认证。支持以下环境变量:
DRUPAL_AUTH_TOKEN: 认证令牌。DRUPAL_AUTH_USER: 认证用户名。DRUPAL_AUTH_PASSWORD: 认证密码。[!NOTE] 请确保在 Drupal MCP 模块设置页面上开启认证。
[!NOTE] 如果同时设置了
DRUPAL_AUTH_TOKEN和DRUPAL_AUTH_USER/DRUPAL_AUTH_PASSWORD,则会优先使用令牌。
📖 有关更多详细信息,请参阅文档中的 认证 部分
[!NOTE] 目前,服务器公开了以下内容:
- 资源(模板、读取)
- 工具(调用)
服务器目前不公开任何提示
该项目是使用 Deno 构建的。
[!NOTE] 使用 Deno 版本
2.0.0或更高版本
安装依赖项:
deno install
开发时自动重建:
bun task dev
构建服务器:
deno task build --output build/mcp-server-drupal
[!TIP] 若要针对特定平台构建,请使用
--target标志,并查看 文档
由于 MCP 服务器通过 stdio 进行通信,调试可能会比较困难。我们推荐使用 MCP Inspector,它作为一个 Deno 任务提供:
deno task inspector --drupal-url [DRUPAL_BASE_URL]
drupal_mcp_server 二进制文件和容器镜像是使用基于身份的签名通过 cosign 签名的。
您可以通过从发布页面下载 signatures.tar.gz 文件,提取签名并运行以下命令来验证您的二进制文件:
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
对于容器,您可以通过运行以下命令来验证镜像:
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"