list_systems
Retrieve paginated lists of monitored systems in Beszel with filtering and sorting options to manage infrastructure visibility.
Instructions
List all monitored systems in Beszel.
Args: page: Page number (default: 1) per_page: Number of results per page (default: 50) filter: PocketBase filter string (e.g., "name ~ 'server'" or "status = 'active'") sort: Sort order (e.g., "-created" for descending by created date)
Returns: Dictionary containing paginated list of systems with their status and metadata
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| per_page | No | ||
| filter | No | ||
| sort | No |
Implementation Reference
- src/beszel_mcp/server.py:39-66 (handler)The @mcp.tool() decorator registers the list_systems tool, and the async function implements the logic to list monitored systems from Beszel using the PocketBase client with pagination, optional filtering, and sorting.@mcp.tool() async def list_systems( page: int = 1, per_page: int = 50, filter: Optional[str] = None, sort: Optional[str] = None, ) -> dict: """List all monitored systems in Beszel. Args: page: Page number (default: 1) per_page: Number of results per page (default: 50) filter: PocketBase filter string (e.g., "name ~ 'server'" or "status = 'active'") sort: Sort order (e.g., "-created" for descending by created date) Returns: Dictionary containing paginated list of systems with their status and metadata """ client = get_client() await ensure_authenticated(client) return await client.get_list( collection="systems", page=page, per_page=per_page, filter=filter, sort=sort, )