Share your code editable and funny templates.

What's New In Laravel: Mcp 1.0, Laravel 14 & Mariadb Vector Search

Published on October 3, 2026 by

What's New in Laravel: MCP 1.0, Laravel 14 & MariaDB Vector Search

🚀 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 AppServer
php 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 clients
Mcp::web('/mcp', AppServer::class);
 
// Local server — runs as an Artisan command for local assistants
Mcp::local('weather', AppServer::class);

What's new in 1.0

  • Protocol 2026-07-28 — uses server/discover instead of the old initialize handshake (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.

Laravel MCP servers let AI assistants use your app's tools


🎯 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.x apps updated — you're already getting the new features
  • ✅ Run composer outdated and 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 update on 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 RuntimeException on 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

  1. Try Laravel MCP — composer require laravel/mcp and expose one real tool from your app to an AI client
  2. Update to the latest 13.x — grab the Laracon keynote features you've been missing
  3. Audit your database choice — if you're on MariaDB 11.7+, native vector search is now one migration away
  4. 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:

Dinesh Uprety

Senior Software Engineer • Writer @ Laranepal • PHP, Laravel, Livewire, TailwindCSS & VueJS • CEO @ Laranepal & Founder @ laracodesnap

Filed in:

Discussion

Login or register to comment or ask questions

No comments yet

Be the first to share your thoughts or ask a question.

Join the conversation

Sign in to share your thoughts with the community.

SPONSORED
Codesnap

Codesnap

Share your code editable and funny templates.