particle-academy/fancy-flow-mcp
A Laravel package that provides a Model Context Protocol server for Fancy Flow, exposing flows, tools, and resources to AI clients so compatible assistants can inspect and interact with your Fancy Flow workspace.
Architecture fit. This package is a thin, opinionated layer over laravel/mcp: it defines Server, Tool, and Resource classes and delegates protocol behavior upstream. That is a good architectural fit for Laravel applications that need to expose MCP endpoints without owning protocol implementation details. Coupling to laravel/mcp is explicit and version-bounded, and v0.5.0 widens that bound to ^0.9|^1.0, which reduces dependency-resolution friction in host applications.
Integration feasibility. Integration is low-friction for existing users: the constraint change is a widen, so current 0.9 installs continue to resolve without action. Moving a host to laravel/mcp 1.x requires an application-side require laravel/mcp:^1.0 and composer update laravel/mcp -W; this package needed no code changes because the classes it defines are unaffected by 1.0. The real integration work sits on the host side: Mcp::web(...) routes now require MCP-Protocol-Version / Mcp-Method / Mcp-Name headers from 2026-07-28 clients (legacy initialize clients exempt), and Request::sessionId() is removed.
Technical risk. Overall risk is moderate-low but non-trivial because the package tracks a fast-moving protocol surface. Key risks:
laravel/mcp 1.0 shifts HTTP transport requirements onto host applications; teams that test MCP endpoints over HTTP may see failures unrelated to this package.Request::sessionId() removal can break host code or test helpers at runtime.0.1.0 in serverInfo while the package shipped as 0.4.0. This is now pinned by VersionIsSingleSourcedTest, but prior releases could have misled agents during handshake/capability negotiation.laravel/mcp 0.9 and 1.x, which is appropriate but increases maintenance surface.Key questions.
initialize flows?laravel/mcp 0.9 support still required, or can the host converge on 1.x?laravel/mcp and protocol-version compatibility testing?laravel/mcp range?Stack fit. The package fits naturally into Laravel/PHP applications using Composer and Laravel’s service container/routing. It is appropriate for teams already on laravel/mcp or standardizing on MCP as an agent-integration surface. The package does not introduce a separate runtime or non-Laravel dependency chain.
Migration path. No action is required to remain on laravel/mcp 0.9. To adopt 1.x:
laravel/mcp:^1.0 in the host application.composer update laravel/mcp -W.laravel/mcp’s UPGRADE.md.MCP-Protocol-Version, Mcp-Method, and Mcp-Name headers where applicable.Request::sessionId().Compatibility. Both laravel/mcp 0.9.* and 1.* are now covered by CI, with 48 tests passing on 1.0.2 and 0.9.6 according to the release notes. Protocol compatibility still depends on the client: 2026-07-28 clients must send the new headers, while legacy initialize clients are exempt. The release notes do not state PHP/Laravel version bounds, so those should be confirmed before rollout.
Sequencing. Recommended order:
laravel/mcp 0.9 — low risk, validates packaging and version reporting.Request::sessionId() usage.laravel/mcp 1.x in a non-production environment.Maintenance. Ongoing maintenance is modest because protocol implementation is delegated to laravel/mcp. The dual-line CI matrix adds some maintenance cost but is justified: a plain composer update resolves only the newest line, so without the matrix the 0.9 half of the supported range would go untested. The new VersionIsSingleSourcedTest is a positive operational control — it pins the #[Version] attribute to the newest changelog entry and separately asserts the attribute uses that constant, reducing the chance of another stale serverInfo release.
Support. Support burden will concentrate on host-side 1.0 migration rather than this package itself. Documentation and support runbooks should explicitly cover:
initialize client exemption,Request::sessionId(),laravel/mcp 1.x.The workflow rename from release-gate.yml / “Release gate” to publish.yml / “Publish” is operationally minor; only automation that queries the old workflow name via gh run list --workflow=release-gate.yml needs updating. Packagist release behavior is unchanged.
Scaling. This package is unlikely to be the scaling bottleneck. Throughput and latency will be dominated by host application code, tool/resource execution, and the MCP transport layer. The widen does not add runtime dependencies or change execution semantics, so no new scaling concerns are introduced.
Failure modes.
serverInfo / version metadata — fixed in v0.5.0 and now regression-tested.MCP-Protocol-Version, Mcp-Method, or Mcp-Name headers are missing.Request::sessionId() after upgrading to laravel/mcp 1.x.laravel/mcp to 0.9 only.release-gate.yml instead of publish.yml.Ramp-up. Ramp-up is low for Laravel teams already familiar with Composer and Laravel package integration. It is moderate for teams unfamiliar with MCP protocol versioning, HTTP transport headers, and client compatibility. The most important onboarding material is not this package’s API surface — it is the host-side laravel/mcp 1.0 upgrade guidance.
How can I help you explore Laravel packages today?