Skip to main content
Glama
rybbit-mcp

rybbit-mcp

by neverhunt

rybbit-mcp

An MCP server that exposes Rybbit Analytics as tools for Claude (or any MCP-compatible client). Ask Claude things like:

  • "What's the traffic overview for my site this week?"

  • "What are the top 10 pages by visits this month?"

  • "How many people are on the site right now?"

  • "Where is my traffic coming from, by country?"

  • "Show me the most recent sessions from mobile users."

It works against both Rybbit Cloud (app.rybbit.io) and self-hosted Rybbit instances.

Tools

Tool

Description

rybbit_list_sites

List organizations and sites (with their site IDs)

rybbit_get_site

Get config/details for one site

rybbit_get_overview

Sessions, pageviews, users, bounce rate, duration for a time range

rybbit_get_overview_timeseries

Same metrics bucketed over time (for trend charts)

rybbit_get_breakdown

Top pages, referrers, countries, browsers, devices, UTM params, etc.

rybbit_get_live_visitors

Current active visitor count

rybbit_list_sessions

Paginated list of visitor sessions

rybbit_get_session

Full detail + event list for one session

rybbit_get_session_locations

Aggregated session geolocation, for mapping

This covers Rybbit's Overview and Sessions API families. The same client/tool pattern can be extended to Events, Users, Goals, Funnels, Performance, and Errors — see Extending below.

Related MCP server: Rybbit MCP Server

Setup

1. Get a Rybbit API key

In your Rybbit dashboard: Settings → Account → API Keys → Create.

Self-hosted instances have no rate limits. Rybbit Cloud rate-limits API keys per your plan (Standard: 20 req/min, Pro: 200 req/min); Free/Basic plans don't get API key access.

2. Build the server

git clone https://github.com/<your-username>/rybbit-mcp.git
cd rybbit-mcp
npm install
npm run build

This produces build/index.js.

3. Configure your MCP client

Claude Desktop / Claude Code — add to your MCP config (claude_desktop_config.json or .claude/settings.json):

{
  "mcpServers": {
    "rybbit": {
      "command": "node",
      "args": ["/absolute/path/to/rybbit-mcp/build/index.js"],
      "env": {
        "RYBBIT_URL": "https://app.rybbit.io",
        "RYBBIT_API_KEY": "your-api-key-here"
      }
    }
  }
}

If you self-host Rybbit, set RYBBIT_URL to your instance's base URL instead (e.g. https://analytics.yourdomain.com).

Restart Claude Desktop / reload Claude Code, and the rybbit_* tools should appear.

Deploying to CapRover (or Docker)

This MCP server supports Server-Sent Events (SSE) for remote clients over HTTP. This is perfect for deploying to a platform like CapRover so that a remote AI agent can access the tools.

  1. Create a new App in your CapRover dashboard (e.g., rybbit-mcp).

  2. Set the Environment Variables in CapRover:

    • RYBBIT_URL

    • RYBBIT_API_KEY

    • PORT=3000 (Optional, defaults to 3000)

  3. Under the Deployment tab, deploy using the Captain Definition or simply push this repository via the CapRover CLI. This repository contains a Dockerfile that CapRover will automatically detect and build.

Once deployed, the SSE endpoint will be available at: https://rybbit-mcp.your-caprover-domain.com/sse

Your remote AI agents can connect to this URL via SSEServerTransport instead of stdio.

4. Try it

"Use rybbit to show me an overview of site 123 for the last 7 days" "What are the top pages on my site this month?" "How many live visitors do I have right now?"

Development

npm run watch       # recompile on change
npm run inspector    # open the MCP Inspector against this server

Extending

Rybbit's API has more endpoint families than this v1 covers (Events, Users, Goals, Funnels, Performance metrics, Errors — see the Rybbit API docs). To add one:

  1. Add a method to src/rybbit-client.ts calling the endpoint.

  2. Register a corresponding tool in src/index.ts with server.registerTool(...), using zod for the input schema.

  3. npm run build and reload your MCP client.

License

MIT

Available Tools

9 tools
rybbit_get_breakdownGet a dimensional breakdown (top pages, referrers, countries, browsers, etc.)A

Get analytics broken down by a single dimension, ranked by traffic. Use this for questions like 'what are the top pages', 'where is traffic coming from', 'what countries/browsers/devices do visitors use', 'what are the top UTM campaigns', etc. Set parameter to the dimension to break down by, e.g.: pathname, page_title, hostname, referrer, channel, entry_page, exit_page, country, region, city, browser, browser_version, operating_system, device_type, language, utm_source, utm_medium, utm_campaign, utm_term, utm_content, event_name. Results include visit count, percentage of total, pageviews, and bounce rate per value.

Inputs: site (required), parameter (required), limit, page, +8 more.

rybbit_get_live_visitorsGet live visitor countA

Get the count of currently active sessions on a site within a recent time window (real-time visitor count).

Inputs: site (required), minutes.

rybbit_get_overviewGet analytics overviewA

Get high-level analytics metrics for a site over a time range: sessions, pageviews, unique users, pages per session, bounce rate, and average session duration.

Inputs: site (required), start_date, end_date, time_zone, +5 more.

rybbit_get_overview_timeseriesGet analytics overview time seriesA

Get the same metrics as rybbit_get_overview (sessions, pageviews, users, bounce rate, etc.) broken down into time buckets, for charting trends. Choose a bucket size appropriate to the range: 'minute' or 'five_minutes' for the last hour or so, 'hour' for a single day, 'day' for weeks/months, 'week' or 'month' for longer ranges.

Inputs: site (required), bucket (required), start_date, end_date, +6 more.

rybbit_get_sessionGet session detailA

Get full detail for a single session by ID: session metadata plus the ordered list of pageview/custom events within it.

Inputs: site (required), session_id (required), limit, offset, +1 more.

rybbit_get_session_locationsGet session locationsA

Get aggregated session counts by geographic coordinates (lat/lon, city, country) for a site, suitable for plotting on a map.

Inputs: site (required), start_date, end_date, time_zone, +5 more.

rybbit_get_siteGet Rybbit site detailsA

Get configuration and details for a single site by ID (name, domain, tracking feature flags, etc.).

Inputs: site (required).

rybbit_list_sessionsList sessionsB

Get a paginated list of visitor sessions with details: location, browser/OS/device, referrer, entry/exit pages, pageview and event counts, duration, and UTM params.

Inputs: site (required), page, limit, user_id, +9 more.

rybbit_list_sitesList Rybbit sitesA

List all organizations the authenticated user belongs to, and every site (with its numeric site ID) under each. Call this first if you don't already know a site ID.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 9 tools

    Disambiguation5/5

    Each tool serves a distinct analytics purpose: breakdown, live visitors, overview, timeseries, session detail, location map, site config, session list, site list. No overlap in functionality.

    Naming Consistency5/5

    All tools follow the consistent pattern 'rybbit_{verb}_{noun}' with verbs 'get' for single/aggregate results and 'list' for collections, and nouns clearly indicating the resource.

    Tool Count5/5

    9 tools cover the core analytics operations—overview, breakdown, sessions, live visitors, site listing—without being excessive. Each tool earns its place for typical analytics queries.

    Completeness4/5

    The set provides comprehensive querying capabilities for analytics metrics, breakdowns, sessions, and sites. Missing are explicit date-range parameters noted in descriptions, and custom event detail retrieval beyond breakdowns, but the core is well-covered.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      B
      maintenance
      Enables querying Rybbit Analytics data directly through MCP-compatible clients like Claude Code. It provides tools for monitoring website statistics, user sessions, error logs, funnels, and performance metrics via natural language.
      43
      14 npm
      4
      MIT
    • A
      license
      B
      quality
      C
      maintenance
      An MCP server for interacting with the Rybbit Analytics API, enabling querying analytics data, managing sites, tracking events, and more.
      57
      12 npm
      5
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Exposes DataFast analytics as tools for AI assistants, enabling natural language queries about website metrics such as visitors, referrers, revenue, and real-time data.
      22
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables natural language analytics queries for Pirsch Analytics, providing comprehensive website traffic statistics, period comparisons, and trend analysis through an MCP interface.
      4
      54 npm
      1
      MIT