Pirsch Analytics MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi
Read Pirsch web analytics: visitors, pages, referrers, UTM, events, funnels and sessions.
27 tools: 27 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads27Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http pirsch https://pirsch.usefulapi.io/mcpFindings
Matches of fixed checks, with the text they matched.
The description contains "every other tool", wording about other tools or servers.
What this check looks forMatched text
description: "...ne and role. Use the id as domain_id in every other tool. A dashboard-level client sees one doma..."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
27 tools
Only reads 27Claude Code: allow
pirsch_get_active_visitorsVisitors on the site right now (or in the past n seconds), with the pages they are on and their countries.No findings
Why it is in this group
- The name "pirsch_get_active_visitors" says "get": a word for reading.
Description, as the server wrote it Visitors on the site right now (or in the past n seconds), with the pages they are on and their countries. GET /api/v1/statistics/active.
Annotations the server declares
- title: Get active visitors
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_get_domainOne Pirsch dashboard (domain) by id, with its time zone, hostname, role and subscription state.No findings
Why it is in this group
- The name "pirsch_get_domain" says "get": a word for reading.
Description, as the server wrote it One Pirsch dashboard (domain) by id, with its time zone, hostname, role and subscription state. GET /api/v1/domain?id=.
Annotations the server declares
- title: Get domain
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_get_durationAverage session duration over time, or average time on page over time, in seconds.No findings
Why it is in this group
- The name "pirsch_get_duration" says "get": a word for reading.
Description, as the server wrote it Average session duration over time, or average time on page over time, in seconds. GET /api/v1/statistics/duration/session or /duration/page.
Annotations the server declares
- title: Get time spent
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_get_event_breakdownThe values of one metadata key of one event, with count, visitors and conversion rate.No findings
Why it is in this group
- The name "pirsch_get_event_breakdown" says "get": a word for reading.
Description, as the server wrote it The values of one metadata key of one event, with count, visitors and conversion rate. Both event and event_meta_key are required. GET /api/v1/statistics/event/meta.
Annotations the server declares
- title: Get event metadata breakdown
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_get_funnelVisitors per funnel step for a period: visitors, share of the first step, drop-off between steps.No findings
Why it is in this group
- The name "pirsch_get_funnel" says "get": a word for reading.
Description, as the server wrote it Visitors per funnel step for a period: visitors, share of the first step, drop-off between steps. The filter applies to the first step. GET /api/v1/statistics/funnel.
Annotations the server declares
- title: Get funnel statistics
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_get_growthGrowth of visitors, views, sessions, bounces, time spent and conversion rate compared with the previous period of the same length.No findings
Why it is in this group
- The name "pirsch_get_growth" says "get": a word for reading.
Description, as the server wrote it Growth of visitors, views, sessions, bounces, time spent and conversion rate compared with the previous period of the same length. GET /api/v1/statistics/growth.
Annotations the server declares
- title: Get growth rates
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_get_overviewQuick overview of a dashboard: visitors, views, growth compared with the previous period, a visitors time series and the number of team members.No findings
Why it is in this group
- The name "pirsch_get_overview" says "get": a word for reading.
Description, as the server wrote it Quick overview of a dashboard: visitors, views, growth compared with the previous period, a visitors time series and the number of team members. Cached by Pirsch; takes no date range or filters. GET /api/v1/statistics/overview.
Annotations the server declares
- title: Get overview
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_get_platformsVisitors on desktop, mobile and unknown platforms, as counts and shares.No findings
Why it is in this group
- The name "pirsch_get_platforms" says "get": a word for reading.
Description, as the server wrote it Visitors on desktop, mobile and unknown platforms, as counts and shares. GET /api/v1/statistics/platform.
Annotations the server declares
- title: Get platform split
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_get_sessionAll page views and events of one session in time order.No findings
Why it is in this group
- The name "pirsch_get_session" says "get": a word for reading.
Description, as the server wrote it All page views and events of one session in time order. Both ids come from pirsch_list_sessions. GET /api/v1/statistics/session/details.
Annotations the server declares
- title: Get session details
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_get_tag_breakdownThe values of one tag key with views and share.No findings
Why it is in this group
- The name "pirsch_get_tag_breakdown" says "get": a word for reading.
Description, as the server wrote it The values of one tag key with views and share. The tag filter (the key) is required. GET /api/v1/statistics/tag/details.
Annotations the server declares
- title: Get tag breakdown
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_get_time_distributionVisitors by hour of the day, by minute (only when from and to are the same day), or by weekday and hour (Monday is 0).No findings
Why it is in this group
- The name "pirsch_get_time_distribution" says "get": a word for reading.
Description, as the server wrote it Visitors by hour of the day, by minute (only when from and to are the same day), or by weekday and hour (Monday is 0). Shows when traffic peaks. GET /api/v1/statistics/hours, /minutes or /weekdays.
Annotations the server declares
- title: Get visitors by time
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_get_totalsTotals for a period: visitors, views, sessions, bounces, bounce rate and conversion rate.No findings
Why it is in this group
- The name "pirsch_get_totals" says "get": a word for reading.
Description, as the server wrote it Totals for a period: visitors, views, sessions, bounces, bounce rate and conversion rate. Not grouped by day, so returning visitors are counted once. GET /api/v1/statistics/total.
Annotations the server declares
- title: Get total visitors
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_get_visitors_time_seriesVisitors, views, sessions, bounces and bounce rate per day, week, month or year (see scale).No findings
Why it is in this group
- The name "pirsch_get_visitors_time_series" says "get": a word for reading.
Description, as the server wrote it Visitors, views, sessions, bounces and bounce rate per day, week, month or year (see scale). Use it for traffic charts and trends. GET /api/v1/statistics/visitor.
Annotations the server declares
- title: Get visitors time series
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_devicesVisitors per browser, browser version, operating system or screen class (XXL to S).No findings
Why it is in this group
- The name "pirsch_list_devices" says "list": a word for reading.
Description, as the server wrote it Visitors per browser, browser version, operating system or screen class (XXL to S). Filters narrow the data (for example country=de, path=~blog). Results are rows with visitors, views, sessions, bounces and relative shares. GET /api/v1/statistics/browser, /browser/version, /os or /screen.
Annotations the server declares
- title: List browsers, operating systems and screens
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_domainsList the Pirsch dashboards (domains) the OAuth client can read: id, hostname, display name, time zone and role.1 finding
Why it is in this group
- The name "pirsch_list_domains" says "list": a word for reading.
Findings
- Warn
The description contains "every other tool", wording about other tools or servers.
What this check looks forMatched text
description: "...ne and role. Use the id as domain_id in every other tool. A dashboard-level client sees one doma..."
Description, as the server wrote it List the Pirsch dashboards (domains) the OAuth client can read: id, hostname, display name, time zone and role. Use the id as domain_id in every other tool. A dashboard-level client sees one domain; an account-level client sees all. GET /api/v1/domain.
Annotations the server declares
- title: List domains
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_event_pagesThe pages on which an event was triggered, with visitors and views.No findings
Why it is in this group
- The name "pirsch_list_event_pages" says "list": a word for reading.
Description, as the server wrote it The pages on which an event was triggered, with visitors and views. The event name is required. GET /api/v1/statistics/event/page.
Annotations the server declares
- title: List pages of an event
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_eventsCustom events with count, visitors, views, conversion rate, average duration and their metadata keys.No findings
Why it is in this group
- The name "pirsch_list_events" says "list": a word for reading.
Description, as the server wrote it Custom events with count, visitors, views, conversion rate, average duration and their metadata keys. Use pirsch_get_event_breakdown for the values of one metadata key. GET /api/v1/statistics/events.
Annotations the server declares
- title: List events
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_filter_valuesThe values that exist for a filter in a period, such as all page paths, referrers, countries, browsers or event names.No findings
Why it is in this group
- The name "pirsch_list_filter_values" says "list": a word for reading.
Description, as the server wrote it The values that exist for a filter in a period, such as all page paths, referrers, countries, browsers or event names. Use it to find valid values before filtering. GET /api/v1/statistics/options/{dimension}.
Annotations the server declares
- title: List filter values
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_funnelsThe funnels defined for a dashboard, with their steps and step filters.No findings
Why it is in this group
- The name "pirsch_list_funnels" says "list": a word for reading.
Description, as the server wrote it The funnels defined for a dashboard, with their steps and step filters. Use a funnel id in pirsch_get_funnel. GET /api/v1/funnel.
Annotations the server declares
- title: List funnels
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_geographyVisitors per country, region, city or language.No findings
Why it is in this group
- The name "pirsch_list_geography" says "list": a word for reading.
Description, as the server wrote it Visitors per country, region, city or language. Filters narrow the data (for example country=de, path=~blog). Results are rows with visitors, views, sessions, bounces and relative shares. GET /api/v1/statistics/country, /region, /city or /language.
Annotations the server declares
- title: List countries, regions, cities and languages
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_goalsConversion goals with their definition (page pattern, event, targets) and the visitors, views and conversion rate for the period.No findings
Why it is in this group
- The name "pirsch_list_goals" says "list": a word for reading.
Description, as the server wrote it Conversion goals with their definition (page pattern, event, targets) and the visitors, views and conversion rate for the period. GET /api/v1/statistics/goals.
Annotations the server declares
- title: List conversion goals
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_hostnamesTraffic per hostname.No findings
Why it is in this group
- The name "pirsch_list_hostnames" says "list": a word for reading.
Description, as the server wrote it Traffic per hostname. Mostly useful for rollup views that combine several hostnames. GET /api/v1/statistics/hostname.
Annotations the server declares
- title: List hostnames
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_pagesTop pages with visitors, views, sessions, bounces, bounce rate and average time on page.No findings
Why it is in this group
- The name "pirsch_list_pages" says "list": a word for reading.
Description, as the server wrote it Top pages with visitors, views, sessions, bounces, bounce rate and average time on page. type=entry lists landing pages, type=exit lists exit pages. Filters narrow the data (for example country=de, path=~blog). Results are rows with visitors, views, sessions, bounces and relative shares. GET /api/v1/statistics/page, /page/entry or /page/exit.
Annotations the server declares
- title: List pages
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_referrersWhere visitors come from: referrers (by=referrer) or traffic channels such as Organic Search and Paid Search (by=channel).No findings
Why it is in this group
- The name "pirsch_list_referrers" says "list": a word for reading.
Description, as the server wrote it Where visitors come from: referrers (by=referrer) or traffic channels such as Organic Search and Paid Search (by=channel). Filters narrow the data (for example country=de, path=~blog). Results are rows with visitors, views, sessions, bounces and relative shares. GET /api/v1/statistics/referrer or /channel.
Annotations the server declares
- title: List referrers
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_sessionsIndividual visitor sessions: start, duration, entry and exit page, page views, bounce, country, city, referrer, browser, OS and UTM data.No findings
Why it is in this group
- The name "pirsch_list_sessions" says "list": a word for reading.
Description, as the server wrote it Individual visitor sessions: start, duration, entry and exit page, page views, bounce, country, city, referrer, browser, OS and UTM data. visitor_id is a string (a 64-bit number). Use pirsch_get_session for one session's page views and events. GET /api/v1/statistics/session/list.
Annotations the server declares
- title: List sessions
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_tagsTag keys with views and share.No findings
Why it is in this group
- The name "pirsch_list_tags" says "list": a word for reading.
Description, as the server wrote it Tag keys with views and share. Use pirsch_get_tag_breakdown to see the values of one key. GET /api/v1/statistics/tags.
Annotations the server declares
- title: List tags
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
pirsch_list_utmVisitors per UTM source, medium, campaign, content or term.No findings
Why it is in this group
- The name "pirsch_list_utm" says "list": a word for reading.
Description, as the server wrote it Visitors per UTM source, medium, campaign, content or term. Filters narrow the data (for example country=de, path=~blog). Results are rows with visitors, views, sessions, bounces and relative shares. GET /api/v1/statistics/utm/{dimension}.
Annotations the server declares
- title: List UTM parameters
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.3.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http pirsch https://pirsch.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__pirsch__pirsch_list_domains",
"mcp__pirsch__pirsch_get_domain",
"mcp__pirsch__pirsch_get_overview",
"mcp__pirsch__pirsch_get_totals",
"mcp__pirsch__pirsch_get_visitors_time_series",
"mcp__pirsch__pirsch_get_growth",
"mcp__pirsch__pirsch_get_active_visitors",
"mcp__pirsch__pirsch_get_time_distribution",
"mcp__pirsch__pirsch_get_duration",
"mcp__pirsch__pirsch_list_pages",
"mcp__pirsch__pirsch_list_hostnames",
"mcp__pirsch__pirsch_list_referrers",
"mcp__pirsch__pirsch_list_utm",
"mcp__pirsch__pirsch_list_geography",
"mcp__pirsch__pirsch_list_devices",
"mcp__pirsch__pirsch_get_platforms",
"mcp__pirsch__pirsch_list_events",
"mcp__pirsch__pirsch_get_event_breakdown",
"mcp__pirsch__pirsch_list_event_pages",
"mcp__pirsch__pirsch_list_goals",
"mcp__pirsch__pirsch_list_funnels",
"mcp__pirsch__pirsch_get_funnel",
"mcp__pirsch__pirsch_list_tags",
"mcp__pirsch__pirsch_get_tag_breakdown",
"mcp__pirsch__pirsch_list_sessions",
"mcp__pirsch__pirsch_get_session",
"mcp__pirsch__pirsch_list_filter_values"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as pirsch. Review it before you use it.