Skip to main content
Ultra’s audit interceptor records security-relevant events for every MCP operation. The audit log provides a compliance-ready trail of who did what, when, and whether it was allowed.

Audit Event Structure

FieldTypeDescription
idstringUnique event identifier
trace_idstringLinked trace ID (if applicable)
event_typestringEvent classification (see below)
severitystringinfo, warning, error, critical
upstreamstringUpstream server involved
actionstringThe tool/resource/prompt name or action
principalstringMCP Client/Agent identity
outcomestringallow, deny, alert, monitor, redact, error, success, failure, canceled
reasonstringWhy (for deny/error outcomes)
detailsmapFlexible key-value context
timestampdatetimeWhen the event occurred

Multi-Tenant Fields

FieldDescription
workspace_idWorkspace context
gateway_idGateway that recorded the event
organization_idOrganization context
user_idUser who performed the action
user_emailUser’s email address
user_nameUser’s display name
user_roleOrganization role of the user (e.g. owner, admin, member)
user_memberWhether the user is a current member of the organization. true for active members, false for observed non-members, omitted when membership has not been resolved (for example, in standalone gateways)
user_assuranceStrength of the identity attribution for this event — see Identity attribution

Identity attribution

Each audit event carries an attribution tier indicating how confidently Ultra associated the activity with a specific user. The Hub dashboard renders this as a small coloured dot next to the user’s name in the audit drawer and trace drawer. See the Identities page for the full attribution model and how each identity rolls up across the dashboard.
user_assuranceMeaningDashboard indicator
authenticatedThe event was performed by a logged-in user with an active sessionGreen dot
gatewayThe event was attributed via the gateway’s registered owner rather than a session — typical for unauthenticated stdio traffic on a personal gatewayAmber dot
noneNo identity could be attributedGrey dot
When user_member is false, the dashboard also displays a Non-member badge next to the user’s name. This indicates the user was observed in activity but is no longer a member of the organization — useful for spotting access by offboarded employees or external identities that were never granted membership.

Event Types

Event TypeWhen It’s Recorded
tool_callAn MCP tool was called
resource_readAn MCP resource was read
prompt_getAn MCP prompt was retrieved
policy_denyA policy denied a request
policy_allowA policy explicitly allowed a request
auth_failureAuthentication failed
auth_successAuthentication succeeded
config_changeConfiguration was modified
server_startUltra server started
server_stopUltra server stopped
upstream_connectConnected to an upstream server
upstream_disconnectDisconnected from an upstream server
guardrailA guardrail evaluated a request
token_refreshAn authentication token was refreshed
errorAn error occurred

Severity Levels

LevelDescriptionExamples
infoNormal operationsTool calls, resource reads
warningPotential issuesAuth token expiring, slow responses
errorFailuresUpstream connection errors, tool failures
criticalSecurity eventsAuth failures, policy denials

Outcomes

OutcomeDescription
allowOperation was permitted
denyOperation was blocked
alertGuardrail matched and generated a warning, but allowed the request
monitorGuardrail matched silently for visibility only
redactGuardrail matched and masked sensitive content before forwarding
errorOperation failed with an error
successOperation completed successfully
failureOperation did not complete
canceledOperation was canceled

Audit Completeness

The audit layer is designed to block a successful operation if it can’t be recorded. There is no way for an operation to succeed without being captured in the audit log. This is a deliberate security design choice. For compliance-sensitive deployments, it guarantees that every successful operation has a corresponding audit record.

Querying Audit Events

Dashboard

The web dashboard provides an audit log viewer with filtering:
ultra dashboard

Query Options

Audit events can be filtered by:
  • Event type, severity, outcome
  • Upstream server
  • MCP Client/Agent (principal)
  • User ID, organization ID
  • Time range
  • Workspace and gateway (for Hub deployments)