Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Symfony Profiler Mcp Laravel Package

productowner-ro/symfony-profiler-mcp

MCP server that exposes Symfony Profiler data to AI assistants, letting them query requests, performance metrics, logs, and exceptions from the web debug toolbar via the Model Context Protocol for faster debugging and analysis.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Status: pre-1.0 developer tooling, 4 GitHub stars, last release 2026-03-26. This is not a production dependency and should never be evaluated as one.

  • Architecture fit. The package is a Symfony bundle that exposes Symfony Profiler data (requests, timelines, Doctrine queries, logs, exceptions) over the Model Context Protocol to AI-capable IDEs. Architecturally it is a read-only adapter: Profiler storage → MCP server (via symfony/mcp-bundle) → IDE client. It belongs in require-dev, registered only in config/bundles.php for the dev environment. In that position it has zero production runtime footprint, which is the single most important fact for a TPM: the blast radius is bounded to developer machines. The first thing to flag is the ecosystem mismatch in the prior assessments — this is Symfony, not Laravel. If our codebase is Laravel, this package does not apply; the equivalent capability would be Laravel Telescope/Debugbar plus an MCP bridge, which is a different build-vs-buy decision. Confirm which ecosystem we are actually evaluating for before spending another hour.
  • Integration feasibility. Four checks decide feasibility: (1) Symfony version and whether the profiler is genuinely enabled in the target dev environment; (2) PHP constraint and compatibility with the pinned symfony/mcp-bundle version; (3) MCP transport (stdio vs. HTTP) and whether our IDE clients (Cursor, Claude Code, etc.) speak that protocol version; (4) whether bundle registration is a one-line config/bundles.php edit or requires config publication and service wiring. All are read-the-source questions, not evaluation exercises.
  • Technical risk. Ranked: (a) data exposure — Profiler payloads contain request bodies, headers, auth tokens, DSNs, env vars, and SQL with literals. Piping that into a third-party LLM/IDE context is a data-handling decision that needs a security review, not an engineering judgement. (b) Coupling to Profiler internals — the collector API is a semi-internal, non-BC surface in Symfony and moves across minor releases. (c) MCP protocol churn — an evolving spec on top of a young symfony/mcp-bundle dependency. (d) Bus factor — one maintainer, 4 stars, no support signal.
  • Key questions for the maintainer. What exactly is serialized and is there a redaction/allowlist mechanism for headers, cookies, env, and SQL parameters? What are the supported Symfony and PHP ranges, and is there an LTS policy? Is symfony/mcp-bundle a hard dependency and how tightly is its version pinned? Which MCP transports and client versions are tested? Does anything leave the machine (telemetry, hosted endpoints)? Is the Profiler read-only from this bundle's perspective? Is there a security disclosure process?

Integration Approach

  • Stack fit. Symfony-first, dev-only, IDE-dependent. The precondition is a Symfony app with the profiler active and developers using an MCP-capable client. If either is missing, the package is inert.
  • Migration path. Additive and reversible by design: composer require --dev, register the bundle for dev only, point the IDE at the MCP endpoint. There is no production code path, no schema change, no data migration. Removal is composer remove plus one line in config/bundles.php. That reversibility is why a pilot is cheap — and why it should be scoped as a pilot, not an adoption.
  • Compatibility. Pin to an exact version rather than a caret range (0.x semver permits breaking minors). Pin alongside our Symfony minor and record the resolved symfony/mcp-bundle version. Verify the MCP protocol version against the IDE client before demoing, because a mismatch presents as "it just doesn't work" and wastes a spike.
  • Sequencing. (1) Confirm the ecosystem — Symfony vs. Laravel — and stop here if Laravel. (2) Confirm a real, non-sensitive app and at least two developers with MCP-capable IDEs. (3) Security review of serialized payloads before pointing it at anything with real credentials. (4) One-day spike on a throwaway branch with fixture data. (5) If it clears, a two-sprint opt-in pilot with 2–3 developers and a written success metric (time-to-diagnosis on a real incident, not "developers liked it").

Operational Impact

  • Maintenance. Near-zero in production because it never runs there. The recurring cost is a compatibility check at each Symfony minor/major and each MCP spec revision. Assign to a named DevEx/platform engineer, not a team.
  • Support. Community issue tracker only; MIT license removes legal friction and permits vendoring or patching. Acceptable for internal dev tooling. Unacceptable if it becomes load-bearing for onboarding or incident response without an internal fallback.
  • Scaling. Scales per developer, per machine — profiler storage growth, local resource use, and LLM token spend per query, which is the cost line a TPM should track. Team-wide rollout multiplies both token cost and the security-review surface; roll out to a pilot cohort first.
  • Failure modes. Silent empty results when the profiler has no captured data or the storage path is unwritable; protocol-version mismatch with the IDE; breakage on Symfony minor upgrades via Profiler internals; secret material surfacing in an AI context; single-maintainer abandonment. Mitigations: explicit config validation, a "does it return data" smoke check in the spike, an allowlist/redaction review, and an exit plan that is simply uninstalling.
  • Ramp-up. Hours for a Symfony developer already comfortable with the web profiler. The real onboarding asset is a short internal note covering setup, the data-safety rules (which apps it may point at), and the token-cost norm — that note outlives the package version.

Recommendation. Treat as an optional developer-productivity pilot, gated on the ecosystem question and a data-exposure review. It is not a roadmap dependency, carries no production risk, and its low switching cost is precisely why it can be trialled now and dropped without ceremony.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode