这是一个模型上下文协议(MCP)服务器,它通过 Claude 和其他 MCP 客户端实现 Laravel Artisan 命令的安全执行。该服务器充当 AI 助手与您的本地Laravel 应用程序之间的桥梁,允许通过自然语言对话来控制管理 Laravel 项目。

克隆此仓库:
git clone https://github.com/diggy/laravel-artisan-mcp.git
cd laravel-artisan-mcp
创建虚拟环境:
uv init
uv venv
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
安装依赖项:
uv add "mcp[cli]"
服务器需要以下环境变量:
ARTISAN_DIRECTORY:包含 Artisan 可执行文件的 Laravel 项目的绝对路径WHITELISTED_COMMANDS:允许的 Artisan 命令的逗号分隔列表(例如,route:list,cache:clear,make:controller 或您 Laravel 应用程序中注册的任何默认或自定义命令)您可以以多种方式提供这些变量:
直接在命令行中:
ARTISAN_DIRECTORY="/absolute/path/to/your/laravel/project" WHITELISTED_COMMANDS="route:list,cache:clear,make:controller" uv run artisan_mcp_server.py
使用 .env 文件:
ARTISAN_DIRECTORY=/absolute/path/to/your/laravel/project
WHITELISTED_COMMANDS=route:list,cache:clear,make:controller
在 Claude Desktop 配置中(参见下面的 Claude 集成部分)
MCP Inspector 提供了一个图形界面,在将其集成到 Claude 之前测试您的服务器:
# 使用直接的环境变量运行
ARTISAN_DIRECTORY="/absolute/path/to/your/laravel/project" WHITELISTED_COMMANDS="route:list,cache:clear,make:controller" uv run mcp dev artisan_mcp_server.py
# 或使用 env 文件
uv run mcp dev artisan_mcp_server.py --env-file .env
一旦 Inspector 运行起来:
list_available_artisan_commands:显示 Laravel 项目中的所有白名单命令run_artisan:执行特定命令(必须是白名单中的)要将此服务器与 Claude Desktop 一起使用:
确保已安装 Claude Desktop
编辑 Claude Desktop 配置文件:
macOS:
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows:
notepad %APPDATA%\Claude\claude_desktop_config.json
添加以下配置(根据需要调整路径):
{
"mcpServers": {
"laravel-artisan": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/laravel-artisan-mcp",
"run",
"artisan_mcp_server.py"
],
"env": {
"ARTISAN_DIRECTORY": "/absolute/path/to/your/laravel/project",
"WHITELISTED_COMMANDS": "route:list,cache:clear,make:controller"
}
}
}
}
重启 Claude Desktop
run_artisan执行白名单中的 Artisan 命令。
参数:
command:要运行的 Artisan 命令(例如,'cache:clear')在 Claude 中的示例用法: "运行 route:list 命令以显示我 Laravel 应用程序中的所有可用路由。"
list_available_artisan_commands显示 Laravel 应用程序中的所有可用白名单 Artisan 命令。
在 Claude 中的示例用法: "显示我所有可用的 Artisan 命令。"
此服务器实现了多项安全措施(根据 Claude):
服务器无法找到您的 Laravel 项目的路径。检查:
指定的目录不包含 Artisan 可执行文件。验证:
服务器无法在 PATH 中找到 PHP。确保:
本 Laravel Artisan MCP 服务器按原样提供,没有任何形式的担保或保证。使用此软件时,您承担与其操作相关的所有风险。该服务器有权在其 Laravel 环境中执行命令,这可能会对您的应用程序数据和功能产生潜在影响。我们强烈建议仅在开发或测试环境中使用此工具。仅当您完全理解安全影响并已实施适当的防护措施时,才应在生产 Laravel 应用程序中使用此服务器。在允许 AI 助手通过此接口执行 Artisan 命令之前,请始终维护您的 Laravel 项目的适当备份。本软件的作者和贡献者不对因使用或误用此工具而导致的任何损害、数据丢失或安全漏洞负责。您独自负责配置适当的命令白名单和访问控制。此软件未经正式安全审计,应被视为实验性的。自行承担风险使用。
本项目根据 MIT 许可证发布 - 详情请参阅 LICENSE 文件。
此 MCP 服务器是在 Claude(Anthropic 的 AI 助手)的帮助下制作的(他坚持添加这个谦虚的致谢,同时承诺不会包含笑脸表情符号或过度的热情)。