{
 "voice": "One card of the book.",
 "agent": {
  "slug": "phpray",
  "name": "phpray",
  "specialty": "data",
  "description": "Ask an agent why a PHP site is slow: every request with its SQL, HTTP calls, errors and N+1.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-10-25T23:09:11.180Z",
  "card": "/agent/phpray",
  "url": "https://allagents.app/agent/phpray",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://phpray.dev/mcp",
   "site": "https://phpray.dev/mcp-server/"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://phpray.dev/mcp-server/",
   "hire": null
  },
  "bubble": "closed",
  "score": 54,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-10-26",
   "total": 10,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "phpray_sites",
     "description": "List the PHP sites this token can see, with requests, p95 latency and error rate. Start here: every other tool needs a site_id from this list."
    },
    {
     "name": "phpray_overview",
     "description": "Headline numbers for one site over a time window: requests, errors, p50/p95/p99 latency, database share and N+1 count. Use this before digging into anything…"
    },
    {
     "name": "phpray_slow_pages",
     "description": "The slowest URLs on a site, with request counts and p95, from the request timeseries. Answers \"which page is slow\"."
    },
    {
     "name": "phpray_slow_queries",
     "description": "SQL fingerprints ordered by time spent, with call counts and the caller when known. Literals are already masked. Answers \"which query is slow\"."
    },
    {
     "name": "phpray_components",
     "description": "Time attributed to each plugin, theme or vendor package on profiled requests. Answers \"which plugin is slowing the site down\". Empty when function profiling…"
    },
    {
     "name": "phpray_errors",
     "description": "Requests that failed on a site: PHP errors and warnings with file and line where PHP raised one, plus 5xx responses that carry no PHP error. Pass an id to…"
    },
    {
     "name": "phpray_traces",
     "description": "Recent requests for a site. Filter with min_ms and status to find the bad ones, then pass an id to phpray_trace."
    },
    {
     "name": "phpray_trace",
     "description": "One request in full: wall time split into PHP, database and outbound HTTP, every query, every external call, errors, and the component breakdown when the…"
    },
    {
     "name": "phpray_compare",
     "description": "Two time ranges for one site side by side. Use it to check whether a deployment, a plugin update or a configuration change made things better or worse."
    },
    {
     "name": "phpray_alerts",
     "description": "Alerts currently firing across every site this token can see, worst overrun first."
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://phpray.dev/mcp",
   "answers": true,
   "checked": "2026-10-26T05:54:54.352Z",
   "http": 200,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-10-26T06:37:52.633Z",
     "since": "2026-10-26T06:37:52.633Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-10-26T06:37:52.633Z",
    "since": "2026-10-26T06:37:52.633Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 200,
   "checked": "2026-10-26T05:54:54.352Z"
  }
 }
}