What's New In Laravel: Mcp 1.0, Laravel 14 & Mariadb Vector Search
Published on October 3, 2026 by Dinesh Uprety
🚀 What's New in Laravel: MCP 1.0, Laravel 14 & Vector Search for MariaDB
October 2026 has been one of the biggest months for Laravel in recent memory. The Laravel team shipped Laravel MCP 1.0 (the first stable release of its Model Context Protocol package), native vector search for MariaDB 11.7+, and clarified what Laravel 14 will actually be. On top of that, everything announced at Laracon US 2026 is already sitting in your 13.x updates.
Let's break it all down — with code you can use today.
🧠 1. Laravel MCP 1.0 Is Stable — Build AI Servers in Laravel
The headline release. Laravel MCP 1.0 (tagged September 14, 2026) is the first stable version of the laravel/mcp package — it lets you build Model Context Protocol (MCP) servers directly in your Laravel apps. In plain terms: you can expose your app's tools, data, and prompts to AI assistants (Claude, ChatGPT, custom agents) through a standard protocol, with full control over what each tool can access.
Install it
composer require laravel/mcp
Create a server and a tool
php artisan make:mcp-server AppServerphp artisan make:mcp-tool CurrentWeatherTool
A server declares exactly which tools, resources, and prompts it exposes:
<?php namespace App\Mcp\Servers; use App\Mcp\Tools\CurrentWeatherTool;use Laravel\Mcp\Server; class AppServer extends Server{ protected array $tools = [ CurrentWeatherTool::class, ]; protected array $resources = []; protected array $prompts = [];}
A tool defines its input schema and its handler:
<?php namespace App\Mcp\Tools; use Illuminate\Contracts\JsonSchema\JsonSchema;use Laravel\Mcp\Request;use Laravel\Mcp\Response;use Laravel\Mcp\Server\Attributes\Description;use Laravel\Mcp\Server\Tool; #[Description('Fetches the current weather for a location.')]class CurrentWeatherTool extends Tool{ public function schema(JsonSchema $schema): array { return [ 'location' => $schema->string() ->description('The location to get the weather for.') ->required(), ]; } public function handle(Request $request): Response { return Response::text( "The weather in {$request->get('location')} is sunny, 72°F." ); }}
Register it
In routes/ai.php:
use App\Mcp\Servers\AppServer;use Laravel\Mcp\Facades\Mcp; // Web server — HTTP endpoint for remote AI clientsMcp::web('/mcp', AppServer::class); // Local server — runs as an Artisan command for local assistantsMcp::local('weather', AppServer::class);
What's new in 1.0
- Protocol
2026-07-28— usesserver/discoverinstead of the oldinitializehandshake (legacy clients still work) - Searchable tool catalogs — large tool libraries stay out of the model's context until the agent searches for them, with per-call limits (
mcp.tool_search.max_tool_calls,mcp.tool_search.max_output_bytes) - Stateless servers — each request is processed independently, easy to scale behind load balancers
- Cache hints — tell clients which responses are safe to reuse and for how long
- Stricter OAuth — PKCE is now required, plus a new Client ID Metadata Document option
- MCP Apps — tools can now render interactive UI, not just plain text
🧠 Why it matters: if you're building AI features on top of Laravel, this is now the official, stable way to do it — no more hand-rolled JSON-RPC endpoints.

🎯 2. Laravel 14 Is Coming — Treat It as a Maintenance Window
Here's the mental-model shift every Laravel developer should internalize: major releases are no longer where features arrive.
Laravel's versioning promise means minor releases never contain breaking changes — so the team ships substantial features in 13.x minors every week. Nothing gets held back for the major. Laravel 14 is best understood as the one moment per year when the framework is allowed to raise its floor (PHP version, dropped deprecations) and clean up breaking changes.
What you should do
- ✅ Keep your
13.xapps updated — you're already getting the new features - ✅ Run
composer outdatedand clear deprecation warnings now, so the Laravel 14 upgrade is painless - ✅ Read the Laravel 14 prep guide before it lands
⚡ 3. Laracon US 2026 Recap: Everything You Can Use Right Now
The Laracon US 2026 keynote (July 29, 2026) introduced a stack of features — and every single one shipped in Laravel 13.x minors. You can use all of this today:
- 🖼️ New image manipulation API — resize, crop, and transform images with a fluent API
- 💻
artisan dev— a new local development command - 🏷️ Head tag API — manage
<head>meta tags fluently - 🔒 Refreshable cache locks — locks that can extend their lifetime
- ⏱️ Debounced jobs — collapse rapid duplicate jobs into one
- 📦 New container binding syntax — cleaner service container registrations
- 🎨 Blade formatting in Pint — Pint now formats your Blade templates
- 🩺
artisan doctor— diagnose common app issues from the CLI - ⚙️ CPX — the newest addition to the Laravel toolchain
⚡ Takeaway: run
composer updateon your Laravel 13 app — you've probably been sitting on these features for weeks without knowing.
🗄️ 4. Native Vector Search Now Supports MariaDB 11.7+
Laravel's native vector search (whereVectorSimilarTo, whereVectorDistanceLessThan, orderByVectorDistance, selectVectorDistance) used to work on exactly one database: PostgreSQL with pgvector. On August 20, PR #61250 landed on the 13.x branch and extended it to MariaDB 11.7+, which ships a native VECTOR column type and VEC_DISTANCE_COSINE functions.
Migration
Schema::create('documents', function (Blueprint $table) { $table->id(); $table->string('title'); $table->text('content'); $table->vector('embedding', 768); // 768-dimension vector $table->timestamps();});
Semantic search in one query
$queryEmbedding = $ai->embed('best wineries in Napa Valley'); // Filter by similarity threshold$results = Document::query() ->whereVectorSimilarTo('embedding', $queryEmbedding, minSimilarity: 0.7) ->limit(10) ->get(); // Or get the distance score and sort by it$nearest = Document::query() ->select('*') ->selectVectorDistance('embedding', $queryEmbedding, as: 'distance') ->orderByVectorDistance('embedding', $queryEmbedding) ->limit(5) ->get();
⚠️ One catch: plain MySQL is still locked out — these methods throw a
RuntimeExceptionon MySQL connections. If you want native vector search without Postgres, MariaDB 11.7+ is now your move.
Perfect for semantic search, RAG pipelines, and recommendation features — no external vector database required.
✅ 5. What You Should Do This Week
- Try Laravel MCP —
composer require laravel/mcpand expose one real tool from your app to an AI client - Update to the latest 13.x — grab the Laracon keynote features you've been missing
- Audit your database choice — if you're on MariaDB 11.7+, native vector search is now one migration away
- Prep for Laravel 14 — clear deprecation warnings so the upgrade is boring (boring is good)
🎯 Final Thoughts
Laravel's release rhythm has changed the game: you no longer wait a year for features — they land weekly in minor releases. Laravel MCP 1.0 gives PHP developers a first-class seat at the AI table, MariaDB vector search removes the Postgres tax on semantic search, and Laravel 14 will be the smoothest major upgrade yet if you stay current on 13.x.
Which one are you trying first? Drop a comment below. 👇
Sources:
Senior Software Engineer • Writer @ Laranepal • PHP, Laravel, Livewire, TailwindCSS & VueJS • CEO @ Laranepal & Founder @ laracodesnap