Directus MCP Server について
Directus MCP Server は、Directus CMS 向けの Node.js 製 MCP サーバーで、AI クライアントから Directus API を呼び出せます。AI エディターから Directus のコンテンツや設定を管理したいユーザー向けで、ローカルの stdio と、複数ユーザー向けの HTTP トランスポートに対応しています。
主な機能
- 01アイテムの作成・取得・更新・削除ツール
- 02ファイルの一覧取得とアップロード
- 03ユーザー・ロール・パーミッションの取得
- 04システム情報・アクティビティログ・設定の取得
- 05stdio と Streamable HTTP のトランスポート
活用シーン
- 01Cursor や Claude Desktop から Directus のコレクションを参照する
- 02AI クライアントを通じてアイテムを作成・更新する
- 03リモートや複数ユーザー環境で HTTP サーバーとして運用する
MCP 対応
本プロジェクトは MCP サーバーであり、Directus のコレクション、ファイル、ユーザー、パーミッション、システム操作を MCP クライアントにツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Directus MCP サーバー
Directus CMS 向けに Model Context Protocol(MCP)を実装した Node.js サーバーです。AI クライアントが Model Context Protocol(MCP)を通じて Directus API とやり取りできるようにします。
ℹ 前提条件
▶️ クイックスタート
-
Directus API の認証情報を取得します
- Directus インスタンスに移動します
- 静的アクセストークンを作成するか、メールアドレスとパスワードを取得します
- これらの認証情報は安全に保管してください
-
AI エディターに追加します
{ "mcpServers": { "directus": { "command": "npx", "args": ["-y", "@pixelsock/directus-mcp@latest"], "env": { "DIRECTUS_URL": "https://your-directus-instance.com", "DIRECTUS_ACCESS_TOKEN": "YOUR_ACCESS_TOKEN" } } } }メールアドレス/パスワード認証も使用できます。
{ "mcpServers": { "directus": { "command": "npx", "args": ["-y", "@pixelsock/directus-mcp@latest"], "env": { "DIRECTUS_URL": "https://your-directus-instance.com", "DIRECTUS_EMAIL": "[email protected]", "DIRECTUS_PASSWORD": "your-password" } } } }Cursor の場合:
- Settings → Cursor Settings → MCP に移動します
+ Add New Global MCP Serverをクリックします- 設定を貼り付けます
- プレースホルダーの値を Directus の認証情報に置き換えます
- 保存して、Cursor を再起動します
Claude Desktop の場合:
- Settings → Developer を開きます
Edit Configをクリックします- コードエディターで
claude_desktop_config.jsonを開き、設定を貼り付けます - プレースホルダーの値を Directus の認証情報に置き換えます
- 保存して、Claude を再起動します
❓ トラブルシューティング
MCP クライアント(Cursor や Claude Desktop など)でサーバーの起動に問題がある場合は、次の手順をお試しください。
有効な Directus 認証情報があることを確認します
- Directus の URL が正しく、アクセスできることを確認します
- アクセストークンまたはメールアドレス/パスワードの認証情報が有効であることを確認します
- MCP クライアントの設定で認証情報を置き換えます
- 保存して、MCP クライアントを再起動します
Node と NPM がインストールされていることを確認します
次のコマンドを実行して、Node と NPM がインストールされていることを確認します。
node -v
npm -v
NPM キャッシュをクリアします
NPM キャッシュをクリアすると、npx の問題が解決することがあります。
npm cache clean --force
🛠️ 利用可能なツール
コレクションとアイテム
getItems // Get items from a collection
getItem // Get a single item from a collection by ID
createItem // Create a new item in a collection
updateItem // Update an existing item in a collection
deleteItem // Delete an item from a collection
getCollections // Get all collection schemas
getFields // Get fields for a collection
getRelations // Get relations for a collection
ファイル
getFiles // Get files from Directus
uploadFile // Upload a file to Directus
ユーザーと権限
login // Login to Directus and get an access token
getUsers // Get users from Directus
getCurrentUser // Get the current user info
getRoles // Get roles from Directus
getPermissions // Get permissions from Directus
システム
getSystemInfo // Get system information from Directus
getActivity // Get activity logs from Directus
getConfig // Get current configuration information
🚧 開発モード
サーバーを開発モードで実行する場合:
-
クローンしてインストールします。
git clone https://github.com/pixelsock/directus-mcp.git cd directus-mcp npm install -
.envに認証情報を追加します。# .env DIRECTUS_URL=https://your-directus-instance.com DIRECTUS_ACCESS_TOKEN=your_token_here # Or use email/password [email protected] DIRECTUS_PASSWORD=your-password -
開発サーバーを起動します。
npm run dev
🌐 HTTP トランスポート(複数ユーザー/リモートデプロイ)
デフォルトでは、サーバーは stdio トランスポートを使用します。これは、単一ユーザー向けのローカル AI エディター(Cursor、Claude Desktop など)に最適です。
複数ユーザー環境またはリモート環境では、MCP_TRANSPORT 環境変数を設定することで、Streamable HTTP トランスポートに切り替えられます。
設定
| 環境変数 | デフォルト | 説明 |
|---|---|---|
MCP_TRANSPORT | stdio | トランスポートモード:stdio または http / streamable-http |
MCP_PORT | 3000 | HTTP サーバーがリッスンする TCP ポート |
MCP_HOST | 127.0.0.1 | バインドするホスト/インターフェース。すべてのインターフェースにバインドするには 0.0.0.0 を使用します |
環境変数を設定する代わりに、CLI 引数として --transport=http を渡すこともできます。
HTTP サーバーの実行
# Via environment variable
MCP_TRANSPORT=http MCP_PORT=3000 MCP_HOST=0.0.0.0 node dist/index.js
# Via CLI argument
node dist/index.js --transport=http
Docker の例
docker run -p 3000:3000 \
-e DIRECTUS_URL=https://your-directus-instance.com \
-e DIRECTUS_ACCESS_TOKEN=your_token_here \
-e MCP_TRANSPORT=http \
-e MCP_HOST=0.0.0.0 \
ghcr.io/pixelsock/directus-mcp
MCP クライアントを HTTP サーバーに接続する
サーバーが起動したら、次の接続先に接続するよう MCP クライアントを設定します。
http://<host>:<port>/mcp
Streamable HTTP トランスポートに対応したクライアントを使用する場合の例:
{
"mcpServers": {
"directus": {
"url": "http://localhost:3000/mcp"
}
}
}
📄 Directus 開発者向けリソース
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。