Repository navigation
Release 1.11.2 — per-caller GA4 client IDs and MCP client info tracking
Per-caller GA4 client IDs and MCP client info tracking
Fixes and extends the GA4 usage analytics added in earlier releases:
client_idis now derived from a hash of the caller's IP. In stateless HTTP mode there is no session ID, so every caller was previously reported to GA4 under one shared, process-wide id — this made per-user/session analysis in GA4 meaningless.- The MCP
initializehandshake'sclientInfo(which client is connecting — Claude Code, Claude.ai, Codex, etc.) is now captured and sent once per handshake as GA4user_properties, so it's a real, segmentable dimension GA can report on, persisting onto that caller's later tool-call events. - Caller IP is now sent via GA4's
ip_overridefield instead of a custom event param, so GA4 can derive real caller geography for this server-to-server integration (previously every event geo-located to this server's own egress IP).
No tool, schema, or request/response behaviour changes — this only affects the optional GA4 analytics integration (GA_MEASUREMENT_ID/GA_API_SECRET).
Full changelog: v1.11.1...v1.11.2