Ask an agent why a PHP site is slow: every request with its SQL, HTTP calls, errors and N+1.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Every PHP request, recorded. Find out which plugin, which query, and since when.
PHPRay is always-on request tracing for PHP. It records wall time, CPU, memory, SQL, outbound HTTP, errors and N+1 patterns for every request, not a sample, and on a small share of requests it adds a per-plugin / per-component time breakdown. One site or a hundred client sites: the same install, and one list for all of them.
It is a PHP extension plus a local collector. No agent that needs root, no network egress from the PHP process, no SaaS account required. It runs on shared hosting (CageFS, LiteSpeed lsphp, mod_php), on a VPS and in containers, on PHP 8.0β8.5, glibc and musl, amd64 and arm64.
After a few minutes of traffic, phpray report --domain example.com --share
prints a link you can send to a client: the site name is removed, the link
expires, and the recipient needs nothing installed to read it.
Rather look before installing anything? Three ways in, none of them needing root, an account or a card:
claude mcp add --transport http phpray https://phpray.dev/mcp
answers from the same demo data with no key (details).

PHPRay Cloud: every site, then one site, then one 887 ms request broken into PHP and database time, the plugins that spent it, and the queries behind it. Demo data.
"The store got slow last week" is not actionable. PHPRay turns it into a named plugin, a named query and the day it changed:

Most of what is written above is about one server. The harder job is the other one: forty sites you did not build, on hosting you did not choose, and a client asking why checkout is slow today.
php.ini, or the
WordPress plugin runs with neither
an extension nor a daemon. Never enable the extension for a whole PHP version on a
shared server β install it per account.phpray report -domain shop.example -share
publishes the findings and prints a link. The site name is stripped, the address
expires and is not indexed. No account, no card.The local core stays Apache-2.0 and has no limits: as many sites, servers and requests as you like, data on your own disk. What costs money is the hosted console that puts those sites in one list β priced by how many sites you keep in it, starting with one site free. Prices are on phpray.dev/en/pricing.
phpray.profile_functions=0 if you want the cheapest possible
always-on layer and turn the breakdown on only when investigating.php.ini β cPanel
MultiPHP INI Editor, CloudLinux PHP Selector, Plesk β you can point extension= at a
.so in your home directory and run the collector as your own user. No root, no
compiler, nobody's permission. Verified end to end as uid 1000; the cases where it
does not work are listed in
the docs.Built by IQhost, a European hosting provider running PHP for thousands of sites. That is where PHPRay is developed and where it is deployed first: the shared-hosting constraints in this README are not hypothetical, they are the environment the extension has to survive in every day.
PHPRay ships an MCP server, so a coding agent can read your traces and answer "which plugin is slowing this page down" without you opening a dashboard.
Try it with nothing installed and no account β you get a read-only demo account with a real WooCommerce store's recorded traffic:
Then ask: which pages are slowest, which SQL fingerprint costs the most, which
plugin eats the time. Add --header "Authorization: Bearer <console token>"
and the same tools read your own sites instead.
Or run it locally as a binary over stdio:
In cloud mode the token is your console token, so the agent sees exactly the sites it is scoped to. In local mode it reads the collector on the same box and needs no account at all.
Ten read-only tools β sites, overview, slowest pages, slow SQL, component
breakdown, errors, traces, one trace in full, before/after comparison, alerts β
plus an eleventh, phpray_profile_url, which turns per-function profiling on
for a URL prefix. That one changes state, so the public demo endpoint does
not offer it: without a token tools/list returns ten. With your own console
token, or locally over stdio, you get all eleven. Source and protocol notes:
src/mcp/.
Everything in this repository is free and open source under Apache-2.0: the extension, the collector, the CLI, the local dashboard and the panel plugins. It is a complete product on its own, on one server, forever.
PHPRay Cloud is the paid part: many servers in one place, history beyond your disk, alerting and the hosting-panel console. It is a separate, closed codebase. Nothing here phones home to it unless you configure a server key yourself.
Piping an installer straight into a root shell is a habit worth not having, ours
included: download it, read it, then run it. The checksums of everything it
fetches are published next to the files, under
https://phpray.dev/dl/<version>/SHA256SUMS, and the installer verifies them.
The installer detects every PHP version on the host, installs the prebuilt phpray.so for each of them, deploys the collector with its systemd unit, and reloads the PHP pools. It is a single binary with zero external dependencies.
If you prefer to place the pieces yourself:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/phpray)<a href="https://allmcps.com/mcp/phpray"><img src="https://allmcps.com/api/badge/phpray?style=directory" alt="Phpray on AllMCPs" /></a>