A

analytics-dashboard

demo · Playgrounds & Games · JSON · API for agents

Tools 1 tool

queryread

Query the server logs. Sets all filters and visualization in one atomic call — every parameter is always applied together, so no stale state can carry over from a previous query. FILTERS (all optional — omit or pass null to leave unfiltered): status — HTTP status code: '200' | '201' | '301' | '304' | '401' | '403' | '404' | '500' method — HTTP verb: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS' pathSearch — substring matched against the request URL path, e.g. '/api' dateFrom — start date inclusive, YYYY-MM-DD (resolve "last week", "yesterday", etc. before calling) dateTo — end date inclusive, YYYY-MM-DD AGGREGATION (required): groupBy — dimension to group by: 'date' | 'status' | 'method' | 'path' | 'country' | 'user_agent' measure — metric to compute: 'count' (requests) | 'bytes' (bandwidth) | 'unique_ips' CHART (required): chartType — 'line' (trends over time, best with groupBy=date) | 'bar_vertical' | 'bar_horizontal' | 'table' (raw rows, groupBy/measure ignored)

View tool JSON
{
  "name": "query",
  "kind": "read",
  "impl": "imperative",
  "description": "Query the server logs. Sets all filters and visualization in one atomic call — every parameter is always applied together, so no stale state can carry over from a previous query.\n\nFILTERS (all optional — omit or pass null to leave unfiltered):\n  status     — HTTP status code: '200' | '201' | '301' | '304' | '401' | '403' | '404' | '500'\n  method     — HTTP verb: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS'\n  pathSearch — substring matched against the request URL path, e.g. '/api'\n  dateFrom   — start date inclusive, YYYY-MM-DD (resolve \"last week\", \"yesterday\", etc. before calling)\n  dateTo     — end date inclusive, YYYY-MM-DD\n\nAGGREGATION (required):\n  groupBy — dimension to group by: 'date' | 'status' | 'method' | 'path' | 'country' | 'user_agent'\n  measure — metric to compute:    'count' (requests) | 'bytes' (bandwidth) | 'unique_ips'\n\nCHART (required):\n  chartType — 'line' (trends over time, best with groupBy=date) | 'bar_vertical' | 'bar_horizontal' | 'table' (raw rows, groupBy/measure ignored)",
  "inputSchema": {
    "type": "object",
    "properties": {
      "status": {
        "type": "string",
        "description": "HTTP status filter. Omit for no filter."
      },
      "method": {
        "type": "string",
        "description": "HTTP method filter. Omit for no filter."
      },
      "pathSearch": {
        "type": "string",
        "description": "URL path substring filter. Omit for no filter."
      },
      "dateFrom": {
        "type": "string",
        "description": "Start date YYYY-MM-DD. Omit for no lower bound."
      },
      "dateTo": {
        "type": "string",
        "description": "End date YYYY-MM-DD. Omit for no upper bound."
      },
      "groupBy": {
        "type": "string",
        "enum": [
          "date",
          "status",
          "method",
          "path",
          "country",
          "user_agent"
        ],
        "description": "Dimension to group results by."
      },
      "measure": {
        "type": "string",
        "enum": [
          "count",
          "bytes",
          "unique_ips"
        ],
        "description": "Metric to compute: count (requests), bytes (bandwidth), or unique_ips."
      },
      "chartType": {
        "type": "string",
        "enum": [
          "line",
          "bar_vertical",
          "bar_horizontal",
          "table"
        ],
        "description": "Chart type. Use line for trends over time (best with groupBy=date). Use table for raw rows (groupBy/measure ignored)."
      }
    },
    "required": [
      "groupBy",
      "measure",
      "chartType"
    ]
  }
}