使用说明
Directus MCP服务器
一个为Directus CMS实现模型上下文协议(MCP)的Node.js服务器。使AI客户端能够与 API指导 通过模型上下文协议(MCP)。
ℹ 先决条件
▶️ 快速开始
-
获取您的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": "your-email@example.com", "DIRECTUS_PASSWORD": "your-password" } } } }对于光标:
- 前往设置→ 光标设置→ MCP
- 点击
+ Add New Global MCP Server - 粘贴配置
- 用Directus凭据替换占位符值
- 保存和 重新启动 光标
对于Claude Desktop:
- 打开设置→ 开发者
- 点击
Edit Config - 打开
claude_desktop_config.json在代码编辑器中粘贴配置 - 用Directus凭据替换占位符值
- 保存和 重新启动 克劳德
❓ 故障排除
如果您在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 DIRECTUS_EMAIL=your-email@example.com DIRECTUS_PASSWORD=your-password -
启动开发服务器:
npm run dev
🌐 HTTP传输(多用户/远程部署)
默认情况下,服务器使用 stdio 传输,非常适合单用户本地AI编辑器(Cursor、Claude Desktop等)。
对于 多用户的 或 远程 您可以切换到的环境 可流式HTTP传输 通过设置 MCP_TRANSPORT 环境变量。
配置
| 环境变量 | 默认值 | 描述 |
|---|---|---|
MCP_TRANSPORT |
stdio |
运输方式: stdio 或 http / streamable-http |
MCP_PORT |
3000 |
HTTP服务器监听的TCP端口 |
MCP_HOST |
127.0.0.1 |
要绑定的主机/接口。使用 0.0.0.0 绑定所有接口 |
你也可以通过 --transport=http 作为CLI参数,而不是设置环境变量。
运行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"
}
}
}
