{"server":"dev.phpray/phpray","count":10,"tools":[{"name":"phpray_alerts","title":null,"description":"Alerts currently firing across every site this token can see, worst overrun first.","input_schema":{"type":"object","properties":{}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T21:45:12.580Z"},{"name":"phpray_compare","title":null,"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.","input_schema":{"type":"object","required":["site_id"],"properties":{"to_a":{"type":"integer","description":"End of range A, unix seconds."},"to_b":{"type":"integer","description":"End of range B, unix seconds."},"from_a":{"type":"integer","description":"Start of range A (the earlier one), unix seconds. Without any range: the day before yesterday's 24 h against the last 24 h."},"from_b":{"type":"integer","description":"Start of range B, unix seconds."},"site_id":{"type":"string","description":"Site id from phpray_sites."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T21:45:12.580Z"},{"name":"phpray_components","title":null,"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 is off.","input_schema":{"type":"object","required":["site_id"],"properties":{"limit":{"type":"integer","description":"How many components to return. Default 20."},"site_id":{"type":"string","description":"Site id from phpray_sites."},"window_minutes":{"type":"integer","description":"How far back to look. Default 1440."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T21:45:12.580Z"},{"name":"phpray_errors","title":null,"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 phpray_trace to see what one of them did.","input_schema":{"type":"object","required":["site_id"],"properties":{"limit":{"type":"integer","description":"How many to return. Default 20."},"site_id":{"type":"string","description":"Site id from phpray_sites."},"window_minutes":{"type":"integer","description":"How far back to look. Default 1440."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T21:45:12.580Z"},{"name":"phpray_overview","title":null,"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 else.","input_schema":{"type":"object","required":["site_id"],"properties":{"site_id":{"type":"string","description":"Site id from phpray_sites."},"window_minutes":{"type":"integer","description":"How far back to look, in minutes. Default 60."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T21:45:12.580Z"},{"name":"phpray_sites","title":null,"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.","input_schema":{"type":"object","properties":{}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T21:45:12.580Z"},{"name":"phpray_slow_pages","title":null,"description":"The slowest URLs on a site, with request counts and p95, from the request timeseries. Answers \"which page is slow\".","input_schema":{"type":"object","required":["site_id"],"properties":{"limit":{"type":"integer","description":"How many URLs to return. Default 25."},"site_id":{"type":"string","description":"Site id from phpray_sites."},"window_minutes":{"type":"integer","description":"How far back to look. Default 1440."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T21:45:12.580Z"},{"name":"phpray_slow_queries","title":null,"description":"SQL fingerprints ordered by time spent, with call counts and the caller when known. Literals are already masked. Answers \"which query is slow\".","input_schema":{"type":"object","required":["site_id"],"properties":{"limit":{"type":"integer","description":"How many queries to return. Default 20."},"site_id":{"type":"string","description":"Site id from phpray_sites."},"window_minutes":{"type":"integer","description":"How far back to look. Default 1440."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T21:45:12.580Z"},{"name":"phpray_trace","title":null,"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 request was profiled.","input_schema":{"type":"object","required":["trace_id"],"properties":{"trace_id":{"type":"string","description":"Trace id from phpray_traces."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T21:45:12.580Z"},{"name":"phpray_traces","title":null,"description":"Recent requests for a site. Filter with min_ms and status to find the bad ones, then pass an id to phpray_trace.","input_schema":{"type":"object","required":["site_id"],"properties":{"limit":{"type":"integer","description":"How many to return. Default 50."},"min_ms":{"type":"integer","description":"Only requests slower than this."},"status":{"type":"integer","description":"Only this HTTP status, e.g. 500."},"site_id":{"type":"string","description":"Site id from phpray_sites."},"window_minutes":{"type":"integer","description":"How far back to look. Default 1440."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T21:45:12.580Z"}],"next_cursor":null,"next_actions":[{"action":"get_connection","description":"Connection block to call these tools","href":"/v1/servers/dev.phpray%2Fphpray/connection?target=mcpServers","arguments":{"name":"dev.phpray/phpray","target":"mcpServers"}},{"action":"get_server","description":"Full descriptor with trust and connectability","href":"/v1/servers/dev.phpray%2Fphpray","arguments":{"name":"dev.phpray/phpray"}}]}