MCP Server for Drupal について
MCP Server for Drupal は、Drupal MCP モジュールと連携する TypeScript 製のコンパニオンサーバーで、STDIO トランスポートを使用します。MCP クライアントから Drupal サイトにアクセスしたいユーザーを対象としています。
主な機能
- 01STDIO 経由で Drupal MCP モジュールと連携
- 02Docker イメージ、バイナリ、JSR パッケージで提供
- 03トークンまたはユーザー名とパスワードによる認証
- 04リソースとツールを公開し、プロンプトは非対応
活用シーン
- 01AI クライアントから STDIO 経由で Drupal サイトにアクセス
- 02Docker コンテナーで Drupal MCP サーバーを実行
MCP 対応
本プロジェクトは Drupal API が定義するリソースとツールを、STDIO 経由で MCP クライアントに公開する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/omedia/mcp-server-drupalローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/omedia/mcp-server-drupalstdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Drupal 用 MCP サーバー
これは、STDIO トランスポートで動作する Drupal MCP モジュール 用の、TypeScript ベースのコンパニオン Model Context Protocol(MCP) サーバーです。SSE トランスポートを使用する場合、このサーバーは必要ありません。
重要
📖 詳細なドキュメントは 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:認証に使用するパスワードです。
メモ
Drupal MCP モジュールの設定ページで認証を有効にしてください。
メモ
DRUPAL_AUTH_TOKENとDRUPAL_AUTH_USER/DRUPAL_AUTH_PASSWORDの両方が設定されている場合、ユーザー名とパスワードよりもトークンが優先されます。
📖 詳細については、ドキュメントの認証のセクションをご覧ください。
MCP
- すべてのツールは初期化フェーズで Drupal API によって定義されます。
メモ
サーバーは現在、以下を公開しています。
- リソース(テンプレート、読み取り)
- ツール(呼び出し)
現時点では、サーバーはプロンプトを公開していません。
開発
このプロジェクトは Deno で構築されています。
メモ
deno のバージョン
2.0.0以降を使用してください。
依存関係をインストールします。
deno install
自動再ビルドを有効にして開発する場合:
bun task dev
サーバーをビルドします。
deno task build --output build/mcp-server-drupal
ヒント
特定のプラットフォーム向けにビルドするには、
--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"
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。