mattiasgeniar/filament-mcp
Expose your Filament resources to AI agents over MCP. Per-record create, read, and update tools are generated from your existing resource forms; delete tools are opt-in. Access is forbidden by default, gated by a token and your own authorization callback, and every call is audited.
Architecture fit. Unchanged. filament-mcp remains a thin adapter between the Filament panel (resource forms as the source of truth for field definitions) and laravel/mcp (transport/server layer). The introspection bet — compiling form schemas into MCP tool arguments so tool definitions stay in lockstep with admin UI changes — is still the right thing for a TPM to evaluate, and it is now a slightly safer bet because the adapter has demonstrably tracked its upstream dependency through a major version.
Integration feasibility. Still high on paper, and marginally better in practice. The v0.1 release is a single dependency-alignment change ("Support Laravel MCP 1.0"), which tells you the integration surface is narrow enough that a protocol major can be absorbed in one PR. That is a useful datapoint: the package's coupling to laravel/mcp is real but shallow. The core install path (composer, publish config, register resources, authorization callback, point a client at the endpoint) is unchanged, as is the sensible default that create/read/update are generated while delete is per-resource opt-in.
Technical risk. The risk profile shifts in two ways, one favourable and one not.
Favourable — maintainer depth. @freekmurze (Freek Van der Herten, Spatie) landing the MCP 1.0 support PR is the most meaningful signal since the original assessment. It does not make this a supported product, but it materially improves the odds of timely patches for exactly the class of breakage you were most worried about, and it makes the "fork if necessary" contingency more credible rather than less. Bus factor is still 1.x, not 2, but the direction is right.
Unfavourable — version semantics. A 0.0.10 → 0.1 bump accompanying "Support Laravel MCP 1.0" is a coordinated major alignment, and the release notes contain no upgrade guide, no deprecation notice, and no statement of whether 0.0.10 configurations, published config files, or registered resources continue to work. In pre-1.0 semver, 0.1 is conventionally a breaking release. Any existing pilot on 0.0.10 + laravel/mcp 0.x should be assumed to need a coordinated bump until proven otherwise.
Risk list, re-prioritised:
filament-mcp and laravel/mcp as a pair and upgrade them together. This is manageable but it is a standing tax.Form to v4 Schema. Note that v0.1 addresses the MCP axis, not the Filament axis — no evidence yet that a Filament major would be absorbed as cleanly.Key questions for the maintainer / spike.
composer.json constraints for laravel/mcp and filament-mcp at v0.1, and is there any supported path for staying on MCP 0.x?@freekmurze a one-off contributor or an ongoing co-maintainer with merge rights? This determines whether the bus-factor improvement is durable.->hidden(), ->disabled(), canAccess(), panel tenancy; per-tool vs per-record authorization; validation-rule translation and 422 surfacing; audit attribution of agent writes; rate limiting and payload limits; token store vs stateless auth.Stack fit. Laravel + Filament panel + PHP 8.2ish, now with laravel/mcp ^1.0 as the target transitive dependency. Fits naturally where Filament is the canonical field contract; does not fit where admin is hand-rolled Blade or Nova.
Migration path. Still near-zero-data migration — configuration and governance, not schema. Two changes to the path. First, pin the pair explicitly: filament-mcp ^0.1 with laravel/mcp ^1.0, and do not mix with 0.0.10-era installs. Second, because there is no published upgrade guide, treat the version bump itself as a mini-spike: install v0.1, regenerate tool schemas for one resource, and diff against the schemas produced under 0.0.10 before touching anything else. If you have no existing install, skip that and start clean on v0.1 — this release makes greenfield adoption simpler, not harder.
Compatibility. Co-version filament-mcp, laravel/mcp, and Filament as a single upgrade unit; never upgrade one independently. The v0.1 release is evidence that the maintainer (and now at least one experienced outside contributor) will do this alignment work, which lowers but does not eliminate the need for your own CI matrix — with 0 dependents there are still no third-party compatibility reports. Fork-readiness remains a Phase-2 prerequisite rather than a Phase-4 afterthought; the code surface is small enough that this is realistic.
Sequencing.
Deliberately defer: tenancy, file uploads, relation-manager-heavy resources. Also defer any upgrade of an in-flight pilot until the schema diff in Phase 0 confirms v0.1 is behaviourally equivalent for your resources.
Maintenance. Small code surface, low commit volume, and now one credible outside contributor. The burden you inherit is still mostly your config and policy hygiene plus tracking two upstreams (Filament, laravel/mcp). The v0.1 release is a good demonstration of the maintenance model working — a major upstream bump absorbed quickly — but it also confirms you inherit the upgrade cadence of laravel/mcp whether you want to or not. Plan for the possibility of maintaining a fork; the package remains small enough that this is realistic.
Support. No vendor, no SLA. README, changelog, releases, GitHub issues — and, notably, release notes that are auto-generated changelogs rather than upgrade guidance. Your internal runbook needs to cover: how to disable the endpoint, how to revoke a token, how to identify which agent wrote which record, and how to diff generated tool schemas between package versions (this last one is new and belongs in the runbook, not in someone's head).
Scaling. Unchanged. MCP calls land as ordinary HTTP requests in your app process; scaling is your existing app's scaling problem with an agent traffic shape — bursty, retry-heavy, prone to re-reading the same records. Add explicit throttling on the MCP route, watch for N+1s introduced by form introspection, and note there is no queueing story: long-running tool calls are your request timeouts. Do not assume MCP 1.0 changes transport-level scaling characteristics; verify it if you are load-testing.
Failure modes to instrument for.
filament-mcp and laravel/mcp upgraded out of step, producing failures at boot or at tool-call time rather than at review time.Ramp-up. Low for a Laravel developer (hours to a working endpoint). Moderate for the team: someone must own MCP client literacy and, more importantly, own the tool descriptions and policy audit — tool-use quality is governed by schema clarity, and vague generated descriptions produce bad agent behaviour that looks like a package bug. One new line item: whoever owns the dependency pins now owns an upgrade ritual (bump both packages together, regenerate schemas, diff). Overall: the v0.1 release improves the case for a bounded spike and slightly improves the fork contingency, but it does not by itself justify a production dependency without an explicit policy audit, a co-versioning policy, and a documented upgrade procedure.
How can I help you explore Laravel packages today?