PhpStorm で Laravel Boost を使ってみる
いまや開発に AI は欠かせない存在になりつつありますが、Laravel に特化した MCP サーバとして、Laravel Boost があります。Laravel Boost を利用することで、AI アシスタントが Laravel プロジェクトの情報を取得しやすくなり、より適切な回答をしてくれるようになることが期待されます。
インストール
私の場合、Junie は使わず、AI Assistant のみなので、公式の手順を省略しています。
composer require laravel/boost --dev
のみで OK。
PHPStorm の設定
PHPStorm の [ファイル] → [設定] から、[ツール] → [AI Assistant] → [Model Context Protocol (MCP)] に移動し、+ を押して、新規サーバを追加する画面を出します。
私の場合、Docker を使って開発しているので、JSON 構成のところは、以下のようになります(compose.yaml をプロジェクトルートに置いてある前提)。
{
"mcpServers": {
"laravel-boost": {
"command": "docker",
"args": [
"compose",
"exec",
"-T",
"app",
"php",
"artisan",
"boost:mcp"
]
}
}
}
args の中の app はサービス名なので、環境に合わせて適宜修正してください。要するに
docker compose exec -T app php artisan boost:mcp
を実行したいわけです。
次に、作業ディレクトリに、現在のプロジェクトのルートディレクトリを指定します。私の場合、プロジェクトファイルを WSL 上に置いているので、/home/foo/projects/project-a などと設定します。作業ディレクトリを設定することで、JSON 構成部分を使いまわせるようになります。
サーバーレベルは、プロジェクトを選択します。
これで設定は完了です。
AI Assistant でも Laravel Boost をより活用する
上記の設定だけでも、必要に応じて MCP サーバに問い合わせて回答してくれるのですが、Junie や Claude のようにガイドラインやスキルを使うことができません。PhpStorm の場合、php artisan boost:install を実行すると、Junie の設定が有効になるので、そこで作成されたガイドラインやスキルを .aiassistant/rules 以下にコピーすることで使うこともできるのですが、php artisan boost:update に対応できないので、AI Assistant 用の設定を追加します。
app/Boost/Agents/JetBrainsAiAssistant.php を作成し、以下のように記述します。
<?php
namespace App\Boost\Agents;
use Laravel\Boost\Contracts\SupportsGuidelines;
use Laravel\Boost\Contracts\SupportsMcp;
use Laravel\Boost\Contracts\SupportsSkills;
use Laravel\Boost\Install\Agents\Agent;
use Laravel\Boost\Install\Enums\Platform;
class JetBrainsAiAssistant extends Agent implements SupportsGuidelines, SupportsMcp, SupportsSkills
{
public function name(): string
{
return 'jetbrains_ai_assistant';
}
public function displayName(): string
{
return 'JetBrains AI Assistant';
}
public function systemDetectionConfig(Platform $platform): array
{
return match ($platform) {
Platform::Darwin => [
'paths' => ['/Applications/PhpStorm.app'],
],
Platform::Linux => [
'paths' => [
'/opt/phpstorm',
'/opt/PhpStorm*',
'/usr/local/bin/phpstorm',
'~/.local/share/JetBrains/Toolbox/apps/PhpStorm/ch-*',
],
],
Platform::Windows => [
'paths' => [
'%ProgramFiles%\\JetBrains\\PhpStorm*',
'%LOCALAPPDATA%\\JetBrains\\Toolbox\\apps\\PhpStorm\\ch-*',
'%LOCALAPPDATA%\\Programs\\PhpStorm',
],
],
};
}
public function projectDetectionConfig(): array
{
return [
'paths' => ['.idea', '.ai', '.aiassistant'],
];
}
public function mcpConfigPath(): string
{
return config('boost.agents.jetbrains_ai_assistant.mcp_path', '.ai/mcp/mcp.json');
}
public function guidelinesPath(): string
{
return config('boost.agents.jetbrains_ai_assistant.guidelines_path', '.aiassistant/rules/boost.md');
}
public function skillsPath(): string
{
return config('boost.agents.jetbrains_ai_assistant.skills_path', '.aiassistant/rules/skills');
}
}
さらに、app/Providers/AppServiceProvider.php に以下を追記することで、php artisan boost:install 実行時に jetbrains_ai_assistant を選択できるようになります。
use App\Boost\Agents\JetBrainsAiAssistant;
use Laravel\Boost\Boost;
public function boot(): void
{
Boost::registerAgent('jetbrains_ai_assistant', JetBrainsAiAssistant::class);
}
ディスカッション
コメント一覧
まだ、コメントがありません