News

Laravel MCP Beta is Released

Published

The Laravel team launched a public beta of Laravel MCP, a package to rapidly build Model Context Protocol (MCP) servers for your Laravel applications. Laravel MCP joins Laravel Boost as a first-party tool that makes working with AI in Laravel a joy build.

Laravel MCP provides a framework for AI clients to interact with your Laravel application, defining routes, servers, prompts, and more:

namespace App\Mcp\Servers;
 
use Laravel\Mcp\Server;
 
class WeatherServer extends Server
{
/**
* The tools registered with this MCP server.
*
* @var array<int, class-string<\Laravel\Mcp\Server\Tool>>
*/
protected array $tools = [
// ExampleTool::class,
];
 
/**
* The resources registered with this MCP server.
*
* @var array<int, class-string<\Laravel\Mcp\Server\Resource>>
*/
protected array $resources = [
// ExampleResource::class,
];
 
/**
* The prompts registered with this MCP server.
*
* @var array<int, class-string<\Laravel\Mcp\Server\Prompt>>
*/
protected array $prompts = [
// ExamplePrompt::class,
];
}

Servers define the central communication point to provide capabilities such as tools, resources, and prompts. Here's an example of a CurrentWeatherTool from the documentation to give you a quick taste of building with Laravel MCP:

namespace App\Mcp\Tools;
 
use Illuminate\JsonSchema\JsonSchema;
use Laravel\Mcp\Request;
use Laravel\Mcp\Response;
use Laravel\Mcp\Server\Tool;
 
class CurrentWeatherTool extends Tool
{
protected string $description = 'Fetches the current weather forecast for a specified location.';
 
public function handle(Request $request): Response
{
$location = $request->get('location');
 
// Get weather...
 
return Response::text('The weather is...');
}
 
public function schema(JsonSchema $schema): array
{
return [
'location' => $schema->string()
->description('The location to get the weather for.')
->required(),
];
}
}

Laravel MCP is released to the public as a beta version, but it already feels like a polished Laravel package. It feels very much like building MVC Laravel applications, and I think this package will help the Laravel community productively build MCP servers that are not only a joy to use, but also to build.

Learn More

With the beta release of Laravel MCP, there are a lot of resources to get started. I recommend reading the documentation first, and then diving into the Laravel/Locket demo code to provide examples of how to build servers, tools, and prompts.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Filed in

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
WhenMounted and BigInt Props in Inertia.js v3.8 image

WhenMounted and BigInt Props in Inertia.js v3.8

Read article
Postcodes for Laravel: GB Postcode Lookup and Geography Data image

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Read article
Laravel 14 Adds a defaults() Method to Eloquent Models image

Laravel 14 Adds a defaults() Method to Eloquent Models

Read article
Laravel AI SDK and Laravel MCP Security Fixes: Update Now image

Laravel AI SDK and Laravel MCP Security Fixes: Update Now

Read article
Mailbox for Laravel: Preview and Test Rendered Email image

Mailbox for Laravel: Preview and Test Rendered Email

Read article
Count Worker Crashes as Job Exceptions in Laravel 13.34 image

Count Worker Crashes as Job Exceptions in Laravel 13.34

Read article