Configure the targets
Both targets are set per workspace in Settings. Enter one or both:SIEM HTTP endpoint
An HTTP intake for a SIEM such as Splunk, Datadog, or Microsoft Sentinel. Passport POSTs a JSON body of the shape
{ "source": "mcp-passport", "events": [ ... ] }.OTLP endpoint
An OpenTelemetry collector base URL. Passport POSTs OTLP/JSON logs to
<endpoint>/v1/logs, one log record per event, with a resource attribute service.name = mcp-passport.Delivery behavior
Export is durable and batched, tuned so a slow or down endpoint never affects the gateway hot path.- Each event is appended to the workspace’s durable event log (
siemExportrows) before delivery is attempted. - A cross-replica lock claims the oldest batch; Passport flushes on a 5 second tick, up to 200 events per batch.
- Rows are removed only after every configured target accepts the batch, so a transient outage retries rather than losing events (at-least-once across restarts and rolling deploys).
- When both targets are configured, a batch counts as delivered only once every configured target accepts it.
- If an endpoint stays down, Passport backs off up to about 5 minutes between attempts.
- There is no drop-oldest memory cap: undelivered events remain in durable storage until they succeed, the targets are cleared, or an operator intervenes.
Delivery health is surfaced, not hidden. The exporter tracks consecutive failures and the last error; queue depth is read from durable storage by operational tooling rather than approximated in process memory.