MCP server intelligence profile

Clarity Data Export MCP Server

A Model Context Protocol server that lets you fetch Microsoft Clarity analytics data through Claude for Desktop or other MCP-compatible clients, with support for filtering by dimensions and retrieving various metrics

Local OnlyOfficial distributionmicrosoft
Verified cleanNpm · 2.0.1

Our scanner tested version 2.0.1 without proving a finding in the methods exercised. This is not a guarantee that every deployment is secure.

1Distribution channel
3Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install @microsoft/clarity-mcp-server from npm

Version 2.0.1 declares 1 executable entrypoint.

npm install --save-exact @microsoft/clarity-mcp-server@2.0.1
npx -y -p @microsoft/clarity-mcp-server@2.0.1 clarity-mcp-server
MCP client configuration example
{
  "mcpServers": {
    "@microsoft/clarity-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "@microsoft/clarity-mcp-server@2.0.1",
        "clarity-mcp-server"
      ]
    }
  }
}

Identity

Canonical slugclarity-data-export-mcp-server-1ebd45cdDeploymentLocal Only
Canonical packagenpm:@microsoft/clarity-mcp-serverRepositorymicrosoft/clarity-mcp-server
First publishedLatest release
Last security verificationAug 15, 2026Classification confidence90%
PublicationPublishedOfficial distributionYes

Distributions

ChannelIdentifierCurrent versionVersionsSource
npm@microsoft/clarity-mcp-server2.0.15Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npm@microsoft/clarity-mcp-server2.0.1CurrentSep 5, 20263 toolsSucceeded · 0 resources · 0 promptsVerified clean
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

Provenanceartifact_hash_verifiedSignature
MCP SDK@modelcontextprotocol/sdk Artifact SHA-256c5a2a0970fef1336f84cfce46a8dded3c266bb42bdd6c299c059f4aace61635b
Scannermcp-proof-engine 0.1.0Scan completedAug 15, 2026
Security rating49 / 100Methodologyversion-rating-1.0
Executable entrypoints
[
  "clarity-mcp-server"
]
Rating reasons
[
  "security_contact_or_disclosure"
]
0Proven
129Clean
0Inconclusive
0Flaky
0Errors

Current protocol inventory

2025-06-18Negotiated protocol
@microsoft/clarity-mcp-serverServer-reported name
1Capability groups
Aug 14, 2026Observed

Tools 3

ToolCategoryAnnotationsRisk
list-session-recordingsList Microsoft Clarity session recordings based on specified filters. The filters allow you to narrow down the recordings by various criteria such as URLs, device types, browser, OS, country, city, and more. The date filter is required and must be in UTC ISO 8601 format.
Input schema
{
  "type": "object",
  "properties": {
    "filters": {
      "type": "object",
      "properties": {
        "referringUrl": {
          "type": "string",
          "description": "Filter by the referring URL that brought users to the site"
        },
        "userType": {
          "type": "string",
          "enum": [
            "NewUser",
            "ReturningUser"
          ],
          "description": "Filter by user type. Accepted values: NewUser, ReturningUser"
        },
        "sessionIntent": {
          "type": "string",
          "enum": [
            "Low Intention",
            "Medium Intention",
            "High Intention"
          ],
          "description": "Filter by session intention level/user behavior classification."
        },
        "visitedUrls": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "operator": {
                "type": "string",
                "enum": [
                  "contains",
                  "startsWith",
                  "endsWith",
                  "excludes",
                  "isExactly",
                  "isExactlyNot",
                  "matchesRegex",
                  "excludesRegex"
                ]
              }
            },
            "required": [
              "url",
              "operator"
            ],
            "additionalProperties": false
          },
          "description": "Filter by URLs visited during the session with pattern matching."
        },
        "entryUrls": {
          "type": "array",
          "items": {
            "$ref": "#/properties/filters/properties/visitedUrls/items"
          },
          "description": "Filter by entry/landing page URLs with pattern matching."
        },
        "exitUrls": {
          "type": "array",
          "items": {
            "$ref": "#/properties/filters/properties/visitedUrls/items"
          },
          "description": "Filter by exit page URLs with pattern matching."
        },
        "country": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter by country names (e.g., ['United States', 'Canada', 'United Kingdom'])"
        },
        "city": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter by city names (e.g., ['New York', 'London', 'Tokyo'])"
        },
        "state": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter by state/province names (e.g., ['California', 'Ontario', 'Bavaria'])"
        },
        "deviceType": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "Mobile",
              "Tablet",
              "PC",
              "Email",
              "Other"
            ]
          },
          "description": "Filter by device types."
        },
        "browser": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "Bot",
              "MiuiBrowser",
              "Chrome",
              "CoralWebView",
              "Edge",
              "Other",
              "Firefox",
              "IE",
              "Unknown",
              "Headless",
              "MobileApp",
              "Opera",
              "OperaMini",
              "Safari",
              "Samsung",
              "SamsungInternet",
              "Sogou",
              "UCBrowser",
              "YandexBrowser",
              "QQBrowser"
            ]
          },
          "description": "Filter by browser types."
        },
        "os": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "BlackBerry",
              "Android",
              "ChromeOS",
              "iOS",
              "Linux",
              "MacOS",
              "Other",
              "Windows",
              "WindowsMobile"
            ]
          },
          "description": "Filter by operating systems."
        },
        "source": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter by UTM source parameter values (e.g., ['google', 'facebook', 'direct'])"
        },
        "medium": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter by UTM medium parameter values. Common values: ['organic', 'cpc', 'email', 'social', 'referral']"
        },
        "campaign": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter by UTM campaign parameter values (e.g., ['summer_sale', 'product_launch'])"
        },
        "channel": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "OrganicSearch",
              "Direct",
              "Email",
              "Display",
              "Social",
              "PaidSearch",
              "Other",
              "Affiliate",
              "Referral",
              "Video",
              "Audio",
              "SMS",
              "AITools",
              "PaidAITools"
            ]
          },
          "description": "Filter by marketing channel classifications."
        },
        "smartEvents": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter by smart event names/IDs. Can be user-defined events or Clarity auto events: 'Purchase', 'ContactUs', 'SubmitForm', 'AddToCart', 'RequestQuote', 'SignUp', 'BeginCheckout', 'Download', 'Login', 'Search', 'Play', 'Deposit', 'Schedule', 'Subscribe', 'FindLocation', 'OutboundClick', 'ShowMore', 'Book', 'RetryRefresh', 'Pay', 'Pause', 'Upload', 'CheckAvailability', 'Withdraw', 'Export', 'SeeReviews', 'AddPaymentMethod', 'AddToWishlist', 'NotifyMe', 'CheckIn', 'TransferMoney', 'Upgrade', 'ContinueAsGuest', 'Mute', 'Exchange', 'ApplyCoupon', 'Unsubscribe', 'AddToCalendar', 'Unmute', 'EnterFullScreen', 'DeleteAccount', 'AppInstall', 'Checkout', 'OrderSuccess'"
        },
        "javascriptErrors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter by JavaScript error messages or patterns. Use empty string '' to match any JavaScript error"
        },
        "clickErrors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter by click error patterns or messages. Use empty string '' to match any click error"
        },
        "clickedText": {
          "type": "string",
          "description": "Filter by specific text content that was clicked (partial match supported)"
        },
        "enteredTextPresent": {
          "type": "boolean",
          "description": "Filter sessions where text input events occurred. Set to true to include only sessions with text input"
        },
        "selectedTextPresent": {
          "type": "boolean",
          "description": "Filter sessions where text selection events occurred. Set to true to include only sessions with text selection"
        },
        "resizeEventPresent": {
          "type": "boolean",
          "description": "Filter sessions where page resize events occurred. Set to true to include only sessions with resize events"
        },
        "cursorMovement": {
          "type": "boolean",
          "description": "Filter sessions with cursor/pointer movement activity. Set to true to include only sessions with cursor movement"
        },
        "deadClickPresent": {
          "type": "boolean",
          "description": "Filter sessions containing dead clicks (clicks with no response). Set to true to include only sessions with dead clicks"
        },
        "rageClickPresent": {
          "type": "boolean",
          "description": "Filter sessions containing rage clicks (rapid repeated clicks). Set to true to include only sessions with rage clicks"
        },
        "excessiveScrollPresent": {
          "type": "boolean",
          "description": "Filter sessions with excessive scrolling behavior. Set to true to include only sessions with excessive scrolling"
        },
        "quickbackClickPresent": {
          "type": "boolean",
          "description": "Filter sessions with quick back navigation clicks. Set to true to include only sessions with quick back clicks"
        },
        "visiblePageDuration": {
          "type": "object",
          "properties": {
            "min": {
              "type": [
                "number",
                "null"
              ]
            },
            "max": {
              "type": [
                "number",
                "null"
              ]
            }
          },
          "required": [
            "min",
            "max"
          ],
          "additionalProperties": false,
          "description": "Filter by time spent on visible pages in minutes. Set to null to ignore this filter."
        },
        "hiddenPageDuration": {
          "$ref": "#/properties/filters/properties/visiblePageDuration",
          "description": "Filter by time spent on hidden/background pages in minutes. Set to null to ignore this filter."
        },
        "pageDuration": {
          "$ref": "#/properties/filters/properties/visiblePageDuration",
          "description": "Filter by total page duration in minutes. Set to null to ignore this filter."
        },
        "sessionDuration": {
          "$ref": "#/properties/filters/properties/visiblePageDuration",
          "description": "Filter by total session duration in minutes. Set to null to ignore this filter."
        },
        "scrollDepth": {
          "type": "object",
          "properties": {
            "min": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                {
                  "type": "null"
                }
              ]
            },
            "max": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "min",
            "max"
          ],
          "additionalProperties": false,
          "description": "Filter by maximum scroll depth percentage. Set to null to ignore this filter."
        },
        "pagesCount": {
          "$ref": "#/properties/filters/properties/visiblePageDuration",
          "description": "Filter by number of pages visited in session. Set to null to ignore this filter."
        },
        "pageClickEventCount": {
          "$ref": "#/properties/filters/properties/visiblePageDuration",
          "description": "Filter by number of clicks per page. Set to null to ignore this filter."
        },
        "sessionClickEventCount": {
          "$ref": "#/properties/filters/properties/visiblePageDuration",
          "description": "Filter by total clicks per session. Set to null to ignore this filter."
        },
        "performanceScore": {
          "type": "object",
          "properties": {
            "min": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                {
                  "type": "null"
                }
              ]
            },
            "max": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "min",
            "max"
          ],
          "additionalProperties": false,
          "description": "Filter by overall performance score. Set to null to ignore this filter."
        },
        "largestContentfulPaint": {
          "$ref": "#/properties/filters/properties/visiblePageDuration",
          "description": "Filter by Largest Contentful Paint web vital in seconds. Set to null to ignore this filter."
        },
        "cumulativeLayoutShift": {
          "$ref": "#/properties/filters/properties/visiblePageDuration",
          "description": "Filter by Cumulative Layout Shift web vital in seconds. Set to null to ignore this filter."
        },
        "firstInputDelay": {
          "$ref": "#/properties/filters/properties/visiblePageDuration",
          "description": "Filter by First Input Delay web vital in milliseconds. Set to null to ignore this filter."
        },
        "productRating": {
          "$ref": "#/properties/filters/properties/visiblePageDuration",
          "description": "Filter by product ratings (e.g., 1-5 stars). Set to null to ignore this filter."
        },
        "productRatingsCount": {
          "$ref": "#/properties/filters/properties/visiblePageDuration",
          "description": "Filter by number of product ratings. Set to null to ignore this filter."
        },
        "productPrice": {
          "$ref": "#/properties/filters/properties/visiblePageDuration",
          "description": "Filter by product price range. Set to null to ignore this filter."
        },
        "productName": {
          "type": "string",
          "description": "Filter by product name (partial match supported using contains operator)"
        },
        "productPurchases": {
          "type": "boolean",
          "description": "Filter sessions with checkout conversion/purchases. Set to true to include only sessions with purchases"
        },
        "productAvailability": {
          "type": "boolean",
          "description": "Filter by product availability status. Set to true to include only sessions with available products"
        },
        "productBrand": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter by product brand names (e.g., ['Nike', 'Apple', 'Samsung'])"
        },
        "checkoutAbandonmentStep": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter by checkout abandonment steps/stages (e.g., ['cart', 'shipping', 'payment'])"
        },
        "date": {
          "type": "object",
          "properties": {
            "start": {
              "type": "string",
              "description": "The start date of the time interval in UTC ISO 8601 with milliseconds format (yyyy-MM-ddTHH:mm:ss.fffZ)."
            },
            "end": {
              "type": "string",
              "description": "The end date of the time interval in UTC ISO 8601 with milliseconds format (yyyy-MM-ddTHH:mm:ss.fffZ)."
            }
          },
          "required": [
            "start",
            "end"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "date"
      ],
      "additionalProperties": false,
      "description": "A set of filters that can be applied to the Microsoft Clarity to session recordings. This allows you to filter recordings based on various criteria such as URLs, device types, browser, OS, country, city, and more. The date filter is required and must be in UTC ISO 8601 format."
    },
    "sortBy": {
      "type": "string",
      "enum": [
        "SessionStart_DESC",
        "SessionStart_ASC",
        "SessionDuration_ASC",
        "SessionDuration_DESC",
        "SessionClickCount_ASC",
        "SessionClickCount_DESC",
        "PageCount_ASC",
        "PageCount_DESC"
      ],
      "default": "SessionStart_DESC",
      "description": "Sort option for session recordings. Default is SessionStart_DESC (newest first)."
    },
    "count": {
      "type": "number",
      "maximum": 250,
      "default": 100,
      "description": "The number of sample session recordings to return. Default is 100. Maximum is 250."
    }
  },
  "required": [
    "filters"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "List Session Recordings",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": false
}
Read onlyNon-destructiveClosed world
query-analytics-dashboardFetch Microsoft Clarity analytics data using a simplified natural language search query. The query should be focused on one specific data retrieval or aggregation task. Avoid complex multi-purpose queries. Time ranges should be explicitly specified when possible. If no time range is provided, prompt the user to specify one.
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "A natural language search query string for filtering and shaping analytics data. The query should be specific and include temporal constraints when available. (e.g., 'Top browsers last 3 days', 'The active time duration for mobile devices in United States last week'). Time ranges should be explicitly specified when possible. If no time range is provided, prompt the user to specify one."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Query Analytics Dashboard",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": false
}
Read onlyNon-destructiveClosed world
query-documentation-resourcesRetrieve Microsoft Clarity documentation snippets for finding answers to user questions including step-by-step screenshots for setup guides, features, usage, troubleshooting, and integration instructions. The query should be focused on one specific documentation topic or question. Avoid complex multi-purpose queries.
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "A natural language search query string for filtering and shaping analytics data. The query should be specific and include temporal constraints when available. (e.g., 'Top browsers last 3 days', 'The active time duration for mobile devices in United States last week'). Time ranges should be explicitly specified when possible. If no time range is provided, prompt the user to specify one."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Query Documentation Resources",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": false
}
Read onlyNon-destructiveClosed world

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

Clarity Data Export MCP Server questions

How do I install Clarity Data Export MCP Server?

Install the selected package version with: npm install --save-exact @microsoft/clarity-mcp-server@2.0.1

What tools does Clarity Data Export MCP Server provide?

Clarity Data Export MCP Server exposed 3 tools during independent protocol observation, including list-session-recordings, query-analytics-dashboard, query-documentation-resources.

Is Clarity Data Export MCP Server secure?

Our scanner tested version 2.0.1 without proving a finding in the methods exercised. This is not a guarantee that every deployment is secure.

Company and product intelligence

These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.

Associated company landscape

Microsoft & Azure intelligence →

Association is based on retained identity fields; it does not by itself prove first-party publication.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP ServersMCP Servers With Completed Verification

Related MCP servers from this publisher

Related records share independently retained publisher or namespace evidence. They are not automatically endorsed alternatives.

Let’s talk about MCP security.

Share your details and our security team will contact you.