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

By Dinesh Uprety
Published: 2026-10-03
Updated: 2026-10-03
Canonical: https://laranepal.com/blog/whats-new-in-laravel-mcp-10-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

```bash
composer require laravel/mcp
```

### Create a server and a tool

```bash
php artisan make:mcp-server AppServer
php artisan make:mcp-tool CurrentWeatherTool
```

A server declares exactly which tools, resources, and prompts it exposes:

```php
<?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
<?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`:

```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](https://laranepal.com/storage/WituXwtffqzt6HM39FaE86Mi8PmmHka8mK9ZTUVB.webp)

---

## 🎯 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](https://qadrlabs.com/post/laravel-14-what-we-know-so-far-and-how-to-get-ready) 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](https://github.com/laravel/framework/pull/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

```php
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

```php
$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:**
- [Laravel MCP 1.0 Is Released — Laravel News](https://laravel-news.com/laravel-mcp-1-0)
- [Laravel 14: What We Know So Far — Qadr Labs](https://qadrlabs.com/post/laravel-14-what-we-know-so-far-and-how-to-get-ready)
- [PR #61250: MariaDB support for vector distance queries](https://github.com/laravel/framework/pull/61250)
- [Laravel MCP documentation](https://laravel.com/docs/13.x/mcp)
