介绍
Craft MCP通过让您的AI助手直接访问Craft安装的内容架构、数据库模式和配置来加速AI辅助开发。
Craft MCP是一个MCP服务器,配备了50个专用工具、9个分析提示和12个数据资源,旨在简化Craft项目中的人工智能辅助工作流程。您的AI助手可以直接从您的安装中查询这些信息,而不是手动描述您的字段布局、矩阵配置或条目结构,从而确保准确和上下文感知的代码生成。
这些工具涵盖了内容管理(条目、资产、类别、用户)、模式检查(部分、字段、卷、条目类型)、系统管理(配置、日志、缓存、插件)、数据库操作(模式检查、查询执行)和调试实用程序(队列作业、弃用、项目配置)。对于高级用例,Tinker工具允许直接在Craft应用程序上下文中执行PHP代码。
安装
Craft MCP可以通过Composer安装:
composer require stimmt/craft-mcp接下来,通过Craft的CLI安装插件:
php craft plugin/install mcp然后在以下位置创建配置文件 config/mcp.php 以启用MCP服务器。默认情况下,为了安全起见,在生产环境中禁用服务器:
true,
];有关其他配置选项,包括禁用特定工具、IP分配列表和特定于环境的设置,请参阅 配置指南.
安装Craft MCP后,您就可以连接Claude Code、Cursor、Claude Desktop或您选择的AI助手了。
快速设置(推荐)
运行交互式配置向导,为您的MCP客户端自动生成配置文件:
php craft mcp/install向导将:
- 检测您的环境(DDEV或原生PHP)
- 让您选择要配置的客户端(Claude Code、Cursor、Claude Desktop)
- 生成适当的配置文件
选项:
-e, --environment-覆盖检测到的环境(ddev或native)-s, --serverName-自定义服务器名称(默认值:craft-cms)
手动设置
克劳德代码
- 创建一个名为的新文件
.mcp.json在您的Craft项目根目录中 - 根据您的本地环境添加服务器配置:
With DDEV (recommended for Craft projects)
{
"mcpServers": {
"craft-cms": {
"command": "ddev",
"args": ["exec", "php", "vendor/stimmt/craft-mcp/bin/mcp-server"]
}
}
}Without DDEV (native PHP)
{
"mcpServers": {
"craft-cms": {
"command": "php",
"args": ["vendor/stimmt/craft-mcp/bin/mcp-server"]
}
}
}光标
- 创建一个名为的新文件
.cursor/mcp.json在您的Craft项目根目录中(创建.cursor目录(如果不存在) - 根据您的本地环境添加服务器配置:
With DDEV (recommended for Craft projects)
{
"mcpServers": {
"craft-cms": {
"command": "ddev",
"args": ["exec", "php", "vendor/stimmt/craft-mcp/bin/mcp-server"]
}
}
}Without DDEV (native PHP)
{
"mcpServers": {
"craft-cms": {
"command": "php",
"args": ["vendor/stimmt/craft-mcp/bin/mcp-server"]
}
}
}克劳德桌面版
- 打开您的Claude Desktop配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 视窗: %APPDATA%\Claude\claude_desktop_config.json
- 添加服务器配置。与Claude Code和Cursor不同,Claude Desktop需要命令和工作目录的绝对路径:
With DDEV (recommended for Craft projects)
{
"mcpServers": {
"craft-cms": {
"command": "/usr/local/bin/ddev",
"args": ["exec", "php", "vendor/stimmt/craft-mcp/bin/mcp-server"],
"cwd": "/path/to/your/craft/project"
}
}
}Without DDEV (native PHP)
{
"mcpServers": {
"craft-cms": {
"command": "/usr/bin/php",
"args": ["vendor/stimmt/craft-mcp/bin/mcp-server"],
"cwd": "/path/to/your/craft/project"
}
}
}你可以通过跑步找到你的绝对路径 which ddev 或 which php 在你的终端。
通过SSH远程服务器(不推荐)
对于远程服务器上的开发环境,您可以通过SSH进行隧道连接。请注意,出于安全考虑,不建议将此方法用于生产环境。
SSH tunnel configuration
{
"mcpServers": {
"craft-cms": {
"command": "ssh",
"args": [
"-t",
"user@your-server.com",
"cd /path/to/craft/project && php vendor/stimmt/craft-mcp/bin/mcp-server"
]
}
}
}要求:
- 必须配置SSH密钥身份验证(无密码提示)
- 远程服务器必须有PHP 8.2+可用
- Craft MCP插件必须安装在远程安装上
可用的MCP工具
内容工具
| 名称 | 备注 |
|---|---|
| 列表条目 | 按部分、状态、作者和限制进行筛选的查询条目 |
| 获取条目 | 检索包括所有自定义字段值在内的完整条目详细信息 |
| 创建条目 | 在任何包含字段数据的部分中创建新条目 |
| 更新条目 | 修改现有条目内容和自定义字段 |
| 列出资产 | 使用卷和文件夹过滤浏览资产 |
| 获取资产 | 获取包括维度和元数据在内的详细资产信息 |
| 列出资产文件夹 | 列出资产卷内的文件夹结构 |
| 列出类别 | 使用层次结构信息按组查询类别 |
| 列出用户 | 使用组筛选查询用户 |
| 列出全局值 | 列出所有全局集及其字段值 |
架构和结构工具
| 名称 | 备注 |
|---|---|
| 列出章节 | 检查所有章节及其条目类型和字段布局 |
| 列出字段 | 获取所有具有类型、设置和组分配的字段 |
| 列出卷 | 检查资产卷配置和文件系统设置 |
| 列出插件 | 获取已安装的插件及其版本、状态和设置 |
系统工具
| 名称 | 备注 |
|---|---|
| 获取系统信息 | 阅读Craft版本、PHP版本、数据库驱动程序和环境 |
| 获取配置 | 读取Craft常规配置和插件配置值 |
| 读取日志 | 使用文本或JSON输出按级别、源、模式搜索和过滤日志条目 |
| 获取上次错误 | 从日志中检索最近的错误 |
| 清除缓存 | 一次清除特定缓存或所有缓存 |
| 列出路线 | 检查所有已注册的路线,包括控制器操作 |
| 列出控制台命令 | 列出可用的Craft CLI命令 |
数据库工具
| 名称 | 备注 |
|---|---|
| 获取数据库信息 | 获取数据库连接详细信息和服务器版本 |
| 获取数据库架构 | 检查包含所有表和列的完整数据库架构 |
| 获取表计数 | 获取核心Craft表的行计数 |
| 运行查询 | 对数据库执行只读SELECT查询 |
调试工具
| 名称 | 备注 |
|---|---|
| 获取队列作业 | 按状态(挂起、保留、失败、完成)检查队列作业 |
| 获取项目配置差异 | 显示需要应用的待定项目配置更改 |
| 获取弃用 | 从日志和弃用表中读取弃用警告 |
| 解释查询 | 对查询运行Explain以进行性能分析 |
| 获取环境 | 读取安全环境信息(无秘密泄露) |
| 列出事件处理程序 | 检查已注册的Yii事件处理程序和侦听器 |
| Tinker | 在Craft应用程序上下文中执行任意PHP代码 |
多站点工具
| 名称 | 备注 |
|---|---|
| 列出网站 | 获取所有带有句柄、语言和基本URL的网站 |
| 获取站点 | 通过ID或句柄获取详细的站点信息 |
| 列出网站组 | 列出网站组及其关联网站 |
GraphQL工具
| 名称 | 备注 |
|---|---|
| 列出GraphQL模式 | 列出所有GraphQL模式及其作用域 |
| 获取GraphQL架构 | 获取包括SDL在内的架构详细信息 |
| 执行GraphQL | 运行GraphQL查询和突变 |
| 列出GraphQL令牌 | 列出API令牌及其关联的架构 |
备份工具
| 名称 | 备注 |
|---|---|
| 列出备份 | 列出可用的数据库备份 |
| 创建备份 | 创建新的数据库备份 |
自我意识工具
| 名称 | 备注 |
|---|---|
| 获取MCP信息 | 获取插件版本、状态和配置 |
| 列出MCP工具 | 列出所有可用工具及其说明和启用状态 |
| 重新加载MCP | 重新加载以检测新安装的插件,而无需重新启动服务器 |
商务工具(安装Craft Commerce时)
| 名称 | 备注 |
|---|---|
| 列出产品 | 列出带有变体信息的产品 |
| 获取产品 | 获取详细的产品信息 |
| 列出订单 | 列出具有状态筛选的订单 |
| 获取订单 | 通过ID或编号获取订单详细信息 |
| 列出订单状态 | 列出可用订单状态 |
| 列出产品类型 | 列出产品类型配置 |
延伸
其他Craft插件和模块可以通过监听来注册自己的MCP工具 EVENT_REGISTER_TOOLS 活动。这允许您向AI助手公开插件特定的功能,例如自定义元素类型、模块API或专用查询。
请参阅 扩展指南 了解工具开发的实现细节、代码示例和最佳实践。
文档
- 安装 -要求、编辑器设置和详细的安装步骤
- 配置 -所有配置选项、环境变量和安全设置
- 工具参考 -所有50个工具的完整文档,包括参数和示例
- 提示 -针对内容运行状况、审核和模式探索的预构建分析提示
- 资源 -对架构、配置和内容数据的基于URI的只读访问
- 延伸 -插件和模块开发人员注册自定义工具、提示和资源的指南
贡献
感谢您考虑为Craft MCP做出贡献!请参阅 用于错误报告、功能请求和讨论。
学分
- 由创建和维护 Max van Essen 的
- 受...启发 Laravel Boost
- 插件图标来自 明亮的 (MIT)
许可证
Craft MCP是根据 MIT许可证.
