Laravel MCPを使ってLaravelでMCPサーバーを作る方法【Claude Codeと連携】

AI系ツール

LaravelでMCPサーバーを作れるライブラリができました!MCPを使うと生成AIを使った開発がさらに便利になります。

MCPサーバーの作成手順を知りたい方は、参考にしてくださいね。

▶公式マニュアルはこちら:

※ 本記事は v0.3(β版) 時点の内容です。以降の更新で差分が出る可能性があります。GitHubはこちら。

Laravel MCPサーバーの作り方

今回は数字を計算するだけの簡単なMCPサーバーを作る方法をご紹介します。まずはライブラリをインストールします。

インストール

タグパブリッシュ

ルート定義

routes/ai.php を編集します。

WebとLocalルートのいずれかを作成しますが、今回はLocalルートを作ります。

WebとLocalの違い:

  • web(): HTTP経由でアクセスできるサーバー。外部連携時に使用
  • local(): ローカル環境(コマンドライン上)で動かすサーバー

MCPサーバーを作成

コマンドを実行:

app/Mcp/Servers/CountNumber.php を編集(後程作成するToolも登録しておきます):

ツール作成

コマンドを実行:

app/Mcp/Tools/MultiplyThreeNumbersTool.php を編集:

schema は、ツールが 生成AIから受け取る引数(入力データ) の形式を定義する部分です。そのデータを実際に処理するのが handleメソッド です。

なお、必要に応じて handle メソッド内で Laravel のバリデーション機能使って、引数の検証を行うこともできます。

Claude Codeに追加

Claude Codeに作成したMCPサーバーを登録します。

*PHPのパスが通っていない場合は、フルパスを指定してください。

動作確認

  1. Claude Codeを起動
  2. MCPサーバーの確認

    コマンドで登録されているMCPサーバーを確認できます。

  3. 実際にMCPサーバーを使ってみます。MCPサーバーを指定して数字を3つ受け渡すと、作成したMCPサーバーを使った計算結果が返ってきます。

トラブルシューティング

エラー発生時には、\Log::info() を活用してデバッグすることをおすすめします。storage/logs/laravel.log内のログファイルにて、ログの内容を確認できます。

【Log例】

MCPインスペクターを使うと接続をテストできます。

表示されるURLをクリックして、ブラウザでインスペクターを開きます。(使い方は省略)

ツール、プロンプト、リソースの違い

MCPサーバーには3つの主要なコンポーネントがあります。今回はツールを作りましたが、ほか、プロンプトやリソースを作ることもできます。

それぞれ次の通り:

  • ツール (Tools):AIが実行できる機能。
  • プロンプト (Prompts):AIへの指示テンプレート。
  • リソース (Resources):AIが読み取れるデータ(ファイルなど)を返す。

詳細は公式マニュアルご覧ください。

さいごに

今回は計算するだけのものでしたが、お好みで内容を変えてくださいね。

なお、実際にLaravel MCPで作成したMCPサーバーをGitHubパッケージとして公開しています。生成AIが、既にレコードが入ったテーブルを勝手に削除するのを防ぐためにご利用頂けます。

ご興味あればぜひ、試してみてください♪

気に入ったらスターをつけて頂けると、とても嬉しいです。

「MCPが何か、基本から知りたい!」と思ったら、こちらのYoutubeご覧ください。

MCPとは?生成AIの回答精度を劇的に変える技術とことん分かりやすく解説しました
タイトルとURLをコピーしました