Pirsch Analytics MCP server

Read Pirsch web analytics: visitors, pages, referrers, UTM, events, funnels and sessions. Hosted by usefulapi: connect it to Claude, ChatGPT, Cursor or any MCP client.

Connect Pirsch Analytics50 free tool calls a month

What can I ask?

Turn on the Pirsch Analytics connector, then ask in plain words. The AI picks the tools.

What you can do with Pirsch Analytics in Claude and ChatGPT

For website owners and marketers who track visitors with Pirsch Analytics.

Check visitors and growth for a period

The AI reads totals (visitors, views, sessions, bounce rate), the daily trend, growth against the previous period and who is on the site now.

Find top pages and landing pages

The AI lists pages with visitors, views, bounce rate and time on page, or only landing or exit pages, narrowed by country or path.

See where visitors come from

The AI lists referrers and traffic channels such as Organic Search and Paid Search, and visitors per UTM source, medium or campaign.

Compare countries, browsers and devices

The AI lists visitors per country, region, city or language, per browser or operating system, and the split between desktop and mobile.

Check goals and funnel drop-off

The AI reads conversion goals with their conversion rate and the visitors per funnel step, with the drop-off between steps.

Review custom events and their values

The AI lists custom events with count and conversion rate, the values of one metadata key, and the pages where an event happened.

How do I connect Pirsch Analytics?

Before you connect

The login page asks for your Pirsch client ID and Pirsch client secret.

In Pirsch open Account Settings (all your dashboards) or, on a dashboard you own, Integration Settings, click Add Client, choose the type oAuth and turn off every write scope. The secret is shown once. Access keys (pa_...) cannot read statistics. Your credentials are used only to call the Pirsch API on your behalf; they are never shown to anyone. The Pirsch API needs a paid Pirsch plan.

Claude claude.ai · Desktop

  1. Open Customize → Connectors, then click + Add → Add custom connector.
  2. Enter the name Pirsch Analytics and this URL, then click Add:
    https://pirsch.usefulapi.io/mcp
  3. Claude opens the login page: enter your Pirsch client ID and Pirsch client secret.
  4. In a chat, click + → Connectors and turn on Pirsch Analytics.

Team and Enterprise: an Owner adds the connector for the organization first.

ChatGPT chatgpt.com

  1. Open Plugins, click +, then Add custom MCP server.
  2. Enter the name Pirsch Analytics and this URL, choose OAuth as the authentication, confirm the warning and create it:
    https://pirsch.usefulapi.io/mcp
  3. ChatGPT opens the login page: enter your Pirsch client ID and Pirsch client secret.
  4. In Plugins, install Pirsch Analytics, then choose it in a chat.

No Add custom MCP server option? It depends on your account or workspace settings: see OpenAI's guide.

Claude Code

Run this command, then run /mcp in Claude Code to log in:

claude mcp add --transport http pirsch https://pirsch.usefulapi.io/mcp

Cursor

Add to Cursor or add this to ~/.cursor/mcp.json:

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

VS Code

Add to VS Code or add this to .vscode/mcp.json:

{
  "servers": {
    "pirsch": {
      "type": "http",
      "url": "https://pirsch.usefulapi.io/mcp"
    }
  }
}

Codex

Run these commands. The second one opens the login page:

codex mcp add pirsch --url https://pirsch.usefulapi.io/mcp
codex mcp login pirsch

Other clients

Windsurf, Cline, Zed and other MCP clients: add this URL as a remote MCP server (Streamable HTTP). The client then opens the login page in your browser.

https://pirsch.usefulapi.io/mcp

Add only the URL. Do not add an Authorization header or an API key to the client config. The server signs you in with OAuth: the login page asks for your Pirsch client ID and Pirsch client secret. If the config has such a header, remove it: some clients then send that header instead of the login token, and every call fails with 401.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Proper user$9/mo · $90/yr10,000 tool calls / month
Pro+per user$39/mo · $390/yr100,000 tool calls / month

Each paid plan covers this Pirsch Analytics server only. Ask your AI to run pirsch_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with pirsch_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with pirsch_upgrade before then undoes the cancel. Or write to support@usefulapi.io.

Tools 31

Show all 31 tools (the AI picks them for you)

Read only · 27

  • List domains (dashboards)pirsch_list_domains
    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 domainpirsch_get_domain
    One Pirsch dashboard (domain) by id, with its time zone, hostname, role and subscription state.
  • Get overviewpirsch_get_overview
    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 total visitorspirsch_get_totals
    Totals for a period: visitors, views, sessions, bounces, bounce rate and conversion rate. Not grouped by day, so returning visitors are counted once.
  • Get visitors time seriespirsch_get_visitors_time_series
    Visitors, views, sessions, bounces and bounce rate per day, week, month or year (see scale). Use it for traffic charts and trends.
  • Get growth ratespirsch_get_growth
    Growth of visitors, views, sessions, bounces, time spent and conversion rate compared with the previous period of the same length.
  • Get active visitorspirsch_get_active_visitors
    Visitors on the site right now (or in the past n seconds), with the pages they are on and their countries.
  • Get visitors by timepirsch_get_time_distribution
    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 time spentpirsch_get_duration
    Average session duration over time, or average time on page over time, in seconds.
  • List pagespirsch_list_pages
    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.
  • List hostnamespirsch_list_hostnames
    Traffic per hostname. Mostly useful for rollup views that combine several hostnames.
  • List referrerspirsch_list_referrers
    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.
  • List UTM parameterspirsch_list_utm
    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.
  • List countries, regions, cities and languagespirsch_list_geography
    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.
  • List browsers, operating systems and screenspirsch_list_devices
    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 platform splitpirsch_get_platforms
    Visitors on desktop, mobile and unknown platforms, as counts and shares.
  • List eventspirsch_list_events
    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 event metadata breakdownpirsch_get_event_breakdown
    The values of one metadata key of one event, with count, visitors and conversion rate. Both event and event_meta_key are required.
  • List pages of an eventpirsch_list_event_pages
    The pages on which an event was triggered, with visitors and views. The event name is required.
  • List conversion goalspirsch_list_goals
    Conversion goals with their definition (page pattern, event, targets) and the visitors, views and conversion rate for the period.
  • List funnelspirsch_list_funnels
    The funnels defined for a dashboard, with their steps and step filters. Use a funnel id in pirsch_get_funnel.
  • Get funnel statisticspirsch_get_funnel
    Visitors per funnel step for a period: visitors, share of the first step, drop-off between steps. The filter applies to the first step.
  • List tagspirsch_list_tags
    Tag keys with views and share. Use pirsch_get_tag_breakdown to see the values of one key.
  • Get tag breakdownpirsch_get_tag_breakdown
    The values of one tag key with views and share. The tag filter (the key) is required.
  • List sessionspirsch_list_sessions
    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 session detailspirsch_get_session
    All page views and events of one session in time order. Both ids come from pirsch_list_sessions.
  • List filter valuespirsch_list_filter_values
    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.

Your usefulapi plan · 4

  • Usage status (free-tier meter)pirsch_usage_status
    Report the caller's current usage: the plan, calls used this month, the limit of the plan (the free monthly cap or the Pro fair use limit), remaining, and whether the limit is reached. Read-only; does not count against the meter.
  • Request a missing featurepirsch_request_feature
    Tell usefulapi that the user needs something the Pirsch Analytics tools cannot do yet (a missing tool, field or filter). Call it only when the user asks for something none of the tools can do, and tell the user that you send the request. Do not call it for errors or for normal requests. Do not include personal data, credentials or customer records. Stored with the product name and the client type (for example Claude or Cursor), without the user's account. At most 5 requests per day. Does not count against the meter.
  • Upgrade to Pro or Pro+pirsch_upgrade
    Get a paid plan for Pirsch Analytics (the free tier caps monthly usage). Pro: 10,000 tool calls a month, for normal use — plan "monthly" ($9/month) or "yearly" ($90/year, 2 months free). Pro+: 100,000 tool calls a month, for automations and heavy use — plan "plus" ($39/month) or "plus_yearly" ($390/year). Without a plan it returns both Pro and Pro+, each with a payment link, for the user to choose; with a plan, one link. An existing Pro subscription changes to Pro+ in place: call without confirm first, as the reply states the exact charge for this account (the price difference for the rest of the period, or in a free Pro trial the full Pro+ price, as the trial ends); then call with confirm: true. Cancel any time: the plan then runs to the end of the paid period, so it also suits a one-time job. A link opens Stripe Checkout in the browser; after payment the account upgrades automatically. Does not count against the meter.
  • Cancel the Pro subscriptionpirsch_cancel_subscription
    Cancel the caller's Pirsch Analytics Pro subscription at the end of the paid period (no refund for the current period; Pro continues until then, then the free tier applies). Requires confirm: true. Run pirsch_upgrade later to undo the cancel before the period ends. Does not count against the meter.

FAQ

What can I do with Pirsch Analytics in Claude or ChatGPT?

Check visitors and growth for a period. Find top pages and landing pages. See where visitors come from. Compare countries, browsers and devices. Check goals and funnel drop-off. Review custom events and their values. See what you can do for the details.

Is this an official Pirsch Analytics product?

No. usefulapi is an independent service. It is not affiliated with or endorsed by Pirsch Analytics. The server calls the Pirsch Analytics API with your own Pirsch Analytics access, so it sees only the data that your account can see.

Can I connect Pirsch Analytics to Claude or ChatGPT?

Yes. In Claude, add this server's URL as a custom connector. In ChatGPT, add it as a custom MCP server in Plugins. Then log in once. Cursor, VS Code, Claude Code and Codex work too. See the setup steps.

What do I need to connect?

The login page asks for your Pirsch client ID and Pirsch client secret. See Before you connect for where to find them.

Do I put my Pirsch Analytics key or an Authorization header in the client config?

No. Add only the URL. Do not add an Authorization header or an API key to the client config. The server signs you in with OAuth: the login page asks for your Pirsch client ID and Pirsch client secret. If the config has such a header, remove it: some clients then send that header instead of the login token, and every call fails with 401.

How do you keep my Pirsch Analytics credentials?

The login stores them encrypted in the authorization grant of your connection. The server uses them to call the Pirsch Analytics API for you and to derive a private account id for usage metering. usefulapi does not show them on any page or in any reply. To stop all access, remove the connector and change or delete these credentials in Pirsch Analytics.

Can the AI change my Pirsch Analytics data?

All 27 Pirsch Analytics tools are marked read-only.

What does it cost?

The Free plan gives 50 tool calls / month. Pro costs $9/mo or $90/yr, with 10,000 tool calls / month. Pro+ costs $39/mo or $390/yr, with 100,000 tool calls / month. Each subscription covers this Pirsch Analytics server only. Cancel any time: your paid plan then runs to the end of the paid period. Run pirsch_usage_status to see how many calls you used.

How do I subscribe or cancel?

Ask the AI to run pirsch_upgrade and choose Pro or Pro+, billed monthly or yearly: it returns a Stripe Checkout link. If you already have Pro, ask to change it to Pro+. After you confirm, your existing subscription changes in place, keeps its billing interval and charges the price difference for the rest of the period immediately. To cancel, run pirsch_cancel_subscription. Your paid plan continues to the end of the paid period.

What if a Pirsch Analytics tool that I need is missing?

Tell the AI what you wanted to do. It can send the request with pirsch_request_feature. We store the text with the server name, the type of AI client and the tool you tried, not with your account, and read every request when we plan new tools. You can send up to 5 requests per day.

Which AI clients can I use?

Any client that supports remote MCP servers (Streamable HTTP) with OAuth login: Claude (web and desktop), Claude Code, ChatGPT, Codex, Cursor, VS Code, Windsurf and others.

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.

Need a tool this server does not have, or a connection to another system? We build custom integrations and MCP servers.

More Data & Analytics MCP servers

Abstract APIAddressfinderAgro APICensusCobalt IntelligenceFathom AnalyticsHotjaripdataKlipfolioMixpanelPeople Data LabsPlausibleScrapeNinjaScrapeOwlSimple AnalyticsSpreakerTrestleWeatherbitWeatherLinkZenserp

All Data & Analytics servers →