Skip to content

ContextView

ContextView is the observability and admin hub for ContextUnity — a Django-based dashboard providing trace inspection, agent management, memory browsing, and system analytics.

Trace Observability

Search and browse agent traces, step details, and Langfuse cross-referencing.

Agent Management

CRUD for agent configurations, permissions, tool policies, and hierarchy.

Memory Browser

Inspect episodic and entity memory across tenants and sessions.

MCP Server

7 FastMCP tools for AI-driven admin queries and management.

Architecture

view

Dashboard Views

ViewURLDescription
Dashboard/System overview with KPI charts
Traces/traces/Agent execution trace list
Trace Detail/traces/<id>/Step-by-step trace inspection
Agents/agents/Agent configuration list
Agent Detail/agents/<id>/Agent config and permissions
Memory/memory/Episodic and entity memory browser
Events/events/System event log

gRPC AdminService (20 RPCs)

All RPCs are protected by ViewPermissionInterceptor with two-layer enforcement:

  1. Interceptor — verifies admin:read or admin:write permission
  2. Handler — calls authorize() for defense-in-depth
CategoryRPCsPermission
AgentsListAgents, GetAgentConfig, GetAgentActivityadmin:read
AgentsUpdateAgentPermissions, UpdateAgentToolsadmin:write
TracesGetTraceDetails, SearchTraces, GetTraceChainOfThought, GetTraceLangfuseadmin:read
MemoryGetMemoryStats, GetMemoryLayerStats, BrowseMemoryadmin:read
HealthGetServiceHealth, GetServiceMetrics, CheckServiceConnectivityadmin:read
AnalyticsGetSystemAnalytics, GetErrorAnalyticsadmin:read
HealingDetectSystemErrors, TriggerSelfHealingadmin:write
HealingGetHealingStatusadmin:read

MCP Server (7 Tools)

FastMCP tools for AI-driven admin queries:

ToolDescription
get_recent_tracesRecent agent execution traces
get_trace_statsTrace statistics per tenant
get_episode_statsEpisode/memory statistics
get_recent_episodesRecent memory episodes
list_agentsList all agent configurations
get_agent_detailGet agent config by ID
brain_searchSemantic search in Brain
Terminal window
# stdio mode (Cursor/Claude Desktop)
uv run python -m contextunity.view.mcp.server
# SSE mode (web clients)
uv run python -m contextunity.view.mcp.server --sse --port 8101

Data Flow

┌──────────┐ gRPC ┌──────────────┐ gRPC ┌────────────┐
│ MCP Tool │ ──────────────▶│ AdminService │ ─────────────▶│ Brain │
│ (FastMCP)│ │ (Django DB │ │ (Postgres) │
│ │◀──────────────│ + Brain) │◀─────────────│ │
└──────────┘ ContextUnit └──────────────┘ ContextUnit └────────────┘
┌──────────┐ HTTP ┌──────────────┐
│ Browser │ ──────────────▶│ Dashboard │ (same data sources)
│ │◀──────────────│ (Django) │
└──────────┘ └──────────────┘
  • Agent configs → Django DB (local to View)
  • Traces, episodes, facts → Brain via BrainDataClient
  • Health checks → direct gRPC to each service
  • Langfuse URLs → constructed from LANGFUSE_HOST + LANGFUSE_PROJECT_ID

Additional Capabilities

  • Healing & Analytics — error pattern detection and automated service recovery
  • Langfuse Integration — cross-references traces between ContextView and Langfuse for deep LLM debugging
  • Agent Hierarchy — visual permission tree showing agent relationships and capability inheritance