PageLens Analytics

Cookieless web analytics and AI Visibility: traffic, funnels, errors, and which AI bots read you.

사용해야 할까요

품질 및 안전성

A
설명 품질
92%
스키마 완전성
95%
이름 품질
100%
오염 위험
100%
권한 일치
90%
프로토콜 준수
100%

발견 사항 (7)

  • LOWTool 'get_pages' description lacks action verbget_pages에서
  • LOWTool 'list_sessions' description lacks action verblist_sessions에서
  • LOWTool 'get_session' description lacks action verbget_session에서
  • LOWTool 'get_web_vitals' description lacks action verbget_web_vitals에서
  • LOWTool 'get_journeys' description lacks action verbget_journeys에서
  • LOWTool 'get_retention' description lacks action verbget_retention에서
  • LOWTool 'get_web_vitals' suggests web access but openWorldHint=falseget_web_vitals에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~6,168토큰 (도구 정의)
~2.4 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 4.82%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "pagelens": {
      "url": "https://app.pagelens.io/mcp"
    }
  }
}

원격 엔드포인트

https://app.pagelens.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (23)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢list_sites

List the websites this key can access, with visitors in the last 24 hours.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢list_segments(site_id)

Saved segments (named filter sets such as "Paid traffic" or "Mobile in Germany") that can be applied to any report with segment_id.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_overview(site_id, period, from, to, timezone, ...)

Headline metrics (visitors, sessions, pageviews, pages per session, bounce rate, average session duration) for a period, compared with the previous period of the same length, plus a time series.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    },
    "include_series": {
      "type": "boolean",
      "description": "Include the per-day/hour series (default true)"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_breakdown(site_id, dimension, period, from, to, ...)

Top values of one dimension (pages, entry/exit pages, referrers, channels, UTM tags, countries, cities, browsers, OS, devices, languages, custom events, outbound links) with visitors and sessions.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "dimension": {
      "type": "string",
      "enum": [
        "page",
        "entry",
        "exit",
        "title",
        "hostname",
        "referrer",
        "channel",
        "utm_source",
        "utm_medium",
        "utm_campaign",
        "tag",
        "browser",
        "os",
        "device",
        "screen",
        "country",
        "city",
        "language",
        "event",
        "outbound"
      ]
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Rows to return (default 10)"
    },
    "search": {
      "type": "string",
      "description": "Only values containing this text"
    }
  },
  "required": [
    "site_id",
    "dimension"
  ]
}
🟢get_pages(site_id, period, from, to, timezone, ...)

Per-page metrics: visitors, pageviews, entries, bounce rate and time on page.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Rows to return (default 10)"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_realtime(site_id)

Visitors online right now (last 5 minutes) and what they are viewing.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢list_sessions(site_id, period, from, to, timezone, ...)

Recent sessions with entry/exit page, pages viewed, duration, source, location and device.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Rows to return (default 10)"
    },
    "kind": {
      "type": "string",
      "enum": [
        "all",
        "engaged",
        "bounced",
        "errors",
        "replay"
      ]
    },
    "user_id": {
      "type": "string",
      "description": "Only sessions of this identified user"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_session(site_id, session_id)

Every pageview and event in one session, in order.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "session_id": {
      "type": "string"
    }
  },
  "required": [
    "site_id",
    "session_id"
  ]
}
🟢get_events(site_id, period, from, to, timezone, ...)

Custom events (sent with pagelens.track) and outbound clicks with counts and their properties.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Rows to return (default 10)"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_errors(site_id, period, from, to, timezone, ...)

JavaScript errors grouped by message, with occurrences, affected sessions and pages.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Rows to return (default 10)"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_web_vitals(site_id, period, from, to, timezone, ...)

Core Web Vitals from real visitors (LCP, INP, CLS, FCP, TTFB) at p50/p75/p90, overall and per page.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_journeys(site_id, period, from, to, timezone, ...)

Most common page-to-page paths visitors take.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Rows to return (default 10)"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢run_funnel(site_id, steps, mode, compare_previous, period, ...)

Conversion funnel: how many sessions completed each step. Steps are pages (path, * wildcard allowed), custom event names, or a page scrolled at least `threshold` percent (type scroll). mode: ordered (default; other pages may come in between), strict (each step right after the previous one) or flexible (middle steps may be skipped). compare_previous adds the same funnel over the previous period.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "steps": {
      "type": "array",
      "minItems": 2,
      "maxItems": 10,
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "page",
              "event",
              "scroll"
            ]
          },
          "value": {
            "type": "string"
          },
          "threshold": {
            "type": "integer"
          }
        },
        "required": [
          "type",
          "value"
        ]
      }
    },
    "mode": {
      "type": "string",
      "enum": [
        "ordered",
        "strict",
        "flexible"
      ]
    },
    "compare_previous": {
      "type": "boolean"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    }
  },
  "required": [
    "site_id",
    "steps"
  ]
}
🟢list_goals(site_id, period, from, to, timezone, ...)

Goals with conversions and conversion rate for the period, compared with the previous period.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    }
  },
  "required": [
    "site_id"
  ]
}
🟡create_goal(site_id, name, type, value, threshold)

Create a goal that counts sessions visiting a page, firing a custom event, or scrolling a page at least `threshold` percent (type scroll). Needs a write key and member access or higher.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "name": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "enum": [
        "page",
        "event",
        "scroll"
      ]
    },
    "value": {
      "type": "string",
      "description": "Page path (wildcards allowed) or event name"
    },
    "threshold": {
      "type": "integer",
      "description": "For scroll goals: percentage of the page scrolled, e.g. 75"
    }
  },
  "required": [
    "site_id",
    "type",
    "value"
  ]
}
🟡add_annotation(site_id, date, text)

Mark a date on the charts (a release, a campaign, an outage). Needs a write key and member access or higher.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "date": {
      "type": "string",
      "description": "YYYY-MM-DD"
    },
    "text": {
      "type": "string"
    }
  },
  "required": [
    "site_id",
    "date",
    "text"
  ]
}
🟢get_retention(site_id, unit, timezone)

Cohort retention of identified users (pagelens.identify): share of each daily or weekly cohort that came back in later periods.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "unit": {
      "type": "string",
      "enum": [
        "day",
        "week"
      ]
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢list_users(site_id, period, from, to, timezone, ...)

Users active in the period: identified users (with traits) and anonymous visitors, with sessions, pageviews and first source.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Rows to return (default 10)"
    },
    "kind": {
      "type": "string",
      "enum": [
        "all",
        "identified",
        "anonymous"
      ]
    },
    "search": {
      "type": "string",
      "description": "Match user id, name or email"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_user(site_id, user_id)

Profile of one identified user (traits, first/last seen, totals) and their sessions.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "user_id": {
      "type": "string"
    }
  },
  "required": [
    "site_id",
    "user_id"
  ]
}
🟢get_search_console(site_id, dimension, period, from, to, ...)

Google Search Console data for the site (when connected): clicks, impressions, CTR and average position in Google Search, by query, page, country or device, plus a daily series. Data lags about 2 days.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "dimension": {
      "type": "string",
      "enum": [
        "query",
        "page",
        "country",
        "device"
      ]
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Rows to return (default 10)"
    },
    "search": {
      "type": "string",
      "description": "Only queries (or pages) containing this text"
    }
  },
  "required": [
    "site_id"
  ]
}
🔴delete_user_data(site_id, user_id)

GDPR erasure: permanently delete all events, session replays and the profile of one user on a site. Needs a write key and admin access.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "user_id": {
      "type": "string",
      "description": "Identified user id, or \"anon:<visitor_id>\" for an anonymous visitor"
    }
  },
  "required": [
    "site_id",
    "user_id"
  ]
}
🟢get_bots_and_ai(site_id, period, from, to, timezone, ...)

Bot and AI traffic: AI crawlers (GPTBot, ClaudeBot…), AI assistants fetching pages, search engines, and human visits referred by AI assistants (ChatGPT, Perplexity, Claude…).

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_ai_visibility(site_id, period, from, to, timezone, ...)

How the site shows up in AI assistants, per AI company (OpenAI/ChatGPT, Anthropic/Claude, Perplexity, Google/Gemini…) and per page: crawler reads, live fetches while answering a person, human visits sent back, purchases and revenue, robots.txt access, and plain-language findings.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string",
      "description": "Site id from list_sites"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "yesterday",
        "24h",
        "7d",
        "30d",
        "90d",
        "12m"
      ],
      "description": "Time range (default 7d)"
    },
    "from": {
      "type": "string",
      "description": "Start date YYYY-MM-DD (overrides period)"
    },
    "to": {
      "type": "string",
      "description": "End date YYYY-MM-DD, inclusive (default today)"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for days and hours, e.g. Europe/Berlin (default UTC)"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional filters \"dimension:value\" (is). Other operators go after the dimension: \"page!:/x\" is not, \"page~:blog\" contains, \"page!~:blog\" does not contain, \"page^:/docs\" starts with. Dimensions: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country (ISO code), city, language, event, tag"
    },
    "segment_id": {
      "type": "string",
      "description": "Apply a saved segment (see list_segments); combines with filters"
    }
  },
  "required": [
    "site_id"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 23개