skill
rybbit-mcp
MCP server that lets Claude Code and other MCP clients query Rybbit Analytics stats, errors, sessions, funnels and goals. TypeScript, Node.js 18+.
Set up
Skills are installed by placing their folder where your agent loads skills.
The download comes from github.com/nks-hub/rybbit-mcp itself, not from our server, so what you get is exactly what its author published.
Install instructions come from the README
README
synced Oct 17, 2026@nks-hub/rybbit-mcp
MCP server for Rybbit Analytics. Claude Code and other MCP clients use it to query statistics, errors, users, sessions, funnels, goals and performance metrics.
Features
- 🧰 32 analytics tools - Overview, metrics, sessions, users, events, errors, performance, funnels, goals, journeys and site management
- 🔐 Authentication - API key (recommended) or email and password
- 🔍 Filtering - Filter by 22 dimensions (browser, country, UTM, page, device, etc.) with 8 comparison types
- 📅 Time ranges - Date ranges (
YYYY-MM-DD) or relative time (pastMinutesStart) - 📈 Time series - Bucket size from one minute to one year
- 📄 Pagination -
pageandlimitparameters for large result sets - ✂️ Response truncation - Cuts responses at 25k characters so they fit the model context
- 💡 Error messages - Tell the model what to try next, e.g. narrow the date range or call
rybbit_list_sitesfor valid IDs
Requirements
- Node.js: 18+
- Rybbit Analytics: Self-hosted or cloud instance
Installation
npx (recommended)
Configure your MCP client to run the package via npx:
{
"mcpServers": {
"rybbit": {
"command": "npx",
"args": ["-y", "@nks-hub/rybbit-mcp"],
"env": {
"RYBBIT_URL": "https://your-rybbit-instance.com",
"RYBBIT_API_KEY": "your-api-key"
}
}
}
}
Add this to your ~/.claude/settings.json or project .claude/settings.json.
CLI shorthand:
claude mcp add rybbit -e RYBBIT_URL=https://your-instance.com -e RYBBIT_API_KEY=your-key -- npx -y @nks-hub/rybbit-mcp
From source
For development or contributing:
git clone https://github.com/nks-hub/rybbit-mcp.git
cd rybbit-mcp
npm install && npm run build
Then point your MCP config to the local build:
{
"mcpServers": {
"rybbit": {
"command": "node",
"args": ["path/to/rybbit-mcp/build/index.js"],
"env": {
"RYBBIT_URL": "https://your-rybbit-instance.com",
"RYBBIT_API_KEY": "your-api-key"
}
}
}
}
Usage
Once the server is configured, Claude Code can answer questions such as:
- "How many users visited the site today?"
- "Show me the top pages by bounce rate this week"
- "What errors occurred in the last hour?"
- "Show user journey from homepage to checkout"
- "Compare browser usage between mobile and desktop"
Authentication
| Method | Environment Variables | Use Case |
|---|---|---|
| API key | RYBBIT_API_KEY | Recommended for production |
| Email/password | RYBBIT_EMAIL, RYBBIT_PASSWORD | Development/testing |
Both require RYBBIT_URL pointing to your Rybbit instance.
Tools (32)
Configuration and site management
| Tool | Description |
|---|---|
rybbit_get_config | Get server version and configuration |
rybbit_list_sites | List all sites and organizations |
rybbit_create_site | Create a new site (type: web or mobile; legacy alias app maps to mobile; mobile sites have bot filtering turned off) |
rybbit_delete_site | Delete a site permanently |
rybbit_get_site_id | Look up site ID by domain name |
rybbit_update_site_config | Update site tracking config (IP, errors, replay, etc.) |
Real-time and overview
| Tool | Description |
|---|---|
rybbit_live_users | Current active users count |
rybbit_get_overview | Aggregated metrics (sessions, pageviews, users, bounce rate, duration) |
rybbit_get_overview_timeseries | Metrics as time-series with configurable buckets |
rybbit_get_session_locations | Geographic session data with coordinates for map visualization |
Metrics and dimensions
| Tool | Description |
|---|---|
rybbit_get_metric | Breakdown by dimension (browser, OS, country, page, UTM, etc.) |
rybbit_get_retention | User retention cohort analysis |
Sessions
| Tool | Description |
|---|---|
rybbit_list_sessions | Session list with filtering by IP, identified users, min duration, and pagination |
rybbit_get_session | Full session detail with events and user traits |
Users
| Tool | Description |
|---|---|
rybbit_list_users | Users with search, sort (first/last seen, pageviews, sessions, duration), and identified-only filter |
rybbit_get_user | User detail with traits and activity |
rybbit_get_user_traits | Trait keys, values, or find users by trait |
rybbit_get_user_event_breakdown | Per-user event count breakdown |
Events
| Tool | Description |
|---|---|
rybbit_list_events | Raw event records with filtering |
rybbit_get_event_names | Custom event names and counts |
rybbit_get_event_properties | Property breakdowns per event |
rybbit_get_event_timeseries | Event count trends over time with configurable buckets |
rybbit_get_outbound_links | Outbound link clicks with URLs and counts |
Errors
| Tool | Description |
|---|---|
rybbit_get_errors | Error types/counts, individual instances, or timeseries for a specific error |
Performance (Web Vitals)
| Tool | Description |
|---|---|
rybbit_get_performance | Core Web Vitals (LCP, CLS, INP, FCP, TTFB) with percentiles |
rybbit_get_performance_timeseries | Web Vitals trends over time |
Funnels and goals
| Tool | Description |
|---|---|
rybbit_list_funnels | Saved funnels with step definitions |
rybbit_analyze_funnel | Ad-hoc funnel analysis with custom steps |
rybbit_get_funnel_step_sessions | Sessions that reached or dropped off at a funnel step |
rybbit_list_goals | Goals with conversion metrics |
rybbit_get_goal_sessions | Sessions that completed a specific goal |
Journeys
| Tool | Description |
|---|---|
rybbit_get_journeys | User navigation path analysis |
Common parameters
All analytics tools support these optional parameters:
| Parameter | Type | Description |
|---|---|---|
siteId | string | Site identifier (required) |
startDate | string | Start date YYYY-MM-DD |
endDate | string | End date YYYY-MM-DD |
timeZone | string | IANA timezone (e.g., Europe/Prague) |
filters | array | Filter array [{parameter, type, value[]}] |
pastMinutesStart | number | Minutes ago (alternative to date range) |
Filter parameters
browser, operating_system, language, country, region, city, device_type, referrer, hostname, pathname, page_title, querystring, event_name, channel, utm_source, utm_medium, utm_campaign, utm_term, utm_content, entry_page, exit_page, user_id
Filter types
equals, not_equals, contains, not_contains, regex, not_regex, greater_than, less_than
Time buckets
minute, five_minutes, ten_minutes, fifteen_minutes, hour, day, week, month, year
Related projects
- Rybbit Analytics
- npm package
- @nks-hub/rybbit-ts: TypeScript tracking SDK
- rybbit-flutter-sdk: Flutter/Dart tracking SDK
Development
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run dev
# Type checking
npx tsc --noEmit
Contributing
Contributions are welcome! For major changes, please open an issue first.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: description') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Support
- 📧 Email: dev@nks-hub.cz
- 🐛 Bug reports: GitHub Issues
- 📖 MCP Protocol: modelcontextprotocol.io
License
MIT License — see LICENSE for details.