Yavio

Platform Detection

How Yavio identifies which AI platform is calling your MCP server

Yavio automatically detects which AI platform is connecting to your MCP server. This powers per-platform analytics, allowing you to compare tool usage and conversion rates across ChatGPT, Claude, Cursor, and other MCP clients.

How it works

Platform detection runs a layered heuristic against signals from the MCP transport connection. The first match wins:

PrioritySignalDescription
1clientNameClient name from the MCP initialize handshake
2userAgentHTTP User-Agent header (for HTTP/SSE transports)
3originHTTP Origin header
4Falls back to "unknown"

All matching is case-insensitive substring matching.

Supported platforms

PlatformDetected from clientNameDetected from userAgentDetected from origin
chatgptchatgpt, openaichatgpt, openaiopenai.com, chatgpt.com
claudeclaude, anthropicclaude, anthropicclaude.ai, anthropic.com
cursorcursorcursor
vscodevscodevscode
windsurfwindsurf, codeiumwindsurf, codeium
unknown

When detection runs

  • On connection: platform is detected when a client connects and stored for the session
  • On tool call: if not yet detected (e.g., clientName wasn't available at connect time), the SDK retries detection lazily using the latest available signals

The detected platform is attached to every event as the platform field.

Using platform data

Platform detection is fully automatic. The platform field appears on all events and can be used in the dashboard for:

  • Filtering — view events from a specific platform
  • Segmentation — compare metrics across platforms
  • Funnel analysis — see where users drop off on each platform

Custom platforms

If your MCP client isn't in the supported list, it will appear as "unknown". The raw clientName and userAgent are available in the event metadata for custom segmentation.

On this page