symfony/ai-mate
MCP server that lets AI assistants interact with PHP and Symfony applications through standardized tools. A development-only tool: install with composer require --dev symfony/ai-mate, then run vendor/bin/mate init. An optional Composer plugin keeps extension discovery fresh.
symfony/ai-mate v0.14.0 ships a maturing CLI surface (skills:install, tools:list, tools:inspect, tools:call) for exposing application capabilities to AI agents. The decision this informs: adopt a package-provided tool registry instead of hand-rolled scripts per team.tools:list, error messages that point at tools:inspect, pretty-output that no longer pads to the widest column and auto-falls back to JSON for large results. That is exactly the low-differentiation work we should not own.skills:install directly reduces "did the install actually work?" support load, and the tools:call → tools:inspect error routing shortens the debugging loop for new adopters.symfony/dotenv is now a hard requirement so mate.env_file works out of the box; MATE_DEBUG_LOG_FILE resolves against the project root and accepts absolute paths; and has_api_key no longer reports true for unset env vars. The last one is a false-positive credential signal — a real blocker for any team gating features on key presence.init rewrites composer.json avoids silent metadata corruption for teams with localized package descriptions or author names.tools:call rather than read it by eye.Adopt when:
0.14.x and absorb minor-version churn; the release cadence is fast and the API is pre-1.0.symfony/dotenv as a dependency (now required, not optional).Look elsewhere when:
symfony/ai-mate); bundles, skills, and conventions assume Symfony. Treat this as a reason to validate fit before committing roadmap slots.To executives: This is a low-cost developer-experience layer that lets our PHP application expose its capabilities to AI tooling through a standard CLI instead of per-team custom scripts. The v0.14.0 release is incremental — no breaking changes, no deprecations — and is mostly about making the tooling easier to install, inspect, and debug. It also closes two config/credential bugs that would otherwise have surfaced as environment troubleshooting during a rollout. Recommendation: fund a scoped pilot, pin the version, and revisit at 1.0. One caveat worth stating plainly: this is a Symfony-ecosystem package, so fit for a Laravel-first codebase needs validation before we commit further.
To engineering: Safe minor upgrade. No API breaks. symfony/dotenv is now a required dependency so mate.env_file works without extra setup — expect a new entry in composer.lock. If you run into a failing tools:call, the error now points you at tools:inspect. MATE_DEBUG_LOG_FILE now resolves relative to the project root and accepts absolute paths, so existing relative-path configs should be re-verified once. Critically, has_api_key was returning true for unset env vars — any feature flagged on that check should be re-tested. Pretty output for tools:call no longer pads columns and falls back to JSON for large payloads; if you parse that output in CI, assert against JSON, not the aligned table.
How can I help you explore Laravel packages today?