docs/web-ui/activity-log.md
The Activity Log page provides real-time monitoring and analysis of all activity across your MCP servers through a web-based interface.
Access the Activity Log by navigating to /ui/activity in the MCPProxy web interface or by clicking "Activity Log" in the sidebar navigation.
The main view displays activities in a sortable table with the following columns:
| Column | Sortable | Description |
|---|---|---|
| Time | Yes | Timestamp with relative time display (e.g., "5m ago"). Default sort: newest first |
| Type | Yes | Activity type with icon indicator |
| Server | Yes | Link to the server that generated the activity |
| Details | No | Tool name or action description |
| Intent | No | Operation type badge (read/write/destructive) with tooltip showing full intent details |
| Status | Yes | Color-coded badge (green=success, red=error, orange=blocked) |
| Duration | Yes | Execution time in ms or seconds |
Sorting: Click any sortable column header to sort. Click again to toggle between ascending/descending. The current sort column and direction are indicated with an arrow.
| Type | Icon | Description |
|---|---|---|
| Tool Call | 🔧 | MCP tool invocations to upstream servers |
| System Start | 🚀 | MCPProxy server startup events |
| System Stop | 🛑 | MCPProxy server shutdown events |
| Internal Tool Call | ⚙️ | Internal proxy tool calls (retrieve_tools, call_tool_*, code_execution, upstream_servers, etc.) |
| Config Change | ⚡ | Configuration changes (server added/removed/updated) |
| Policy Decision | 🛡️ | Security policy evaluations |
| Quarantine Change | ⚠️ | Server quarantine status changes |
| Server Change | 🔄 | Server enable/disable/restart events |
Activities appear automatically via Server-Sent Events (SSE):
Filter activities by:
Type filters combine with OR logic (show any selected type). Other filters combine with AND logic. Active filters are displayed as badges below the filter controls.
Click any row to open the detail drawer showing:
Navigate through large datasets with:
Export filtered activities to JSON or CSV format:
The Dashboard includes an Activity Summary widget showing:
Control real-time updates:
The Activity Log uses these REST API endpoints:
| Endpoint | Description |
|---|---|
GET /api/v1/activity | List activities with filtering |
GET /api/v1/activity/{id} | Get activity details |
GET /api/v1/activity/summary | Get 24h statistics |
GET /api/v1/activity/export | Export activities (JSON/CSV) |
Query parameters for filtering:
type: Filter by activity type (comma-separated for multiple, e.g., ?type=tool_call,config_change)server: Filter by server namestatus: Filter by statusintent_type: Filter by intent operation type (read, write, destructive)limit: Maximum records to returnoffset: Pagination offsetReal-time updates are received via these SSE event types:
activity.tool_call.started: Tool call initiatedactivity.tool_call.completed: Tool call finishedactivity.policy_decision: Policy evaluation resultactivity: Generic activity eventFor activities with intent declarations (Spec 018), the detail panel displays:
See CLI Activity Commands for command-line access to activity data.