关于 Directus MCP Server
Directus MCP Server 是面向 Directus CMS 的 MCP 服务,基于 Node.js 实现,让 AI 客户端能够通过 MCP 访问 Directus API。它适合需要用 AI 编辑器管理 Directus 内容与配置的用户,同时支持本地 stdio 和多用户场景下的 HTTP 传输。
主要功能
- 01集合与条目的增删改查工具
- 02文件上传与查询
- 03用户、角色与权限查询
- 04系统信息、活动日志与配置查询
- 05支持 stdio 与 Streamable HTTP 传输
适用场景
- 01在 Cursor 或 Claude Desktop 中查询 Directus 集合数据
- 02通过 AI 客户端批量创建或更新条目
- 03在远程或多用户环境中以 HTTP 方式部署服务
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 Directus 的集合、文件、用户、权限和系统相关工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。