Maarten Paauw
@maartenpaauw
π Laravel Developer | π» Passionate about PHP, Laravel and open source | π Constantly learning & sharing | ποΈ Building @filamentphp plug-ins
Itβs live at filamentphp.com/plugins/maarteβ¦
The last couple of days have been a rollercoaster ride for my side project. Had a cancellation, which made me doubt a little. The day after, I closed my first big deal! Keep shipping! π’

Fun discovery while mapping JSON-RPC error codes to PHP enums: you can use negative integers as values in integer backed enums! Did you know this was possible? #php #mcp

The State Of Laravel 2025 survey has started! You can now participate to identify how the ecosystem changed over the past 12 months! Please RT for reach β€οΈ stateoflaravel.com/participate?reβ¦
I'm proud of how my MCP PHP SDK is taking shape. Here's what the SetLevelRequest looks like. It's very readable. See those JSON RPC attributes? Love them! #php #mcp

Reminder: you can use a class with __invoke as an array_filter callback. Perfect for reusable filtering logic! #php

Every MCP request message contains a method field that tells the server what the client wants to do. Things like "prompts/list", "tools/call" or "resources/read". Created a Method enum for type safety. No more typos in method names!

New @rectorphp 2.1 is here π π π * 4 new rules for PHP 8.4 π * 2 new configuration options to enjoy gradual step-by-step upgrade without touching config π * a new typed collection set with 20 new rules for Doctrine π§‘ * 30 bugfixes... and more Thanks all contributorsβ¦
PHP enum limitation: MCP protocol versions are 2024-11-05, 2025-06-18 etc. Would be perfect as enum cases, but PHP doesn't allow integers as case names and 2025_06_18 isn't valid syntax. Simple solution: prefix with v β v2025_06_18. Clean and readable!

At first I wondered why MCP doesn't just use HTTP status codes for errors. Then it clicked: The transport can also be over stdio and stdio obviously doesn't have status codes. modelcontextprotocol.io/specification/β¦