NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #205 most downloaded on Packagist
Rapidly build MCP servers for your Laravel applications.
Last release 13 days ago
24 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 44 of 45 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
47 releases · first in 2025
One column per month.
Validate loopback redirect URIs by parsed host by @pushpak1300 in #349
Full Changelog: v1.0.0...v1.0.1
Full Changelog: https://github.com/laravel/mcp/compare/v1.0.0...v1.0.1
Expose OAuth challenges on authenticated MCP routes by @Gujiassh in #322
assertNotRegistered method on TestResponse by @gdebrauwer in #334Full Changelog: v1.0.0-beta.1...v1.0.0
assertNotRegistered method on TestResponse by @gdebrauwer in https://github.com/laravel/mcp/pull/334Full Changelog: https://github.com/laravel/mcp/compare/v1.0.0-beta.1...v1.0.0
Align protocol error codes with MCP 2026-07-28 by @pushpak1300 in #282
Let an MCP App shrink by measuring the body in size notifications by @sergeevpasha in #344
Full Changelog: v0.9.5...v0.9.6
Add oauth client logo and uri by @benbjurstrom in #337
Full Changelog: v0.9.4...v0.9.5
Full Changelog: https://github.com/laravel/mcp/compare/v0.9.4...v0.9.5
[0.x] Update .gitattributes by @jackbayliss in #309
Full Changelog: v0.9.3...v0.9.4
Full Changelog: https://github.com/laravel/mcp/compare/v0.9.3...v0.9.4
Pin MCP Inspector to v1-latest by @pushpak1300 in #307
Full Changelog: v0.9.2...v0.9.3
Full Changelog: https://github.com/laravel/mcp/compare/v0.9.2...v0.9.3
Bump actions/checkout from 7.0.0 to 7.0.1 in the github-actions group by @dependabot [bot] in #274
Full Changelog: v0.9.1...v0.9.2
Full Changelog: https://github.com/laravel/mcp/compare/v0.9.1...v0.9.2
Reject malformed JSON-RPC parameters by @pushpak1300 in #273
Use negotiated MCP protocol version for HTTP client requests by @andrew-downey in #257
#[SensitiveParameter] to parameters carrying secrets by @axlon in #265Full Changelog: v0.8.2...v0.9.0
Likelihood Of Impact: low
The Laravel\Mcp\Client\Contracts\Transport contract now requires a setProtocolVersion method. The client calls this method after the initialize handshake so the transport can send the negotiated protocol version on subsequent requests.
If your application implements this contract, add the method to your transport:
public function setProtocolVersion(string $version): void
{
$this->protocolVersion = $version;
}Transports that do not send per-request headers may implement the method as a no-op, as the first-party StdioTransport does.
Likelihood Of Impact: Medium
The MCP client now validates the negotiated protocol version against the new ProtocolVersion::clientSupported() method rather than ProtocolVersion::supported(). The client supports 2025-11-25 and 2025-06-18.
Connecting to a server that negotiates 2025-03-26 or 2024-11-05 previously succeeded and will now throw a Laravel\Mcp\Exceptions\ClientException.
The ProtocolVersion::supported() method is unchanged and still reports every version the server accepts.
Bump shivammathur/setup-php from 2.37.1 to 2.37.2 in the github-actions group by @dependabot [bot] in #252
Full Changelog: v0.8.1...v0.8.2
Full Changelog: https://github.com/laravel/mcp/compare/v0.8.1...v0.8.2
Add resources support to the MCP client by @pushpak1300 in #243
Full Changelog: v0.8.0...v0.8.1
Full Changelog: https://github.com/laravel/mcp/compare/v0.8.0...v0.8.1
Add MCP client tool listing and calling by @pushpak1300 in #226
Full Changelog: v0.7.2...v0.8.0
Full Changelog: https://github.com/laravel/mcp/compare/v0.7.2...v0.8.0
return $this from ->dump() by @Gummibeer in #223
Full Changelog: v0.7.1...v0.7.2
Full Changelog: https://github.com/laravel/mcp/compare/v0.7.1...v0.7.2
Return 201 from OAuth client registration per RFC 7591 by @danniehansen in https://github.com/laravel/mcp/pull/207
docs(readme): point test badge to workflow file URL by @Gujiassh in https://github.com/laravel/mcp/pull/201
Fix route:cache memory exhaustion caused by circular reference by @radumetes in https://github.com/laravel/mcp/pull/197
Full Changelog: https://github.com/laravel/mcp/compare/v0.6.6...v0.6.7
fix: preserve unicode characters in JSON-RPC responses by @indigoram89 in https://github.com/laravel/mcp/pull/191
fix: support custom URI schemes in OAuth client registration by @alexis-riot in https://github.com/laravel/mcp/pull/181
Full Changelog: https://github.com/laravel/mcp/compare/v0.6.4...v0.6.5
Remove redundant "When to Apply" section from skill body by @pushpak1300 in https://github.com/laravel/mcp/pull/175
Add assertStructuredContent($closure) support by @gdebrauwer in https://github.com/laravel/mcp/pull/172
assertStructuredContent($closure) support by @gdebrauwer in https://github.com/laravel/mcp/pull/172Makes imports consistent by @nunomaduro in https://github.com/laravel/mcp/pull/171
Add missing @throws annotation to toJsonRpcResponse method by @mohammadRezaei1380 in https://github.com/laravel/mcp/pull/166
Allow localhost redirect with dynamic ports by @dylanbr in https://github.com/laravel/mcp/pull/156
Update stubs to use attribute syntax by @pushpak1300 in https://github.com/laravel/mcp/pull/157
Add attribute alternatives for primitive and server configuration by @pushpak1300 in https://github.com/laravel/mcp/pull/154
Add configurable JSON response formatting by @LAlex14 in https://github.com/laravel/mcp/pull/150
SessionInitialized event by @jessarcher in https://github.com/laravel/mcp/pull/152Update command description formatting to match all other Laravel Commands by @matthewjohns0n in https://github.com/laravel/mcp/pull/146
Rename stub files with mcp- prefix and update references by @pushpak1300 in https://github.com/laravel/mcp/pull/145
mcp- prefix and update references by @pushpak1300 in https://github.com/laravel/mcp/pull/145Drop Php 8.1 Support by @pushpak1300 in https://github.com/laravel/mcp/pull/141
assertStructuredContent method by @gdebrauwer in https://github.com/laravel/mcp/pull/140Fix JSON-RPC notification param serialization by @csfh in https://github.com/laravel/mcp/pull/136
Implement MCP scope registration in service provider by @pushpak1300 in https://github.com/laravel/mcp/pull/131
fix: correct header name to MCP-Session-Id by @batosai in https://github.com/laravel/mcp/pull/132
Add Completion Support by @pushpak1300 in https://github.com/laravel/mcp/pull/127
Bump Laravel version by @florianraith in https://github.com/laravel/mcp/pull/128
Full Changelog: https://github.com/laravel/mcp/compare/v0.4.1...v0.4.2
Add 2025-11-25 to supported protocolVersion by @pushpak1300 in https://github.com/laravel/mcp/pull/125
2025-11-25 to supported protocolVersion by @pushpak1300 in https://github.com/laravel/mcp/pull/125Full Changelog: https://github.com/laravel/mcp/compare/v0.4.0...v0.4.1
Add Annotation Support on Resources by @pushpak1300 in https://github.com/laravel/mcp/pull/111
Role case names by @pushpak1300 in https://github.com/laravel/mcp/pull/116resource-template stub and update JsonSchema import by @pushpak1300 in https://github.com/laravel/mcp/pull/122Applications referencing the previous case names will need manual updates.
Required changes
Role::ASSISTANT should be updated to Role::AssistantRole::USER should be updated to Role::UserMake sure your codebase reflects these changes before upgrading to avoid build or runtime errors.
Tool implementations that explicitly type hint Illuminate\JsonSchema\JsonSchema in their schema() or outputSchema() methods must update to use the contract interface Illuminate\Contracts\JsonSchema\JsonSchema.
Before
use Illuminate\JsonSchema\JsonSchema;
public function schema(JsonSchema $schema): array
{
//
}
After
use Illuminate\Contracts\JsonSchema\JsonSchema;
public function schema(JsonSchema $schema): array
{
//
}
This affects only custom tool classes that override the schema methods. The update is minimal, requiring only the import change to the contract interface.
Full Changelog: https://github.com/laravel/mcp/compare/v0.3.4...v0.4.0
Add _meta support by @pushpak1300 in https://github.com/laravel/mcp/pull/106
Add MCP service provider to testbench config by @zacksmash in https://github.com/laravel/mcp/pull/100
Ensure the property field exists in tool input schemas by @pushpak1300 in https://github.com/laravel/mcp/pull/97
Full Changelog: https://github.com/laravel/mcp/compare/v0.3.1...v0.3.2
refactor: move to first class callable by @ashleyhindle in https://github.com/laravel/mcp/pull/94
client_id to string in JSON response by @mostafa-rz in https://github.com/laravel/mcp/pull/93Add assertDontSee() to TestResponse and extend test coverage by @mattwells-coex in https://github.com/laravel/mcp/pull/74
feat: default the MCP inspector to 'stdio' when inspecting a local server by @ashleyhindle in https://github.com/laravel/mcp/pull/52
.junie Detritus by @yitzwillroth in https://github.com/laravel/mcp/pull/59artisan optimize command by @nunomaduro in https://github.com/laravel/mcp/pull/66First official "beta" release of Laravel MCP package.
Nothing published for this version
Nothing published for this version
Initial pre-release.
Initial pre-release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →