Token导航 LogoToken导航TokenDH.com
Directus Extension MCP Presets logo
运维云端未说明官方级别未说明来源级核验

Directus Extension MCP Presets

MCP Server

一个Directus扩展,用于在MCP界面中创建、读取、更新和删除集合的预设配置。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
TypeScript云端部署Docker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

JoshTheDerf

提供方

JoshTheDerf

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Directus MCP预设扩展

Directus扩展,用于添加 presets 工具连接到MCP(模型上下文协议)接口,允许AI代理创建、读取、更新和删除集合的预设。

特性

  • 创建 用户特定、角色特定或全局预设
  • 阅读 按集合、角色或用户过滤的预设
  • 更新 现有预设配置
  • 删除 预设
  • 与Directus权限和问责制完全集成
  • 支持书签、布局选项、过滤器等

先决条件

此扩展需要 directus-extension-mcp-customization 要安装和启用的扩展。

安装

通过npm安装:

npm install directus-extension-mcp-presets

或手动:

  1. 安装依赖项:
npm install
  1. 构建扩展:
npm run build
  1. 服务器启动时,Directus将自动加载扩展。

用法

presets 该工具支持四种操作:

创建预设

为文章草稿创建个人书签:

{
  "action": "create",
  "collection": "articles",
  "bookmark": "My Drafts",
  "layout": "tabular",
  "filter": {
    "status": { "_eq": "draft" },
    "user_created": { "_eq": "$CURRENT_USER" }
  },
  "icon": "bookmark",
  "color": "#6366F1"
}

创建特定于角色的默认布局:

{
  "action": "create",
  "collection": "articles",
  "role": "role-uuid-here",
  "layout": "cards",
  "layout_options": {
    "size": "large"
  }
}

读取预设值

读取集合的所有预设:

{
  "action": "read",
  "collection": "articles",
  "limit": 20
}

按用户特定预设筛选:

{
  "action": "read",
  "collection": "articles",
  "user": "user-uuid-here"
}

更新预设

{
  "action": "update",
  "id": 123,
  "bookmark": "Updated Name",
  "filter": {
    "status": { "_eq": "published" }
  }
}

删除预设

{
  "action": "delete",
  "id": 123
}

什么是预设?

Directus中的预设定义了集合的布局和筛选选项。它们可以是:

  • 用户预置:针对特定用户
  • 角色预设:在具有特定角色的所有用户之间共享
  • 全局预设:可供所有用户使用(需要管理员权限)

预设可以包括:

  • 书签(出现在侧边栏导航中)
  • 布局配置(表格、卡片、日历等)
  • 过滤规则
  • 搜索查询
  • 自定义图标和颜色

预设范围

roleuser 字段控制预设范围:

  • 两者均为空:全局预设(需要管理员权限)
  • 用户设置:针对该特定用户的个人预设
  • 角色集:为具有该角色的所有用户共享预设

技术细节

建筑

此扩展使用Directus挂钩系统来:

  1. 注册 presets 通过MCP工具列表中的工具 mcp.tools.list 过滤器
  2. 通过以下方式处理工具执行 presets.mcp.tools.call 过滤型事件
  3. 从以下方面接受用户责任 meta 自定义扩展传递的参数
  4. 使用 PresetsService 对具有权限意识的操作进行适当的问责

筛选器事件处理程序

emitter.onFilter("presets.mcp.tools.call", async (toolCall, meta) => {
  // Extract accountability from meta parameter
  const { accountability } = meta;

  // Get input arguments from toolCall
  const input = presetInputSchema.parse(toolCall.arguments);

  // Create service with accountability for proper permissions
  const presetsService = new PresetsService({
    schema: await getSchema(),
    accountability,  // Ensures user context and permissions
  });

  // Perform operations with permission enforcement
  // ...
});

发展

开发观察模式:

npm run dev

验证扩展名:

npm run validate

相关扩展

许可证

麻省理工学院

目录标签

目录标签

TypeScript云端部署Docker预设管理本地部署Directus扩展MCP工具数据过滤布局配置

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP