Hotjar MCP by usefulapi

Read surveys and survey responses in Hotjar.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~643Tokens (tool definitions)
~1.6 KBTypical response size
Moderate attention impact (0.50% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "hotjar": {
      "url": "https://hotjar.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://hotjar.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢hotjar_list_surveys(site_id, limit, cursor, with_questions)

List the surveys of one Hotjar site: id, name, type (link, full_screen, popover), enabled state and creation time. Set with_questions to include each survey's questions. Returns results and next_cursor (null on the last page).

Input Schema

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "minLength": 1,
      "description": "The Hotjar site id (digits). Find it in Hotjar → Sites & Organizations, under the organization."
    },
    "limit": {
      "description": "Number of items to return (1-100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "The next_cursor value from the previous page, to get the next page.",
      "type": "string"
    },
    "with_questions": {
      "description": "Include the questions of each survey (default false).",
      "type": "boolean"
    }
  },
  "required": [
    "site_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hotjar_get_survey(site_id, survey_id)

Get one survey with its questions (id, text, type, choices, labels). Use the question ids to read the answers from hotjar_list_survey_responses.

Input Schema

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "minLength": 1,
      "description": "The Hotjar site id (digits). Find it in Hotjar → Sites & Organizations, under the organization."
    },
    "survey_id": {
      "type": "string",
      "minLength": 1,
      "description": "The survey id, for example survey_f5937a53-.... Get it from hotjar_list_surveys."
    }
  },
  "required": [
    "site_id",
    "survey_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hotjar_list_survey_responses(site_id, survey_id, limit, cursor)

List the responses to one survey, newest first (the API cannot filter by date). Each response has answers (question_id, answer, comment, tags, sentiment), device, browser, country, origin URL and user attributes. Needs an Ask Scale plan. Returns results and next_cursor (null on the last page).

Input Schema

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "minLength": 1,
      "description": "The Hotjar site id (digits). Find it in Hotjar → Sites & Organizations, under the organization."
    },
    "survey_id": {
      "type": "string",
      "minLength": 1,
      "description": "The survey id, for example survey_f5937a53-.... Get it from hotjar_list_surveys."
    },
    "limit": {
      "description": "Number of items to return (1-100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "The next_cursor value from the previous page, to get the next page.",
      "type": "string"
    }
  },
  "required": [
    "site_id",
    "survey_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools