Server data from the Official MCP Registry
Pirsch Analytics with natural language queries and trend analysis
Pirsch Analytics with natural language queries and trend analysis
Valid MCP server (2 strong, 4 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry. Trust signals: trusted author (13/14 approved).
5 files analyzed ยท 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-verygoodplugins-mcp-pirsch": {
"args": [
"-y",
"@verygoodplugins/mcp-pirsch"
],
"command": "npx"
}
}
}From the project's GitHub README.
A Model Context Protocol (MCP) server for Pirsch Analytics, enabling natural language analytics queries, period comparisons, and trend analysis for your website traffic.
The simplest way - no need to install anything globally:
# For Claude Desktop
npx @verygoodplugins/mcp-pirsch
# For Claude Code
claude mcp add pirsch "npx @verygoodplugins/mcp-pirsch"
Install once, use anywhere:
# Install globally
npm install -g @verygoodplugins/mcp-pirsch
# For Claude Code
claude mcp add pirsch "mcp-pirsch"
For contributing or customization:
# Clone and install
git clone https://github.com/verygoodplugins/mcp-pirsch.git
cd mcp-pirsch
npm install
npm run build
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"pirsch": {
"command": "npx",
"args": ["@verygoodplugins/mcp-pirsch"],
"env": {
"PIRSCH_CLIENT_ID": "your_client_id",
"PIRSCH_CLIENT_SECRET": "your_client_secret",
"PIRSCH_DEFAULT_DOMAIN_ID": "your_domain_id",
"PIRSCH_TIMEZONE": "America/New_York"
}
}
}
}
Or if installed globally:
{
"mcpServers": {
"pirsch": {
"command": "mcp-pirsch",
"env": {
"PIRSCH_CLIENT_ID": "your_client_id",
"PIRSCH_CLIENT_SECRET": "your_client_secret"
}
}
}
}
claude mcp add pirsch "npx @verygoodplugins/mcp-pirsch" \
--env PIRSCH_CLIENT_ID=your_client_id \
--env PIRSCH_CLIENT_SECRET=your_client_secret \
--env PIRSCH_DEFAULT_DOMAIN_ID=your_domain_id
Add to .mcp.json in your project:
{
"mcpServers": {
"pirsch": {
"command": "node",
"args": ["./node_modules/@verygoodplugins/mcp-pirsch/dist/index.js"],
"env": {
"PIRSCH_CLIENT_ID": "your_client_id",
"PIRSCH_CLIENT_SECRET": "your_client_secret"
}
}
}
}
Create a .env file for local development:
# Required
PIRSCH_CLIENT_ID=your_client_id
PIRSCH_CLIENT_SECRET=your_client_secret
# Optional
PIRSCH_DEFAULT_DOMAIN_ID=your_domain_id # Auto-detected if not set
PIRSCH_TIMEZONE=America/New_York # Default: UTC
PIRSCH_TOKEN_SKEW_MS=60000 # Token refresh buffer (default: 60 seconds)
pirsch_list_domainsList all accessible domains to discover domain IDs.
Parameters:
search (optional): Filter domains by nameExample:
List all my Pirsch domains
pirsch_overviewGet cached overview statistics for a domain.
Parameters:
domain_id (optional): Target domain IDReturns: Visitors, page views, and member counts
Note: This is the Pirsch cached overview endpoint. Filters do not apply, and it should not be used as a substitute for pirsch_total over a custom date range.
pirsch_totalGet total metrics for a specific period.
Parameters:
domain_id (optional): Target domain IDfilter (optional): Filter object with date range, dimensions, etc.Most analytics tools accept filter fields either inside filter or as top-level arguments. Both forms are supported for MCP client compatibility.
Returns: Total visitors, views, sessions, bounces, bounce rate, conversion rate, and custom metric aggregates
pirsch_visitorsGet visitor time series data.
Parameters:
domain_id (optional): Target domain IDfilter (optional): Including scale (day/week/month/year)Example:
Show me daily visitor trends for the last month
pirsch_pagesGet top pages with performance metrics.
Parameters:
domain_id (optional): Target domain IDfilter (optional): Including:
sort: Sort fielddirection: asc/descsearch: Search in page pathsinclude_avg_time_on_page: Include time metricsinclude_title: Include page titlesTip: Exact path: "/news/" still matches only that URL. For section queries on page-style tools, path-shaped values such as search: "/news/", path: "~/news/", or pattern: "/news/*" are narrowed again inside the MCP so /documentation/news/... does not leak into /news/... results. path_prefix is also available when you want an explicit root-prefix filter.
Top-level search, path, and path_prefix arguments are also accepted.
pirsch_entry_pagesGet entry page analytics.
pirsch_exit_pagesGet exit page analytics.
pirsch_referrersAnalyze traffic sources and referrers.
Parameters:
domain_id (optional): Target domain IDfilter (optional): Standard filter parameterspirsch_goalsGet conversion goals together with their observed stats.
Parameters:
domain_id (optional): Target domain IDfilter (optional): Standard filter parameterspirsch_eventsGet aggregated event statistics including counts, visitors, conversion rate, and metadata keys.
Parameters:
domain_id (optional): Target domain IDfilter (optional): Standard filter parameterspirsch_event_pagesGet pages on which a specific event fired.
Parameters:
domain_id (optional): Target domain IDfilter (required): Standard filter parameters, including eventThe event can also be passed as a top-level event argument. If your client uses goal payload field names, event_name is accepted as an alias and normalized to event. The same path-prefix narrowing described for pirsch_pages also applies here.
pirsch_utmAnalyze UTM campaign parameters.
Parameters:
type (required): source | medium | campaign | content | termdomain_id (optional): Target domain IDfilter (optional): Standard filter parametersExample:
Show me UTM source breakdown for this week
pirsch_growthCalculate growth rates across metrics.
Parameters:
domain_id (optional): Target domain IDfilter (optional): Date range for growth calculationpirsch_activeGet currently active visitors and pages.
Parameters:
domain_id (optional): Target domain IDstart (optional): Seconds to look back (default: 600)Example:
Show me active visitors in the last 5 minutes
pirsch_sessionsGet session list data including entry/exit pages, duration, geography, device, and traffic source context.
Parameters:
domain_id (optional): Target domain IDfilter (optional): Standard filter parameterspirsch_session_detailsGet the chronological page-view and event timeline for a single session.
Parameters:
domain_id (optional): Target domain IDfilter (required): Must include both visitor_id and session_idpirsch_compareCompare metrics between two time periods using true period totals from Pirsch totals, plus the matching visitor series for charts.
Parameters:
domain_id (optional): Target domain IDperiod (optional): today | yesterday | week | lastWeek | month | lastMonthcompare (optional): previous | year | customfrom, to (optional): Custom date range (YYYY-MM-DD)compare_from, compare_to (optional): Custom comparison rangescale (optional): day | week | month | yearExample:
Compare this week's traffic to last week
Most tools accept a filter object that maps to Pirsch query parameters:
{
// Date/Time
"from": "2024-01-01", // Start date (YYYY-MM-DD)
"to": "2024-01-31", // End date (YYYY-MM-DD)
"from_time": "09:00", // Start time (HH:MM)
"to_time": "17:00", // End time (HH:MM)
"tz": "America/New_York", // Timezone
// Dimensions
"path": "~/news/", // Exact or operator-based path filter (~ contains, ! not, ^ does-not-contain)
"entry_path": "/landing", // Entry page
"exit_path": "/checkout", // Exit page
"pattern": "*.pdf", // URL pattern
// Traffic Sources
"referrer": "google.com", // Referrer domain
"referrer_name": "Google", // Referrer name
"channel": "organic", // Traffic channel
// UTM Parameters
"utm_source": "newsletter",
"utm_medium": "email",
"utm_campaign": "summer-sale",
"utm_content": "header-cta",
"utm_term": "analytics",
// Device/Browser
"os": "Windows",
"browser": "Chrome",
"platform": "desktop", // desktop | mobile | unknown
"screen_class": "xxl",
// Location
"country": "US",
"city": "New York",
"language": "en",
// Pagination/Sorting
"offset": 0,
"limit": 100,
"sort": "visitors",
"direction": "desc", // asc | desc
"search": "/news/", // Path-shaped searches are narrowed to root-prefix matches on page-style tools
"path_prefix": "/news/", // Optional explicit MCP-local prefix matcher for page-style tools
"keyword": "wordpress crm", // Google Search Console keyword filter
// Advanced
"event": "signup",
"event_meta_key": "plan",
"tag": "premium",
"visitor_id": "12345...", // Required together with session_id for pirsch_session_details
"session_id": "67890",
"custom_metric_key": "revenue",
"custom_metric_type": "float"
}
Show me the visitor statistics for last week
What are my top 10 /news/ posts by traffic this month?
Analyze UTM campaign performance for the summer sale
Show me referrer breakdown excluding direct traffic
Compare this month's metrics to the same period last year
How many people are on my site right now?
Show me conversion goals and top event-driven pages for the last 90 days
List recent sessions that entered on /news/ and inspect one session in detail
npm install
npm run build
npm run dev # Watch mode with auto-reload
npm test
PIRSCH_TOKEN_SKEW_MS is not set too lowpirsch_list_domains to see available domainsPIRSCH_DEFAULT_DOMAIN_ID is correctpirsch_total for custom date range totals; pirsch_overview is cached and not filterablesearch, ~/path/, and /path/* filters are narrowed to root-prefix matches inside the MCPpath_prefix when you want explicit prefix behavior without relying on Pirsch operatorsPIRSCH_TOKEN_SKEW_MS for your use caseContributions are welcome! Please:
MIT - See LICENSE file for details.
Built by Jack Arturo ๐งก
Be the first to review this server!
by Modelcontextprotocol ยท Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno ยท Developer Tools
Toleno Network MCP Server โ Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace ยท Developer Tools
Create, build, and publish Python MCP servers to PyPI โ conversationally.
by Microsoft ยท Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace ยท Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm โ conversationally
by mcp-marketplace ยท Finance
Free stock data and market news for any MCP-compatible AI assistant.