Laravel Artisan MCP Server

Laravel Artisan MCP Server

一个模型上下文协议(MCP)服务器,它通过Claude和其他MCP客户端安全地执行Laravel Artisan命令。

简介

Laravel Artisan MCP 服务器允许您通过 Claude 或其他 MCP 客户端使用自然语言对话来控制和管理本地 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]"

配置

设置必要的环境变量:

# 选项1: 命令行
ARTISAN_DIRECTORY="/path/to/laravel/project" WHITELISTED_COMMANDS="route:list,cache:clear" uv run artisan_mcp_server.py

# 选项2: .env 文件
ARTISAN_DIRECTORY=/path/to/laravel/project
WHITELISTED_COMMANDS=route:list,cache:clear,make:controller

测试

使用 MCP Inspector:

uv run mcp dev artisan_mcp_server.py --env-file .env

然后访问 http://localhost:5173

与 Claude 桌面版集成

编辑 Claude 配置文件:

{
  "mcpServers": {
    "laravel-artisan": {
      "command": "uv",
      "args": [
        "--directory", 
        "/path/to/laravel-artisan-mcp",
        "run", 
        "artisan_mcp_server.py"
      ],
      "env": {
        "ARTISAN_DIRECTORY": "/path/to/laravel/project",
        "WHITELISTED_COMMANDS": "route:list,cache:clear,make:controller"
      }
    }
  }
}

使用方法

服务器提供两个主要工具:

  1. run_artisan - 执行白名单中的 Artisan 命令
  2. list_all_artisan_commands - 显示所有可用命令

示例对话:

  • "运行 route:list 命令显示所有路由"
  • "显示我 Laravel 项目中所有可用的 Artisan 命令"

要求

  • Python 3.10+
  • Laravel 项目
  • PHP 已安装并在 PATH 中
  • 兼容 MCP 的客户端

安全注意

仅允许执行白名单中的命令,建议在开发或测试环境中使用。