guava/filament-mcp
guava/filament-mcp brings the Model Context Protocol to Filament, exposing your admin panel's resources and tools to AI assistants and MCP clients so they can query and act on your Laravel app through a standardized, permission-aware interface.
Architecture fit. guavacz/filament-mcp is a Laravel package that bridges Filament admin panels to the Model Context Protocol (MCP), letting MCP-capable clients (Claude Desktop, Cursor, IDE agents, internal chat tooling) discover and invoke panel capabilities as tools. Architecturally this is a natural Laravel fit: a service provider with package auto-discovery, a Filament plugin registered against a panel, publishable config, and an MCP server endpoint or command transport. It slots into the existing HTTP kernel and Filament authorization stack rather than requiring a sidecar service — a meaningful simplification versus building a bespoke tool-calling API.
Integration feasibility. High on paper, unproven in practice. The 1.0.0 tag contains a single initial commit — no prior tags, no migration guide, no documented upgrade path, and no changelog history to infer intent from. Integration is expected to be composer require + plugin registration + config publish + MCP client wiring, but the actual constraints (Laravel/Filament/PHP version ranges, transport support, auth mechanism) are unverified. Treat every assumption as a hypothesis until a spike confirms it.
Technical risk.
Key questions.
canAccessPanel/tenant scoping, or is there a separate allowlist?composer.json constraints (PHP, Laravel, Filament major)?Stack fit. Assumes a conventional Laravel 11/12 + Filament 3/4 application on PHP 8.2+. Before committing, run composer require guavacz/filament-mcp --dry-run against the locked dependency set to surface conflicts; version constraints are unknown from the release notes.
Migration path. None required — this is greenfield adoption with no existing surface to migrate. The relevant "migration" is organizational: moving from manual admin workflows or ad-hoc read APIs to agent-invoked tool calls. Do not frame this as a replacement for existing admin UI; frame it as an additive, narrowly scoped interface.
Compatibility. Pin the exact version ("guavacz/filament-mcp": "1.0.0") rather than a caret range for the first evaluation cycle, given the single-commit history. Verify MCP client compatibility independently — the package's supported spec revision must match what the team's chosen clients implement. Validate against a non-production panel first, and confirm behavior on both a fresh panel and a panel with custom resources, relation managers, and widgets.
Sequencing.
Maintenance. Expect to actively track upstream releases rather than pin and forget. Budget recurring time for version bumps, MCP spec drift, and Filament major upgrades. Given the single-maintainer profile, assess fork-and-vendor risk now: confirm the license permits it and that the codebase is small enough for the team to adopt if upstream stalls. A vendored fork is a credible contingency for a package this thin.
Support. Community-only — GitHub issues, no SLA, no LTS branch, no commercial backing evident. Internal ownership must be assigned explicitly; "the platform team owns it" without a named engineer is how these packages rot. Document the pinned version, the reason for it, and the upgrade trigger.
Scaling. Tool calls are synchronous request/response and will consume PHP workers and DB connections under agent load — LLM clients retry and fan out in ways human users do not. Expect bursty traffic patterns rather than smooth concurrency. Secondary scaling cost is token spend: verbose Filament resource schemas inflate context on every call, so tool-surface breadth has a direct, recurring dollar cost. Start with a deliberately narrow tool set; expand on evidence of need.
Failure modes.
Ramp-up. Two distinct learning curves. The team needs MCP literacy — protocol basics, tool schema design, client configuration, and the prompt-injection threat model — plus a working understanding of how Filament surfaces resources so tool output can be sanity-checked. Realistic estimate: 2–3 days for an engineer to reach productive spike velocity, longer for the security reviewer. Given that the release notes for 1.0.0 consist of a single initial commit line, the package's own documentation cannot yet be assumed to carry this load; plan for the team to learn from source.
How can I help you explore Laravel packages today?