Dashboard API Reference#
The MCP server hosts the dashboard and its same-origin API on port 3100. The browser never receives Router/OpenClaw credentials or monitor sourceUrl values.
Method |
Path |
Purpose |
|---|---|---|
|
|
Return sanitized Router, chat, and media capability states. |
|
|
List runtime monitors without source URLs. |
|
|
Return task activity with optional event and alert details. |
|
|
Return reports overlapping the selected date. |
|
|
Generate a configured report for a monitor. |
|
|
Return task/report token totals and activity counts. |
|
|
Return |
|
|
Reset configured Router statistics. |
|
|
Stream server-generated H.264 fragmented MP4 from an RTSP monitor. |
|
|
Return |
|
|
Return an owned MP4 clip with HTTP Range support. |
WebSocket |
|
Proxy the OpenClaw control protocol when configured. |
IDs are limited to letters, numbers, underscores, and hyphens. Dates use YYYY-MM-DD; task limits are bounded. Invalid input returns 400, missing monitor-owned media returns 404, unsupported non-RTSP live sources return 422, and capacity limits return 429 or 503.
Media security and resources#
The server resolves media paths canonically beneath segments/<monitor_id> and rejects directory traversal, symbolic-link escapes, missing files, and cross-monitor task access. RTSP URLs are read only from the database. The ffmpeg process uses an argument array without a shell.
One ffmpeg session is shared per monitor. Client count, session count, initialization data, stderr, browser append queues, and buffered playback duration are bounded. The final disconnect starts an idle shutdown; server shutdown terminates all sessions. Slow clients are disconnected instead of accumulating an unbounded queue.
Optional integrations#
Set SMART_COMMUNITY_ROUTER_URL for Router statistics. Set both SMART_COMMUNITY_OPENCLAW_GATEWAY_URL and SMART_COMMUNITY_OPENCLAW_GATEWAY_TOKEN for chat. These values are server-side environment variables and do not belong in config.yaml.
The API has no end-user authentication. Bind it to loopback or a trusted network, or place it behind an authenticated reverse proxy for shared deployments.