Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| R2_ACCOUNT_ID | Yes | Your Cloudflare account ID | |
| R2_BUCKET_NAME | Yes | Name of your logpush R2 bucket | |
| R2_ACCESS_KEY_ID | Yes | R2 API token access key ID | |
| R2_SECRET_ACCESS_KEY | Yes | R2 API token secret access key |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {
"tasks": {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
}
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_log_dates | List available date folders in the logpush R2 bucket. Args: environment: Filter by environment (production, staging). None for all. limit: Maximum number of dates to return (default 30). Returns: Dict with dates array containing date, environment, and prefix. |
| list_log_files | List log files for a specific date. Args: date: Date in YYYYMMDD format (e.g., "20260111"). environment: Environment (production or staging). limit: Maximum number of files to return (default 50). cursor: Pagination cursor from previous response. Returns: Dict with files array, count, and next_cursor for pagination. |
| read_log_file | Read and parse a specific log file from R2. Args: path: Full object path/key (e.g., "production/20260111/filename.log.gz"). limit: Maximum number of entries to return (default 100). Returns: Dict with entries array and count. |
| search_logs | Search logs with filters. Args: date: Date in YYYYMMDD format. environment: Environment (production or staging). script_name: Filter by worker script name. status_code: Filter by exact HTTP status code. status_gte: Filter by status code >= value (e.g., 400 for errors). status_lt: Filter by status code < value. outcome: Filter by outcome ("ok" or "exception"). search_text: Search in URL and log messages. limit: Maximum entries to return (default 50). Returns: Dict with matching entries and count. |
| get_log_stats | Get aggregated statistics for logs on a specific date. Args: date: Date in YYYYMMDD format. environment: Environment (production or staging). Returns: Dict with statistics including request counts by worker, status distribution, error rate. |
| get_errors | Get error logs and exceptions for a specific date. Args: date: Date in YYYYMMDD format. environment: Environment (production or staging). script_name: Filter by worker script name (optional). limit: Maximum entries to return (default 50). Returns: Dict with error entries including exceptions and error-level logs. |
| get_latest | Get the most recent log entries. Args: environment: Environment (production or staging). script_name: Filter by worker script name (optional). limit: Maximum entries to return (default 50). Returns: Dict with the most recent log entries. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |